refactor(server/api): migrate library/media handlers to writeErr(err) (T3b)

This commit is contained in:
2026-05-07 20:48:20 -04:00
parent e382b0d718
commit 91f4f5c18a
7 changed files with 85 additions and 78 deletions
+12 -11
View File
@@ -7,6 +7,7 @@ import (
"github.com/jackc/pgx/v5/pgtype"
"git.fabledsword.com/bvandeusen/minstrel/internal/apierror"
"git.fabledsword.com/bvandeusen/minstrel/internal/auth"
"git.fabledsword.com/bvandeusen/minstrel/internal/db/dbq"
)
@@ -18,12 +19,12 @@ import (
func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
q := strings.TrimSpace(r.URL.Query().Get("q"))
if q == "" {
writeErr(w, http.StatusBadRequest, "bad_request", "q is required")
writeErr(w, apierror.BadRequest("bad_request", "q is required"))
return
}
limit, offset, err := parsePaging(r.URL.Query())
if err != nil {
writeErr(w, http.StatusBadRequest, "bad_request", err.Error())
writeErr(w, apierror.BadRequest("bad_request", err.Error()))
return
}
@@ -35,13 +36,13 @@ func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
})
if err != nil {
h.logger.Error("api: search artists failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
artistTotal, err := dbQ.CountArtistsMatching(r.Context(), q)
if err != nil {
h.logger.Error("api: count artists matching failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
artistItems := make([]ArtistRef, 0, len(artists))
@@ -49,7 +50,7 @@ func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
albums, aerr := dbQ.ListAlbumsByArtist(r.Context(), a.ID)
if aerr != nil {
h.logger.Error("api: list albums for search artist failed", "err", aerr)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", aerr))
return
}
artistItems = append(artistItems, artistRefFrom(a, len(albums)))
@@ -60,18 +61,18 @@ func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
})
if err != nil {
h.logger.Error("api: search albums failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
albumTotal, err := dbQ.CountAlbumsMatching(r.Context(), q)
if err != nil {
h.logger.Error("api: count albums matching failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
albumItems, err := h.resolveAlbumRefs(r.Context(), dbQ, albums)
if err != nil {
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
@@ -87,7 +88,7 @@ func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
}
if err != nil {
h.logger.Error("api: search tracks failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
var trackTotal int64
@@ -100,12 +101,12 @@ func (h *handlers) handleSearch(w http.ResponseWriter, r *http.Request) {
}
if err != nil {
h.logger.Error("api: count tracks matching failed", "err", err)
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}
trackItems, err := h.resolveTrackRefs(r.Context(), dbQ, tracks)
if err != nil {
writeErr(w, http.StatusInternalServerError, "server_error", "search failed")
writeErr(w, apierror.InternalMsg("search failed", err))
return
}