Add Address and Service Create, Delete and Update

This commit is contained in:
Samuel Lorch 2023-04-01 01:51:12 +02:00
parent 75b7da6d01
commit 161949395a
2 changed files with 90 additions and 0 deletions

View file

@ -2,6 +2,7 @@ package object
import (
"context"
"fmt"
"nfsense.net/nfsense/internal/definitions"
)
@ -15,3 +16,47 @@ func (f *Object) GetAddresses(ctx context.Context, params struct{}) (GetAddresse
Addresses: f.Conf.Object.Addresses,
}, nil
}
type CreateAddressParameters struct {
Name string
Address definitions.Address
}
func (f *Object) CreateAddress(ctx context.Context, params CreateAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
if ok {
return struct{}{}, fmt.Errorf("Address already Exists")
}
f.Conf.Object.Addresses[params.Name] = params.Address
return struct{}{}, nil
}
type UpdateAddressParameters struct {
Name string
Address definitions.Address
}
func (f *Object) UpdateAddress(ctx context.Context, params CreateAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Address does not Exist")
}
f.Conf.Object.Addresses[params.Name] = params.Address
return struct{}{}, nil
}
type DeleteAddressParameters struct {
Name string
}
func (f *Object) DeleteAddress(ctx context.Context, params DeleteAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Interface does not Exist")
}
delete(f.Conf.Object.Addresses, params.Name)
return struct{}{}, nil
}

View file

@ -2,6 +2,7 @@ package object
import (
"context"
"fmt"
"nfsense.net/nfsense/internal/definitions"
)
@ -15,3 +16,47 @@ func (f *Object) GetServices(ctx context.Context, params struct{}) (GetServicesR
Services: f.Conf.Object.Services,
}, nil
}
type CreateServiceParameters struct {
Name string
Service definitions.Service
}
func (f *Object) CreateService(ctx context.Context, params CreateServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
if ok {
return struct{}{}, fmt.Errorf("Service already Exists")
}
f.Conf.Object.Services[params.Name] = params.Service
return struct{}{}, nil
}
type UpdateServiceParameters struct {
Name string
Service definitions.Service
}
func (f *Object) UpdateService(ctx context.Context, params CreateServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Service does not Exist")
}
f.Conf.Object.Services[params.Name] = params.Service
return struct{}{}, nil
}
type DeleteServiceParameters struct {
Name string
}
func (f *Object) DeleteService(ctx context.Context, params DeleteServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Interface does not Exist")
}
delete(f.Conf.Object.Services, params.Name)
return struct{}{}, nil
}