diff options
author | Chris <ccbrown112@gmail.com> | 2017-10-31 09:39:31 -0500 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-10-31 10:39:31 -0400 |
commit | ce2b2be5de578bd9eb44b26e04db75ca61d67ca5 (patch) | |
tree | 54203a18ecfb167dcf1d7e0742cea0ed9aab220a /app/plugins.go | |
parent | b446d0aa0aa2bd3d87028b0543752eb539507481 (diff) | |
download | chat-ce2b2be5de578bd9eb44b26e04db75ca61d67ca5.tar.gz chat-ce2b2be5de578bd9eb44b26e04db75ca61d67ca5.tar.bz2 chat-ce2b2be5de578bd9eb44b26e04db75ca61d67ca5.zip |
Refactoring cfg refs and load / save functions (#7749)
* refactoring cfg refs and load / save functions
* improve error output
Diffstat (limited to 'app/plugins.go')
-rw-r--r-- | app/plugins.go | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/app/plugins.go b/app/plugins.go index c2f3c4785..c2e15b385 100644 --- a/app/plugins.go +++ b/app/plugins.go @@ -471,10 +471,11 @@ func (a *App) EnablePlugin(id string) *model.AppError { return model.NewAppError("EnablePlugin", "app.plugin.not_installed.app_error", nil, "", http.StatusBadRequest) } - cfg := a.Config() - cfg.PluginSettings.PluginStates[id] = &model.PluginState{Enable: true} + a.UpdateConfig(func(cfg *model.Config) { + cfg.PluginSettings.PluginStates[id] = &model.PluginState{Enable: true} + }) - if err := a.SaveConfig(cfg, true); err != nil { + if err := a.SaveConfig(a.Config(), true); err != nil { return model.NewAppError("EnablePlugin", "app.plugin.config.app_error", nil, err.Error(), http.StatusInternalServerError) } @@ -504,10 +505,11 @@ func (a *App) DisablePlugin(id string) *model.AppError { return model.NewAppError("DisablePlugin", "app.plugin.not_installed.app_error", nil, "", http.StatusBadRequest) } - cfg := a.Config() - cfg.PluginSettings.PluginStates[id] = &model.PluginState{Enable: false} + a.UpdateConfig(func(cfg *model.Config) { + cfg.PluginSettings.PluginStates[id] = &model.PluginState{Enable: false} + }) - if err := a.SaveConfig(cfg, true); err != nil { + if err := a.SaveConfig(a.Config(), true); err != nil { return model.NewAppError("DisablePlugin", "app.plugin.config.app_error", nil, err.Error(), http.StatusInternalServerError) } |