Use Config Manager

This commit is contained in:
Samuel Lorch 2023-04-01 18:17:48 +02:00
parent 081aeec142
commit 70d69f04cf
11 changed files with 55 additions and 104 deletions

View file

@ -13,7 +13,7 @@ type GetAddressesResult struct {
func (f *Object) GetAddresses(ctx context.Context, params struct{}) (GetAddressesResult, error) {
return GetAddressesResult{
Addresses: f.Conf.Object.Addresses,
Addresses: f.ConfigManager.GetPendingConfig().Object.Addresses,
}, nil
}
@ -23,12 +23,12 @@ type CreateAddressParameters struct {
}
func (f *Object) CreateAddress(ctx context.Context, params CreateAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Addresses[params.Name]
if ok {
return struct{}{}, fmt.Errorf("Address already Exists")
}
f.Conf.Object.Addresses[params.Name] = params.Address
f.ConfigManager.GetPendingConfig().Object.Addresses[params.Name] = params.Address
return struct{}{}, nil
}
@ -38,12 +38,12 @@ type UpdateAddressParameters struct {
}
func (f *Object) UpdateAddress(ctx context.Context, params CreateAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Addresses[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Address does not Exist")
}
f.Conf.Object.Addresses[params.Name] = params.Address
f.ConfigManager.GetPendingConfig().Object.Addresses[params.Name] = params.Address
return struct{}{}, nil
}
@ -52,11 +52,11 @@ type DeleteAddressParameters struct {
}
func (f *Object) DeleteAddress(ctx context.Context, params DeleteAddressParameters) (struct{}, error) {
_, ok := f.Conf.Object.Addresses[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Addresses[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Interface does not Exist")
}
delete(f.Conf.Object.Addresses, params.Name)
delete(f.ConfigManager.GetPendingConfig().Object.Addresses, params.Name)
return struct{}{}, nil
}

View file

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

View file

@ -13,7 +13,7 @@ type GetServicesResult struct {
func (f *Object) GetServices(ctx context.Context, params struct{}) (GetServicesResult, error) {
return GetServicesResult{
Services: f.Conf.Object.Services,
Services: f.ConfigManager.GetPendingConfig().Object.Services,
}, nil
}
@ -23,12 +23,12 @@ type CreateServiceParameters struct {
}
func (f *Object) CreateService(ctx context.Context, params CreateServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Services[params.Name]
if ok {
return struct{}{}, fmt.Errorf("Service already Exists")
}
f.Conf.Object.Services[params.Name] = params.Service
f.ConfigManager.GetPendingConfig().Object.Services[params.Name] = params.Service
return struct{}{}, nil
}
@ -38,12 +38,12 @@ type UpdateServiceParameters struct {
}
func (f *Object) UpdateService(ctx context.Context, params CreateServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Services[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Service does not Exist")
}
f.Conf.Object.Services[params.Name] = params.Service
f.ConfigManager.GetPendingConfig().Object.Services[params.Name] = params.Service
return struct{}{}, nil
}
@ -52,11 +52,11 @@ type DeleteServiceParameters struct {
}
func (f *Object) DeleteService(ctx context.Context, params DeleteServiceParameters) (struct{}, error) {
_, ok := f.Conf.Object.Services[params.Name]
_, ok := f.ConfigManager.GetPendingConfig().Object.Services[params.Name]
if !ok {
return struct{}{}, fmt.Errorf("Interface does not Exist")
}
delete(f.Conf.Object.Services, params.Name)
delete(f.ConfigManager.GetPendingConfig().Object.Services, params.Name)
return struct{}{}, nil
}