func registerOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { if !utils.Cfg.ServiceSettings.EnableOAuthServiceProvider { c.Err = model.NewLocAppError("registerOAuthApp", "api.oauth.register_oauth_app.turn_off.app_error", nil, "") c.Err.StatusCode = http.StatusNotImplemented return } app := model.OAuthAppFromJson(r.Body) if app == nil { c.SetInvalidParam("registerOAuthApp", "app") return } secret := model.NewId() app.ClientSecret = secret app.CreatorId = c.Session.UserId if result := <-Srv.Store.OAuth().SaveApp(app); result.Err != nil { c.Err = result.Err return } else { app = result.Data.(*model.OAuthApp) app.ClientSecret = secret c.LogAudit("client_id=" + app.Id) w.Write([]byte(app.ToJson())) return } }
func registerOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { if !utils.Cfg.ServiceSettings.EnableOAuthServiceProvider { c.Err = model.NewLocAppError("registerOAuthApp", "api.oauth.register_oauth_app.turn_off.app_error", nil, "") c.Err.StatusCode = http.StatusNotImplemented return } if !HasPermissionToContext(c, model.PERMISSION_MANAGE_OAUTH) { c.Err = model.NewLocAppError("registerOAuthApp", "api.command.admin_only.app_error", nil, "") c.Err.StatusCode = http.StatusForbidden return } oauthApp := model.OAuthAppFromJson(r.Body) if oauthApp == nil { c.SetInvalidParam("registerOAuthApp", "app") return } secret := model.NewId() oauthApp.ClientSecret = secret oauthApp.CreatorId = c.Session.UserId if result := <-app.Srv.Store.OAuth().SaveApp(oauthApp); result.Err != nil { c.Err = result.Err return } else { oauthApp = result.Data.(*model.OAuthApp) c.LogAudit("client_id=" + oauthApp.Id) w.Write([]byte(oauthApp.ToJson())) return } }