Optimize playlist cover generation

This commit is contained in:
Deluan 2023-01-13 21:33:49 -05:00 committed by Deluan Quintão
parent c46a2a5f5f
commit 16c869ec86
5 changed files with 42 additions and 28 deletions

View file

@ -25,7 +25,7 @@ func getPlaylist(ds model.DataStore) http.HandlerFunc {
constructor := func(ctx context.Context) rest.Repository {
plsRepo := ds.Playlist(ctx)
plsId := chi.URLParam(req, "playlistId")
return plsRepo.Tracks(plsId)
return plsRepo.Tracks(plsId, true)
}
handler(constructor).ServeHTTP(res, req)
@ -77,7 +77,7 @@ func deleteFromPlaylist(ds model.DataStore) http.HandlerFunc {
playlistId := utils.ParamString(r, ":playlistId")
ids := r.URL.Query()["id"]
err := ds.WithTx(func(tx model.DataStore) error {
tracksRepo := tx.Playlist(r.Context()).Tracks(playlistId)
tracksRepo := tx.Playlist(r.Context()).Tracks(playlistId, true)
return tracksRepo.Delete(ids...)
})
if len(ids) == 1 && errors.Is(err, model.ErrNotFound) {
@ -125,7 +125,7 @@ func addToPlaylist(ds model.DataStore) http.HandlerFunc {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
tracksRepo := ds.Playlist(r.Context()).Tracks(playlistId)
tracksRepo := ds.Playlist(r.Context()).Tracks(playlistId, true)
count, c := 0, 0
if c, err = tracksRepo.Add(payload.Ids); err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
@ -179,7 +179,7 @@ func reorderItem(ds model.DataStore) http.HandlerFunc {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
tracksRepo := ds.Playlist(r.Context()).Tracks(playlistId)
tracksRepo := ds.Playlist(r.Context()).Tracks(playlistId, true)
err = tracksRepo.Reorder(id, newPos)
if errors.Is(err, rest.ErrPermissionDenied) {
http.Error(w, err.Error(), http.StatusForbidden)