Пример #1
0
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)
}
Пример #2
0
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)
}