feat(subsonic): add support for multi-valued album artist tags

closes #103

a

a

a

r

a

a

a

a

a

a

a

a

a

a
This commit is contained in:
sentriz
2023-07-31 23:07:41 +01:00
parent 908c7cf088
commit 3ac77823c3
27 changed files with 641 additions and 266 deletions

View File

@@ -62,7 +62,7 @@ func (c *Controller) ServeScrobble(r *http.Request) *spec.Response {
}
track := &db.Track{}
if err := c.DB.Preload("Album").Preload("Artist").First(track, id.Value).Error; err != nil {
if err := c.DB.Preload("Album").Preload("Album.Artists").First(track, id.Value).Error; err != nil {
return spec.NewError(0, "error finding track: %v", err)
}
@@ -236,7 +236,7 @@ func (c *Controller) ServeGetSong(r *http.Request) *spec.Response {
err = c.DB.
Where("id=?", id.Value).
Preload("Album").
Preload("Album.TagArtist").
Preload("Album.Artists").
Preload("TrackStar", "user_id=?", user.ID).
Preload("TrackRating", "user_id=?", user.ID).
First(&track).
@@ -256,7 +256,7 @@ func (c *Controller) ServeGetRandomSongs(r *http.Request) *spec.Response {
q := c.DB.DB.
Limit(params.GetOrInt("size", 10)).
Preload("Album").
Preload("Album.TagArtist").
Preload("Album.Artists").
Preload("TrackStar", "user_id=?", user.ID).
Preload("TrackRating", "user_id=?", user.ID).
Joins("JOIN albums ON tracks.album_id=albums.id").