package routing import ( lishwist "lishwist/core" "lishwist/http/response" "net/http" ) func TodoUpdate(app *lishwist.Session, h http.Header, r *response.Request) response.Response { form := r.ParseForm() switch form.Get("intent") { case "unclaim_todo": unclaims := form["gift"] err := app.ClaimWishes([]string{}, unclaims) if err != nil { return response.Error(http.StatusInternalServerError, "Failed to update claim...").LogError(err) } case "complete_todo": claims := form["gift"] err := app.CompleteWishes(claims) if err != nil { return response.Error(http.StatusInternalServerError, "Failed to complete gifts...").LogError(err) } default: return response.Error(http.StatusBadRequest, "Invalid intent") } return response.SeeOther("/") }