diff --git a/modules/subsystems/module.go b/modules/subsystems/module.go index 1308929..b7e4a61 100644 --- a/modules/subsystems/module.go +++ b/modules/subsystems/module.go @@ -61,7 +61,7 @@ func start() error { } for _, sub := range subsystems { // add main module - sub.Dependencies = append(sub.Dependencies, statusFromModule(sub.module)) + sub.Modules = append(sub.Modules, statusFromModule(sub.module)) // add dependencies sub.addDependencies(sub.module, seen) } @@ -80,7 +80,7 @@ func (sub *Subsystem) addDependencies(module *modules.Module, seen map[string]st _, ok := seen[module.Name] if !ok { // add dependency to modules - sub.Dependencies = append(sub.Dependencies, statusFromModule(module)) + sub.Modules = append(sub.Modules, statusFromModule(module)) // mark as seen seen[module.Name] = struct{}{} // add further dependencies diff --git a/modules/subsystems/subsystem.go b/modules/subsystems/subsystem.go index 8cf2b6f..1a8bec4 100644 --- a/modules/subsystems/subsystem.go +++ b/modules/subsystems/subsystem.go @@ -19,9 +19,8 @@ type Subsystem struct { //nolint:maligned // not worth the effort Description string module *modules.Module - Status *ModuleStatus - Dependencies []*ModuleStatus - FailureStatus uint8 + Modules []*ModuleStatus + FailureStatus uint8 // summary: worst status ToggleOptionKey string toggleOption *config.Option @@ -103,10 +102,7 @@ func compareAndUpdateStatus(module *modules.Module, status *ModuleStatus) (chang func (sub *Subsystem) makeSummary() { // find worst failing module worstFailing := &ModuleStatus{} - if sub.Status.FailureStatus > worstFailing.FailureStatus { - worstFailing = sub.Status - } - for _, depStatus := range sub.Dependencies { + for _, depStatus := range sub.Modules { if depStatus.FailureStatus > worstFailing.FailureStatus { worstFailing = depStatus } diff --git a/modules/subsystems/subsystems.go b/modules/subsystems/subsystems.go index b2ebdc4..1726a53 100644 --- a/modules/subsystems/subsystems.go +++ b/modules/subsystems/subsystems.go @@ -40,13 +40,10 @@ func Register(id, name, description string, module *modules.Module, configKeySpa // create new new := &Subsystem{ - ID: id, - Name: name, - Description: description, - module: module, - - Status: statusFromModule(module), - + ID: id, + Name: name, + Description: description, + module: module, toggleOption: option, ConfigKeySpace: configKeySpace, } @@ -89,12 +86,7 @@ func handleModuleChanges(m *modules.Module) { var moduleStatus *ModuleStatus subsystemLoop: for _, subsystem := range subsystems { - if m.Name == subsystem.Status.Name { - moduleSubsystem = subsystem - moduleStatus = subsystem.Status - break subsystemLoop - } - for _, status := range subsystem.Dependencies { + for _, status := range subsystem.Modules { if m.Name == status.Name { moduleSubsystem = subsystem moduleStatus = status