mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 02:48:21 +00:00
Add Address and Service Create, Delete and Update
This commit is contained in:
parent
75b7da6d01
commit
161949395a
2 changed files with 90 additions and 0 deletions
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue