func EnvironmentDelete(rw http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) app := vars["app"] name := vars["name"] env, err := models.GetEnvironment(app) if awsError(err) == "ValidationError" { RenderNotFound(rw, fmt.Sprintf("no such app: %s", app)) return } if err != nil { helpers.Error(nil, err) RenderError(rw, err) return } delete(env, name) err = models.PutEnvironment(app, env) if err != nil { helpers.Error(nil, err) RenderError(rw, err) return } RenderText(rw, "ok") }
func AppEnvironment(rw http.ResponseWriter, r *http.Request) { log := appsLogger("environment").Start() app := mux.Vars(r)["app"] env, err := models.GetEnvironment(app) if awsError(err) == "ValidationError" { RenderNotFound(rw, fmt.Sprintf("no such app: %s", app)) return } if err != nil { helpers.Error(log, err) RenderError(rw, err) return } params := map[string]interface{}{ "App": app, "Environment": env, } switch r.Header.Get("Content-Type") { case "application/json": RenderJson(rw, params["Environment"]) default: RenderPartial(rw, "app", "environment", params) } }
func EnvironmentCreate(rw http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) app := vars["app"] name := vars["name"] value := GetForm(r, "value") env, err := models.GetEnvironment(app) if err != nil { helpers.Error(nil, err) RenderError(rw, err) return } env[strings.ToUpper(name)] = value err = models.PutEnvironment(app, env) if err != nil { helpers.Error(nil, err) RenderError(rw, err) return } RenderText(rw, "ok") }