Move Addresses and Services ro Object

This commit is contained in:
Samuel Lorch 2023-03-26 22:24:19 +02:00
parent 5b6889cbae
commit de5efa2592
7 changed files with 22 additions and 8 deletions

View file

@ -1,4 +1,4 @@
package firewall
package object
import (
"context"
@ -13,8 +13,8 @@ type GetAddressesResult struct {
Addresses map[string]definitions.Address
}
func (f *Firewall) GetAddresses(ctx context.Context, params GetForwardRulesParameters) (GetAddressesResult, error) {
func (f *Object) GetAddresses(ctx context.Context, params GetAddressesParameters) (GetAddressesResult, error) {
return GetAddressesResult{
Addresses: f.Conf.Firewall.Addresses,
Addresses: f.Conf.Object.Addresses,
}, nil
}

View file

@ -0,0 +1,7 @@
package object
import "nfsense.net/nfsense/internal/definitions"
type Object struct {
Conf *definitions.Config
}

View file

@ -1,4 +1,4 @@
package firewall
package object
import (
"context"
@ -13,8 +13,8 @@ type GetServicesResult struct {
Services map[string]definitions.Service
}
func (f *Firewall) GetServices(ctx context.Context, params GetForwardRulesParameters) (GetServicesResult, error) {
func (f *Object) GetServices(ctx context.Context, params GetServicesParameters) (GetServicesResult, error) {
return GetServicesResult{
Services: f.Conf.Firewall.Services,
Services: f.Conf.Object.Services,
}, nil
}

View file

@ -10,6 +10,7 @@ import (
type Config struct {
ConfigVersion uint64 `json:"config_version" validate:"required,eq=1"`
Firewall Firewall `json:"firewall" validate:"required,dive"`
Object Object `json:"object" validate:"required,dive"`
}
func ValidateConfig(conf *Config) error {

View file

@ -4,6 +4,4 @@ type Firewall struct {
ForwardRules []ForwardRule `json:"forward_rules" validate:"required,dive"`
DestinationNATRules []DestinationNATRule `json:"destination_nat_rules" validate:"required,dive"`
SourceNATRules []SourceNATRule `json:"source_nat_rules" validate:"required,dive"`
Addresses map[string]Address `json:"addresses" validate:"required,dive"`
Services map[string]Service `json:"services" validate:"required,dive"`
}

View file

@ -0,0 +1,6 @@
package definitions
type Object struct {
Addresses map[string]Address `json:"addresses" validate:"required,dive"`
Services map[string]Service `json:"services" validate:"required,dive"`
}

View file

@ -12,6 +12,7 @@ import (
"golang.org/x/exp/slog"
"nfsense.net/nfsense/internal/api/firewall"
"nfsense.net/nfsense/internal/api/object"
"nfsense.net/nfsense/internal/definitions"
"nfsense.net/nfsense/internal/jsonrpc"
"nfsense.net/nfsense/internal/nftables"
@ -93,6 +94,7 @@ func LoadConfiguration(file string) (*definitions.Config, error) {
func RegisterAPIMethods(apiHandler *jsonrpc.Handler, conf *definitions.Config) {
apiHandler.Register("Firewall", &firewall.Firewall{Conf: conf})
apiHandler.Register("Object", &object.Object{Conf: conf})
}
func apply(conf *definitions.Config) error {