From f331492999b806741937089fb77348a2a07baaff Mon Sep 17 00:00:00 2001 From: Mitsu <124433727+Mizuw@users.noreply.github.com> Date: Wed, 9 Jul 2025 20:43:09 +0200 Subject: [PATCH] return with updated colors on setCurrent --- cmd/internal/http/server.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/cmd/internal/http/server.go b/cmd/internal/http/server.go index a445b72..3c8c68c 100644 --- a/cmd/internal/http/server.go +++ b/cmd/internal/http/server.go @@ -28,6 +28,7 @@ func getCurrent(w http.ResponseWriter, r *http.Request) { id, err := utils.IDtoInt(idStr) if err != nil { utils.HTTPErrorHandling(w, r, http.StatusBadRequest, err.Error()) + return } state, err := db.ViewColor(id) @@ -57,8 +58,16 @@ func setCurrent(w http.ResponseWriter, r *http.Request) { err = db.SetColor(id, req.Color) if err != nil { - logger.HTTPLogger.Printf("Could not update lamp: %s", err) - utils.HTTPErrorHandling(w, r, http.StatusInternalServerError, "Could not update lamp") + logger.HTTPLogger.Printf("Could not update lamp %d: %s", id, err) + utils.HTTPErrorHandling(w, r, http.StatusInternalServerError, err.Error()) + return } - http.Redirect(w, r, fmt.Sprintf("/api/v1/id/%d", id), http.StatusSeeOther) + + updatedState, err := db.ViewColor(id) + if err != nil { + utils.HTTPErrorHandling(w, r, http.StatusInternalServerError, "Failed to fetch lamp state") + return + } + w.Header().Set("Content-Type", "application/json") + json.NewEncoder(w).Encode(updatedState) }