summaryrefslogtreecommitdiff
path: root/internal/handlers/settings.go
diff options
context:
space:
mode:
authorClaude Agent <agent@workspace>2026-03-18 10:09:41 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-19 00:11:16 +0000
commit5f4f59fc6302a4e44773d4a939ae7b3304d61f1f (patch)
tree1474e5232d5a8949e315104cbe1300baf10fcab8 /internal/handlers/settings.go
parent5723d6635f9462e60960b0f9548273d95a86d8f3 (diff)
refactor: RF-04/08 migrate inline HTML to templates, standardize form parsing
RF-04: Already complete in codebase (handlers use HTMLResponse + partials). RF-08: Migrate single-required-field handlers from Pattern A/B to Pattern C (requireFormValue). Affected: HandleCompleteTask, HandleCompleteCard, HandleReportBug, HandleCreateTask in handlers.go; HandleToggleFeature, HandleCreateFeature in settings.go. Reduces 6-8 lines of boilerplate to 2. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/handlers/settings.go')
-rw-r--r--internal/handlers/settings.go22
1 files changed, 4 insertions, 18 deletions
diff --git a/internal/handlers/settings.go b/internal/handlers/settings.go
index c0ba654..a780170 100644
--- a/internal/handlers/settings.go
+++ b/internal/handlers/settings.go
@@ -196,19 +196,12 @@ func (h *Handler) HandleGetSourceOptions(w http.ResponseWriter, r *http.Request)
// HandleToggleFeature toggles a feature flag
func (h *Handler) HandleToggleFeature(w http.ResponseWriter, r *http.Request) {
- if err := r.ParseForm(); err != nil {
- JSONError(w, http.StatusBadRequest, "Failed to parse form", err)
+ name, ok := requireFormValue(w, r, "name")
+ if !ok {
return
}
-
- name := r.FormValue("name")
enabled := r.FormValue("enabled") == "true"
- if name == "" {
- JSONError(w, http.StatusBadRequest, "Feature name required", nil)
- return
- }
-
if err := h.store.SetFeatureEnabled(name, enabled); err != nil {
JSONError(w, http.StatusInternalServerError, "Failed to update feature", err)
return
@@ -220,19 +213,12 @@ func (h *Handler) HandleToggleFeature(w http.ResponseWriter, r *http.Request) {
// HandleCreateFeature creates a new feature toggle
func (h *Handler) HandleCreateFeature(w http.ResponseWriter, r *http.Request) {
- if err := r.ParseForm(); err != nil {
- JSONError(w, http.StatusBadRequest, "Failed to parse form", err)
+ name, ok := requireFormValue(w, r, "name")
+ if !ok {
return
}
-
- name := r.FormValue("name")
description := r.FormValue("description")
- if name == "" {
- JSONError(w, http.StatusBadRequest, "Feature name required", nil)
- return
- }
-
if err := h.store.CreateFeatureToggle(name, description, false); err != nil {
JSONError(w, http.StatusInternalServerError, "Failed to create feature", err)
return