mirror of
https://github.com/gabehf/Koito.git
synced 2026-03-07 13:38:15 -08:00
feat: mark album as various artists
This commit is contained in:
parent
dc5dcbd474
commit
57cc60534d
8 changed files with 168 additions and 24 deletions
|
|
@ -131,3 +131,46 @@ func MergeArtistsHandler(store db.DB) http.HandlerFunc {
|
|||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateAlbumHandler(store db.DB) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
l := logger.FromContext(ctx)
|
||||
|
||||
l.Debug().Msg("UpdateAlbumHandler: Received request")
|
||||
|
||||
idStr := r.URL.Query().Get("id")
|
||||
id, err := strconv.Atoi(idStr)
|
||||
|
||||
valStr := r.URL.Query().Get("is_various_artists")
|
||||
var variousArists bool
|
||||
var updateVariousArtists = false
|
||||
if strings.ToLower(valStr) == "true" {
|
||||
variousArists = true
|
||||
updateVariousArtists = true
|
||||
} else if strings.ToLower(valStr) == "false" {
|
||||
variousArists = false
|
||||
updateVariousArtists = true
|
||||
}
|
||||
if err != nil {
|
||||
l.Debug().AnErr("error", err).Msg("UpdateAlbumHandler: Invalid id parameter")
|
||||
utils.WriteError(w, "id is invalid", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
err = store.UpdateAlbum(ctx, db.UpdateAlbumOpts{
|
||||
ID: int32(id),
|
||||
VariousArtistsUpdate: updateVariousArtists,
|
||||
VariousArtistsValue: variousArists,
|
||||
})
|
||||
if err != nil {
|
||||
l.Debug().AnErr("error", err).Msg("UpdateAlbumHandler: Failed to update album")
|
||||
utils.WriteError(w, "failed to update album", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
|
||||
l.Debug().Msg("UpdateAlbumHandler: Successfully updated album")
|
||||
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ func bindRoutes(
|
|||
r.Group(func(r chi.Router) {
|
||||
r.Use(middleware.ValidateSession(db))
|
||||
r.Post("/replace-image", handlers.ReplaceImageHandler(db))
|
||||
r.Patch("/album", handlers.UpdateAlbumHandler(db))
|
||||
r.Post("/merge/tracks", handlers.MergeTracksHandler(db))
|
||||
r.Post("/merge/albums", handlers.MergeReleaseGroupsHandler(db))
|
||||
r.Post("/merge/artists", handlers.MergeArtistsHandler(db))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue