[MM-38082] Add local-mode handler for config reload endpoint (#18252)

* Add local-mode handler for config reload endpoint

* Remove redundant method
Этот коммит содержится в:
Claudio Costa
2021-08-25 20:29:41 +02:00
коммит произвёл GitHub
родитель 3048f5d435
Коммит ddfa6e2436
4 изменённых файлов: 13 добавлений и 5 удалений

Просмотреть файл

@@ -86,12 +86,15 @@ func configReload(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if *c.App.Config().ExperimentalSettings.RestrictSystemAdmin {
if !c.AppContext.Session().IsUnrestricted() && *c.App.Config().ExperimentalSettings.RestrictSystemAdmin {
c.Err = model.NewAppError("configReload", "api.restricted_system_admin", nil, "", http.StatusBadRequest)
return
}
c.App.ReloadConfig()
if err := c.App.ReloadConfig(); err != nil {
c.Err = model.NewAppError("configReload", "api.config.reload_config.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
auditRec.Success()

Просмотреть файл

@@ -19,6 +19,7 @@ func (api *API) InitConfigLocal() {
api.BaseRoutes.APIRoot.Handle("/config", api.APILocal(localGetConfig)).Methods("GET")
api.BaseRoutes.APIRoot.Handle("/config", api.APILocal(localUpdateConfig)).Methods("PUT")
api.BaseRoutes.APIRoot.Handle("/config/patch", api.APILocal(localPatchConfig)).Methods("PUT")
api.BaseRoutes.APIRoot.Handle("/config/reload", api.APILocal(configReload)).Methods("POST")
api.BaseRoutes.APIRoot.Handle("/config/migrate", api.APILocal(migrateConfig)).Methods("POST")
}

Просмотреть файл

@@ -126,10 +126,10 @@ func TestReloadConfig(t *testing.T) {
CheckForbiddenStatus(t, resp)
})
t.Run("as system admin", func(t *testing.T) {
_, err := th.SystemAdminClient.ReloadConfig()
th.TestForSystemAdminAndLocal(t, func(t *testing.T, client *model.Client4) {
_, err := client.ReloadConfig()
require.NoError(t, err)
})
}, "as system admin and local mode")
t.Run("as restricted system admin", func(t *testing.T) {
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ExperimentalSettings.RestrictSystemAdmin = true })

Просмотреть файл

@@ -1462,6 +1462,10 @@
"id": "api.config.patch_config.restricted_merge.app_error",
"translation": "Failed to merge given config."
},
{
"id": "api.config.reload_config.app_error",
"translation": "Failed to reload config."
},
{
"id": "api.config.update_config.clear_siteurl.app_error",
"translation": "Site URL cannot be cleared."