diff --git a/app/boot_levels.go b/app/boot_levels.go index d31f9edb7..f4cd50683 100644 --- a/app/boot_levels.go +++ b/app/boot_levels.go @@ -474,6 +474,7 @@ func (app *CortezaApp) Activate(ctx context.Context) (err error) { return fmt.Errorf("failed to init auth service: %w", err) } + updateFederationSettings(app.Opt.Federation, sysService.CurrentSettings) updateAuthSettings(app.AuthService, sysService.CurrentSettings) sysService.DefaultSettings.Register("auth.", func(ctx context.Context, current interface{}, set types.SettingValueSet) { appSettings, is := current.(*types.AppSettings) @@ -577,3 +578,8 @@ func updateAuthSettings(svc authServicer, current *types.AppSettings) { svc.UpdateSettings(as) } + +// Checks if federation is enabled in the options +func updateFederationSettings(opt options.FederationOpt, current *types.AppSettings) { + current.Federation.Enabled = opt.Enabled +} diff --git a/system/types/app_settings.go b/system/types/app_settings.go index 986f84193..132f1fe87 100644 --- a/system/types/app_settings.go +++ b/system/types/app_settings.go @@ -161,6 +161,13 @@ type ( } } `kv:"compose" json:"compose"` + // Federation settings + Federation struct { + // This only holds the value of FEDERATION_ENABLED for now + // + Enabled bool `kv:"-" json:"enabled"` + } `kv:"federation" json:"federation"` + // UserInterface settings UI struct { MainLogo string `kv:"main-logo" json:"mainLogo"`