mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 19:08:20 +00:00
Add Rule Get API Methods, fix Create and Update
This commit is contained in:
parent
139e385852
commit
4ab4ab37d5
3 changed files with 63 additions and 9 deletions
|
@ -7,6 +7,24 @@ import (
|
||||||
"nfsense.net/nfsense/internal/definitions/firewall"
|
"nfsense.net/nfsense/internal/definitions/firewall"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type GetDestinationNATRuleParameters struct {
|
||||||
|
ID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetDestinationNATRuleResult struct {
|
||||||
|
firewall.DestinationNATRule
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *Firewall) GetDestinationNATRule(ctx context.Context, params GetDestinationNATRuleParameters) (GetDestinationNATRuleResult, error) {
|
||||||
|
if int(params.ID) >= len(f.ConfigManager.GetPendingConfig().Firewall.DestinationNATRules) {
|
||||||
|
return GetDestinationNATRuleResult{}, fmt.Errorf("DestinationNATRule does not Exist")
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetDestinationNATRuleResult{
|
||||||
|
DestinationNATRule: f.ConfigManager.GetPendingConfig().Firewall.DestinationNATRules[params.ID],
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
type GetDestinationNATRulesResult struct {
|
type GetDestinationNATRulesResult struct {
|
||||||
DestinationNATRules []firewall.DestinationNATRule `json:"destination_nat_rules"`
|
DestinationNATRules []firewall.DestinationNATRule `json:"destination_nat_rules"`
|
||||||
}
|
}
|
||||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetDestinationNATRules(ctx context.Context, params struct{})
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateDestinationNATRuleParameters struct {
|
type CreateDestinationNATRuleParameters struct {
|
||||||
DestinationNATRule firewall.DestinationNATRule `json:"destination_nat_rule"`
|
firewall.DestinationNATRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) CreateDestinationNATRule(ctx context.Context, params CreateDestinationNATRuleParameters) (struct{}, error) {
|
func (f *Firewall) CreateDestinationNATRule(ctx context.Context, params CreateDestinationNATRuleParameters) (struct{}, error) {
|
||||||
|
@ -30,8 +48,8 @@ func (f *Firewall) CreateDestinationNATRule(ctx context.Context, params CreateDe
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateDestinationNATRuleParameters struct {
|
type UpdateDestinationNATRuleParameters struct {
|
||||||
Index uint64 `json:"index"`
|
Index uint64 `json:"index"`
|
||||||
DestinationNATRule firewall.DestinationNATRule `json:"destination_nat_rule"`
|
firewall.DestinationNATRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) UpdateDestinationNATRule(ctx context.Context, params UpdateDestinationNATRuleParameters) (struct{}, error) {
|
func (f *Firewall) UpdateDestinationNATRule(ctx context.Context, params UpdateDestinationNATRuleParameters) (struct{}, error) {
|
||||||
|
|
|
@ -7,6 +7,24 @@ import (
|
||||||
"nfsense.net/nfsense/internal/definitions/firewall"
|
"nfsense.net/nfsense/internal/definitions/firewall"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type GetForwardRuleParameters struct {
|
||||||
|
ID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetForwardRuleResult struct {
|
||||||
|
firewall.ForwardRule
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *Firewall) GetForwardRule(ctx context.Context, params GetForwardRuleParameters) (GetForwardRuleResult, error) {
|
||||||
|
if int(params.ID) >= len(f.ConfigManager.GetPendingConfig().Firewall.ForwardRules) {
|
||||||
|
return GetForwardRuleResult{}, fmt.Errorf("ForwardRule does not Exist")
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetForwardRuleResult{
|
||||||
|
ForwardRule: f.ConfigManager.GetPendingConfig().Firewall.ForwardRules[params.ID],
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
type GetForwardRulesResult struct {
|
type GetForwardRulesResult struct {
|
||||||
ForwardRules []firewall.ForwardRule `json:"forward_rules"`
|
ForwardRules []firewall.ForwardRule `json:"forward_rules"`
|
||||||
}
|
}
|
||||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetForwardRules(ctx context.Context, params struct{}) (GetFor
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateForwardRuleParameters struct {
|
type CreateForwardRuleParameters struct {
|
||||||
ForwardRule firewall.ForwardRule `json:"forward_rule"`
|
firewall.ForwardRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) CreateForwardRule(ctx context.Context, params CreateForwardRuleParameters) (struct{}, error) {
|
func (f *Firewall) CreateForwardRule(ctx context.Context, params CreateForwardRuleParameters) (struct{}, error) {
|
||||||
|
@ -30,8 +48,8 @@ func (f *Firewall) CreateForwardRule(ctx context.Context, params CreateForwardRu
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateForwardRuleParameters struct {
|
type UpdateForwardRuleParameters struct {
|
||||||
Index uint64 `json:"index"`
|
Index uint64 `json:"index"`
|
||||||
ForwardRule firewall.ForwardRule `json:"forward_rule"`
|
firewall.ForwardRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) UpdateForwardRule(ctx context.Context, params UpdateForwardRuleParameters) (struct{}, error) {
|
func (f *Firewall) UpdateForwardRule(ctx context.Context, params UpdateForwardRuleParameters) (struct{}, error) {
|
||||||
|
|
|
@ -7,6 +7,24 @@ import (
|
||||||
"nfsense.net/nfsense/internal/definitions/firewall"
|
"nfsense.net/nfsense/internal/definitions/firewall"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type GetSourceNATRuleParameters struct {
|
||||||
|
ID uint
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetSourceNATRuleResult struct {
|
||||||
|
firewall.SourceNATRule
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *Firewall) GetSourceNATRule(ctx context.Context, params GetSourceNATRuleParameters) (GetSourceNATRuleResult, error) {
|
||||||
|
if int(params.ID) >= len(f.ConfigManager.GetPendingConfig().Firewall.SourceNATRules) {
|
||||||
|
return GetSourceNATRuleResult{}, fmt.Errorf("SourceNATRule does not Exist")
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetSourceNATRuleResult{
|
||||||
|
SourceNATRule: f.ConfigManager.GetPendingConfig().Firewall.SourceNATRules[params.ID],
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
type GetSourceNATRulesResult struct {
|
type GetSourceNATRulesResult struct {
|
||||||
SourceNATRules []firewall.SourceNATRule `json:"source_nat_rules"`
|
SourceNATRules []firewall.SourceNATRule `json:"source_nat_rules"`
|
||||||
}
|
}
|
||||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetSourceNATRules(ctx context.Context, params struct{}) (GetS
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateSourceNATRuleParameters struct {
|
type CreateSourceNATRuleParameters struct {
|
||||||
SourceNATRule firewall.SourceNATRule `json:"source_nat_rule"`
|
firewall.SourceNATRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) CreateSourceNATRule(ctx context.Context, params CreateSourceNATRuleParameters) (struct{}, error) {
|
func (f *Firewall) CreateSourceNATRule(ctx context.Context, params CreateSourceNATRuleParameters) (struct{}, error) {
|
||||||
|
@ -30,8 +48,8 @@ func (f *Firewall) CreateSourceNATRule(ctx context.Context, params CreateSourceN
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateSourceNATRuleParameters struct {
|
type UpdateSourceNATRuleParameters struct {
|
||||||
Index uint64 `json:"index"`
|
Index uint64 `json:"index"`
|
||||||
SourceNATRule firewall.SourceNATRule `json:"source_nat_rule"`
|
firewall.SourceNATRule
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Firewall) UpdateSourceNATRule(ctx context.Context, params UpdateSourceNATRuleParameters) (struct{}, error) {
|
func (f *Firewall) UpdateSourceNATRule(ctx context.Context, params UpdateSourceNATRuleParameters) (struct{}, error) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue