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