ConfigManager Apply add current config argument

This commit is contained in:
Samuel Lorch 2023-04-07 21:53:51 +02:00
parent 0aa827b682
commit 595d1021b3
2 changed files with 4 additions and 4 deletions

View file

@ -13,7 +13,7 @@ import (
func (m *ConfigManager) ApplyPendingChanges() error { func (m *ConfigManager) ApplyPendingChanges() error {
slog.Info("Applying Pending Changes...") slog.Info("Applying Pending Changes...")
for _, fn := range m.applyFunctions { for _, fn := range m.applyFunctions {
err := fn(*m.pendingConfig) err := fn(*m.currentConfig, *m.pendingConfig)
if err != nil { if err != nil {
slog.Error("Applying Pending Changes", err) slog.Error("Applying Pending Changes", err)
err2 := revertToCurrent(m) err2 := revertToCurrent(m)
@ -39,7 +39,7 @@ func (m *ConfigManager) ApplyPendingChanges() error {
func revertToCurrent(m *ConfigManager) error { func revertToCurrent(m *ConfigManager) error {
for _, fn := range m.applyFunctions { for _, fn := range m.applyFunctions {
err := fn(*m.currentConfig) err := fn(*m.pendingConfig, *m.currentConfig)
if err != nil { if err != nil {
return err return err
} }
@ -47,6 +47,6 @@ func revertToCurrent(m *ConfigManager) error {
return nil return nil
} }
func (m *ConfigManager) RegisterApplyFunction(fn func(definitions.Config) error) { func (m *ConfigManager) RegisterApplyFunction(fn func(currentConfig definitions.Config, pendingConfig definitions.Config) error) {
m.applyFunctions = append(m.applyFunctions, fn) m.applyFunctions = append(m.applyFunctions, fn)
} }

View file

@ -15,7 +15,7 @@ type ConfigManager struct {
transactionMutex sync.Mutex transactionMutex sync.Mutex
applyFunctions []func(definitions.Config) error applyFunctions []func(currentConfig definitions.Config, pendingConfig definitions.Config) error
} }
func CreateConfigManager() *ConfigManager { func CreateConfigManager() *ConfigManager {