mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +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"
|
||||
)
|
||||
|
||||
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 {
|
||||
DestinationNATRules []firewall.DestinationNATRule `json:"destination_nat_rules"`
|
||||
}
|
||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetDestinationNATRules(ctx context.Context, params struct{})
|
|||
}
|
||||
|
||||
type CreateDestinationNATRuleParameters struct {
|
||||
DestinationNATRule firewall.DestinationNATRule `json:"destination_nat_rule"`
|
||||
firewall.DestinationNATRule
|
||||
}
|
||||
|
||||
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 {
|
||||
Index uint64 `json:"index"`
|
||||
DestinationNATRule firewall.DestinationNATRule `json:"destination_nat_rule"`
|
||||
Index uint64 `json:"index"`
|
||||
firewall.DestinationNATRule
|
||||
}
|
||||
|
||||
func (f *Firewall) UpdateDestinationNATRule(ctx context.Context, params UpdateDestinationNATRuleParameters) (struct{}, error) {
|
||||
|
|
|
@ -7,6 +7,24 @@ import (
|
|||
"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 {
|
||||
ForwardRules []firewall.ForwardRule `json:"forward_rules"`
|
||||
}
|
||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetForwardRules(ctx context.Context, params struct{}) (GetFor
|
|||
}
|
||||
|
||||
type CreateForwardRuleParameters struct {
|
||||
ForwardRule firewall.ForwardRule `json:"forward_rule"`
|
||||
firewall.ForwardRule
|
||||
}
|
||||
|
||||
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 {
|
||||
Index uint64 `json:"index"`
|
||||
ForwardRule firewall.ForwardRule `json:"forward_rule"`
|
||||
Index uint64 `json:"index"`
|
||||
firewall.ForwardRule
|
||||
}
|
||||
|
||||
func (f *Firewall) UpdateForwardRule(ctx context.Context, params UpdateForwardRuleParameters) (struct{}, error) {
|
||||
|
|
|
@ -7,6 +7,24 @@ import (
|
|||
"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 {
|
||||
SourceNATRules []firewall.SourceNATRule `json:"source_nat_rules"`
|
||||
}
|
||||
|
@ -18,7 +36,7 @@ func (f *Firewall) GetSourceNATRules(ctx context.Context, params struct{}) (GetS
|
|||
}
|
||||
|
||||
type CreateSourceNATRuleParameters struct {
|
||||
SourceNATRule firewall.SourceNATRule `json:"source_nat_rule"`
|
||||
firewall.SourceNATRule
|
||||
}
|
||||
|
||||
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 {
|
||||
Index uint64 `json:"index"`
|
||||
SourceNATRule firewall.SourceNATRule `json:"source_nat_rule"`
|
||||
Index uint64 `json:"index"`
|
||||
firewall.SourceNATRule
|
||||
}
|
||||
|
||||
func (f *Firewall) UpdateSourceNATRule(ctx context.Context, params UpdateSourceNATRuleParameters) (struct{}, error) {
|
||||
|
|
Loading…
Add table
Reference in a new issue