summaryrefslogtreecommitdiffstats
path: root/app/plugins.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-10-31 09:39:31 -0500
committerJoram Wilander <jwawilander@gmail.com>2017-10-31 10:39:31 -0400
commitce2b2be5de578bd9eb44b26e04db75ca61d67ca5 (patch)
tree54203a18ecfb167dcf1d7e0742cea0ed9aab220a /app/plugins.go
parentb446d0aa0aa2bd3d87028b0543752eb539507481 (diff)
downloadchat-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.go14
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)
}