func (ctl *controller) updateApp(c web.C, w http.ResponseWriter, r *http.Request) { app := api.Application{} if err := json.NewDecoder(r.Body).Decode(&app); err != nil { logger.Error("updateApp", "error", err) http.Error(w, http.StatusText(400), 400) return } app.ID = c.URLParams["app_id"] app.TeamID = c.Env["team_id"].(string) err := ctl.api.UpdateApp(&app) switch err { case nil: default: logger.Error("updatedApp", "error", err, "app", app) http.Error(w, http.StatusText(400), 400) return } appJSON, err := ctl.api.GetAppJSON(app.ID) if err != nil { logger.Error("updateApp", "error", err, "appID", app.ID) http.Error(w, http.StatusText(400), 400) return } w.Write(appJSON) }
func (ctl *controller) addApp(c web.C, w http.ResponseWriter, r *http.Request) { sourceAppID := r.URL.Query().Get("clone_from") app := api.Application{} if err := json.NewDecoder(r.Body).Decode(&app); err != nil { logger.Error("addApp", "error", err) http.Error(w, http.StatusText(400), 400) return } app.TeamID = c.Env["team_id"].(string) _, err := ctl.api.AddAppCloning(&app, sourceAppID) switch err { case nil: default: logger.Error("addApp", "error", err, "app", app) http.Error(w, http.StatusText(400), 400) return } appJSON, err := ctl.api.GetAppJSON(app.ID) if err != nil { logger.Error("addApp", "error", err, "appID", app.ID) http.Error(w, http.StatusText(400), 400) return } w.Write(appJSON) }