fix(04-WR-01): check UpdateTask errors in TaskReorderHandler instead of discarding

Both the single-task branch and the main loop were using _, _ = to
discard UpdateTask errors. Now both log the error and return 500 so
the client is never shown a false success when DB writes fail.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Arthur Belleville 2026-05-15 10:18:53 +02:00
parent 392b5321be
commit 3d32f2d92f
No known key found for this signature in database

View file

@ -445,13 +445,18 @@ func TaskReorderHandler(deps TasksDeps) http.HandlerFunc {
if _, scanErr := fmt.Sscanf(positionVal, "%d", &newPos); scanErr != nil || newPos <= 0 {
newPos = 100
}
_, _ = deps.Queries.UpdateTask(ctx, sqlc.UpdateTaskParams{
if _, err := deps.Queries.UpdateTask(ctx, sqlc.UpdateTaskParams{
ID: existing.ID,
Title: existing.Title,
Description: existing.Description,
Status: newStatus,
Position: newPos,
})
}); err != nil {
slog.Default().Error("tasks reorder: UpdateTask failed (single)",
"task_id", existing.ID, "err", err)
http.Error(w, "internal server error", http.StatusInternalServerError)
return
}
}
}
tasks, _ := deps.Queries.ListTasksByTablo(ctx, tablo.ID)
@ -486,13 +491,18 @@ func TaskReorderHandler(deps TasksDeps) http.HandlerFunc {
}
// Preserve title+description; only update status+position (T-04-08).
_, _ = deps.Queries.UpdateTask(ctx, sqlc.UpdateTaskParams{
if _, err := deps.Queries.UpdateTask(ctx, sqlc.UpdateTaskParams{
ID: existing.ID,
Title: existing.Title,
Description: existing.Description,
Status: newStatus,
Position: newPos,
})
}); err != nil {
slog.Default().Error("tasks reorder: UpdateTask failed",
"task_id", existing.ID, "err", err)
http.Error(w, "internal server error", http.StatusInternalServerError)
return
}
}
tasks, err := deps.Queries.ListTasksByTablo(ctx, tablo.ID)