diff --git a/backend/api/api.go b/backend/api/api.go index 992139e..d44831d 100644 --- a/backend/api/api.go +++ b/backend/api/api.go @@ -144,7 +144,7 @@ func (a *APIHandler) getHandler(c *gin.Context) { return } jsonObj(c, *users, nil) - case "setting": + case "settings": data, err := a.SettingService.GetAllSetting() if err != nil { jsonMsg(c, "", err) @@ -298,6 +298,12 @@ func (a *APIHandler) loadPartialData(c *gin.Context, objs []string) error { return err } data[obj] = json.RawMessage(config) + case "settings": + settings, err := a.SettingService.GetAllSetting() + if err != nil { + return err + } + data[obj] = settings } } diff --git a/backend/service/config.go b/backend/service/config.go index e9f6fbc..0234c6b 100644 --- a/backend/service/config.go +++ b/backend/service/config.go @@ -148,6 +148,8 @@ func (s *ConfigService) Save(obj string, act string, data json.RawMessage, login return nil, err } err = s.restartCoreWithConfig(data) + case "settings": + err = s.SettingService.Save(tx, data) default: return nil, common.NewError("unknown object: ", obj) } diff --git a/backend/service/setting.go b/backend/service/setting.go index 3ca4f0d..3a35533 100644 --- a/backend/service/setting.go +++ b/backend/service/setting.go @@ -351,13 +351,14 @@ func (s *SettingService) SaveConfig(tx *gorm.DB, config json.RawMessage) error { return tx.Model(model.Setting{}).Where("key = ?", "config").Update("value", string(configs)).Error } -func (s *SettingService) Save(tx *gorm.DB, changes []model.Changes) error { +func (s *SettingService) Save(tx *gorm.DB, data json.RawMessage) error { var err error - for _, change := range changes { - key := change.Key - var obj string - json.Unmarshal(change.Obj, &obj) - + var settings map[string]string + err = json.Unmarshal(data, &settings) + if err != nil { + return err + } + for key, obj := range settings { // Secure file existance check if obj != "" && (key == "webCertFile" || key == "webKeyFile" || diff --git a/frontend/src/views/Settings.vue b/frontend/src/views/Settings.vue index bafdf96..3e1443c 100644 --- a/frontend/src/views/Settings.vue +++ b/frontend/src/views/Settings.vue @@ -14,7 +14,7 @@ - + {{ $t('actions.save') }} @@ -152,11 +152,12 @@