unprovision

This commit is contained in:
pavel 2026-05-15 18:41:27 +02:00
commit 1e53bba6e7
6 changed files with 148 additions and 0 deletions

View file

@ -143,6 +143,8 @@ func (a *App) handleProjectSubroutes(w http.ResponseWriter, r *http.Request, use
a.handleServiceRegenerate(w, r, user, projectID)
case "reprovision":
a.handleProjectReprovision(w, r, user, projectID)
case "unprovision":
a.handleProjectUnprovision(w, r, user, projectID)
case "status":
a.handleProjectStatus(w, r, user, projectID)
case "logs":
@ -165,6 +167,18 @@ func (a *App) handleProjectReprovision(w http.ResponseWriter, r *http.Request, u
writeJSON(w, http.StatusOK, p)
}
func (a *App) handleProjectUnprovision(w http.ResponseWriter, r *http.Request, user User, projectID int64) {
if r.Method != http.MethodPost {
http.Error(w, "method not allowed", http.StatusMethodNotAllowed)
return
}
if err := a.unprovisionProject(r.Context(), user.Username, projectID); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
writeJSON(w, http.StatusOK, map[string]string{"status": "unprovisioned"})
}
func (a *App) handleProjectEnv(w http.ResponseWriter, r *http.Request, user User, projectID int64) {
switch r.Method {
case http.MethodGet: