优化结构
This commit is contained in:
@@ -48,8 +48,7 @@ func (d *Data) persistConfigValues(dataConfig *config.Data, adminConfig *config.
|
||||
if err = document.Set("admin", fileAdmin); err != nil {
|
||||
return err
|
||||
}
|
||||
document.Delete("admin", "storage")
|
||||
document.Delete("admin", "email")
|
||||
document.DeleteIntegrationConfig()
|
||||
if adminConfig.System != nil {
|
||||
if err = document.SetServerHTTPPort(adminConfig.System.Addr); err != nil {
|
||||
return err
|
||||
@@ -100,8 +99,7 @@ func (d *Data) persistDatabaseConfig(database *config.Database, signingKey strin
|
||||
return err
|
||||
}
|
||||
}
|
||||
document.Delete("admin", "storage")
|
||||
document.Delete("admin", "email")
|
||||
document.DeleteIntegrationConfig()
|
||||
return document.Save()
|
||||
}
|
||||
|
||||
@@ -119,8 +117,7 @@ func (d *Data) removeIntegrationConfigFromFile() error {
|
||||
if !document.Has("admin", "storage") && !document.Has("admin", "email") {
|
||||
return nil
|
||||
}
|
||||
document.Delete("admin", "storage")
|
||||
document.Delete("admin", "email")
|
||||
document.DeleteIntegrationConfig()
|
||||
return document.Save()
|
||||
}
|
||||
|
||||
@@ -135,6 +132,7 @@ func (d *Data) reloadConfig(ctx context.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
next = config.MergeRuntimeConfig(d.Config(), next)
|
||||
if next.Data == nil || next.Data.Database == nil || next.Admin == nil {
|
||||
return fmt.Errorf("data.database and admin configuration are required")
|
||||
}
|
||||
@@ -170,23 +168,12 @@ func (d *Data) reloadConfig(ctx context.Context) error {
|
||||
return fmt.Errorf("reload database migrations: %w", err)
|
||||
}
|
||||
}
|
||||
legacyStorage := next.Admin.Storage
|
||||
legacyEmail := next.Admin.Email
|
||||
currentAdmin := d.runtime.Admin()
|
||||
if legacyStorage == nil {
|
||||
if currentAdmin != nil {
|
||||
legacyStorage = currentAdmin.Storage
|
||||
}
|
||||
}
|
||||
if legacyEmail == nil && currentAdmin != nil {
|
||||
legacyEmail = currentAdmin.Email
|
||||
}
|
||||
storageConfig, err := dataintegration.ResolveStorageConfig(candidateDB.WithContext(ctx), legacyStorage)
|
||||
storageConfig, err := dataintegration.ResolveStorageConfig(candidateDB.WithContext(ctx), next.Admin.Storage)
|
||||
if err != nil {
|
||||
return fmt.Errorf("reload storage configuration: %w", err)
|
||||
}
|
||||
next.Admin.Storage = storageConfig
|
||||
emailConfig, err := dataintegration.ResolveEmailConfig(candidateDB.WithContext(ctx), legacyEmail)
|
||||
emailConfig, err := dataintegration.ResolveEmailConfig(candidateDB.WithContext(ctx), next.Admin.Email)
|
||||
if err != nil {
|
||||
return fmt.Errorf("reload email configuration: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user