diff --git a/api/firewall/destination_nat_rules.go b/api/firewall/destination_nat_rules.go new file mode 100644 index 0000000..7575aec --- /dev/null +++ b/api/firewall/destination_nat_rules.go @@ -0,0 +1,20 @@ +package firewall + +import ( + "context" + + "nfsense.net/nfsense/pkg/definitions" +) + +type GetDestinationNATRulesParameters struct { +} + +type GetDestinationNATRulesResult struct { + DestinationNATRules []definitions.DestinationNATRule +} + +func (f *Firewall) GetDestinationNATRules(ctx context.Context, params GetForwardRulesParameters) (GetDestinationNATRulesResult, error) { + return GetDestinationNATRulesResult{ + DestinationNATRules: f.Conf.Firewall.DestinationNATRules, + }, nil +} diff --git a/api/firewall/firewall.go b/api/firewall/firewall.go new file mode 100644 index 0000000..2ec9904 --- /dev/null +++ b/api/firewall/firewall.go @@ -0,0 +1,9 @@ +package firewall + +import ( + "nfsense.net/nfsense/pkg/definitions" +) + +type Firewall struct { + Conf *definitions.Config +} diff --git a/api/firewall/forward_rules.go b/api/firewall/forward_rules.go new file mode 100644 index 0000000..525261d --- /dev/null +++ b/api/firewall/forward_rules.go @@ -0,0 +1,20 @@ +package firewall + +import ( + "context" + + "nfsense.net/nfsense/pkg/definitions" +) + +type GetForwardRulesParameters struct { +} + +type GetForwardRulesResult struct { + ForwardRules []definitions.ForwardRule +} + +func (f *Firewall) GetForwardRules(ctx context.Context, params GetForwardRulesParameters) (GetForwardRulesResult, error) { + return GetForwardRulesResult{ + ForwardRules: f.Conf.Firewall.ForwardRules, + }, nil +} diff --git a/api/firewall/source_nat_rules.go b/api/firewall/source_nat_rules.go new file mode 100644 index 0000000..becd459 --- /dev/null +++ b/api/firewall/source_nat_rules.go @@ -0,0 +1,20 @@ +package firewall + +import ( + "context" + + "nfsense.net/nfsense/pkg/definitions" +) + +type GetSourceNATRulesParameters struct { +} + +type GetSourceNATRulesResult struct { + SourceNATRules []definitions.SourceNATRule +} + +func (f *Firewall) GetSourceNATRules(ctx context.Context, params GetForwardRulesParameters) (GetSourceNATRulesResult, error) { + return GetSourceNATRulesResult{ + SourceNATRules: f.Conf.Firewall.SourceNATRules, + }, nil +} diff --git a/cmd/api.go b/cmd/api.go index 4313db3..74acd5c 100644 --- a/cmd/api.go +++ b/cmd/api.go @@ -1,10 +1,11 @@ package main import ( + "nfsense.net/nfsense/api/firewall" "nfsense.net/nfsense/pkg/definitions" "nfsense.net/nfsense/pkg/jsonrpc" ) func RegisterAPIMethods(apiHandler *jsonrpc.Handler, conf *definitions.Config) { - + apiHandler.Register("Firewall", &firewall.Firewall{Conf: conf}) }