refactor(server/api): migrate auth/me handlers to writeErr(err) (T3a)

This commit is contained in:
2026-05-07 20:25:26 -04:00
parent 58766dbebe
commit e382b0d718
9 changed files with 66 additions and 56 deletions
+10 -9
View File
@@ -8,6 +8,7 @@ import (
"github.com/jackc/pgx/v5"
"golang.org/x/crypto/bcrypt"
"git.fabledsword.com/bvandeusen/minstrel/internal/apierror"
"git.fabledsword.com/bvandeusen/minstrel/internal/audit"
"git.fabledsword.com/bvandeusen/minstrel/internal/db/dbq"
)
@@ -29,15 +30,15 @@ type resetPasswordReq struct {
func (h *handlers) handleResetPassword(w http.ResponseWriter, r *http.Request) {
var req resetPasswordReq
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
writeErr(w, http.StatusBadRequest, "invalid_body", "")
writeErr(w, apierror.BadRequest("invalid_body", ""))
return
}
if len(req.NewPassword) < minPasswordLength {
writeErr(w, http.StatusBadRequest, "password_too_short", "password must be at least 8 chars")
writeErr(w, apierror.BadRequest("password_too_short", "password must be at least 8 chars"))
return
}
if req.Token == "" {
writeErr(w, http.StatusBadRequest, "invalid_token", "")
writeErr(w, apierror.BadRequest("invalid_token", ""))
return
}
@@ -49,11 +50,11 @@ func (h *handlers) handleResetPassword(w http.ResponseWriter, r *http.Request) {
reset, err := q.GetPasswordReset(r.Context(), req.Token)
if err != nil {
if errors.Is(err, pgx.ErrNoRows) {
writeErr(w, http.StatusBadRequest, "invalid_token", "")
writeErr(w, apierror.BadRequest("invalid_token", ""))
return
}
h.logger.Error("reset password: lookup failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "")
writeErr(w, apierror.Internal(err))
return
}
@@ -64,11 +65,11 @@ func (h *handlers) handleResetPassword(w http.ResponseWriter, r *http.Request) {
rows, err := q.UsePasswordReset(r.Context(), req.Token)
if err != nil {
h.logger.Error("reset password: use token failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "")
writeErr(w, apierror.Internal(err))
return
}
if rows == 0 {
writeErr(w, http.StatusBadRequest, "invalid_token", "")
writeErr(w, apierror.BadRequest("invalid_token", ""))
return
}
@@ -79,7 +80,7 @@ func (h *handlers) handleResetPassword(w http.ResponseWriter, r *http.Request) {
hash, err := bcrypt.GenerateFromPassword([]byte(req.NewPassword), bcrypt.DefaultCost)
if err != nil {
h.logger.Error("reset password: hash failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "")
writeErr(w, apierror.Internal(err))
return
}
if err := q.ChangeUserPassword(r.Context(), dbq.ChangeUserPasswordParams{
@@ -87,7 +88,7 @@ func (h *handlers) handleResetPassword(w http.ResponseWriter, r *http.Request) {
PasswordHash: string(hash),
}); err != nil {
h.logger.Error("reset password: update failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "")
writeErr(w, apierror.Internal(err))
return
}