Skip to content

Commit

Permalink
fix: render artistId in track types
Browse files Browse the repository at this point in the history
fixes #170
  • Loading branch information
sentriz committed Nov 12, 2021
1 parent 870bec7 commit 7ec6440
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 1 deletion.
1 change: 1 addition & 0 deletions server/ctrlsubsonic/handlers_by_folder.go
Expand Up @@ -82,6 +82,7 @@ func (c *Controller) ServeGetMusicDirectory(r *http.Request) *spec.Response {
c.DB.
Where("album_id=?", id.Value).
Preload("Album").
Preload("Album.TagArtist").
Order("filename").
Find(&childTracks)
for _, c := range childTracks {
Expand Down
1 change: 1 addition & 0 deletions server/ctrlsubsonic/handlers_by_tags.go
Expand Up @@ -343,6 +343,7 @@ func (c *Controller) ServeGetSongsByGenre(r *http.Request) *spec.Response {
Joins("JOIN track_genres ON track_genres.track_id=tracks.id").
Joins("JOIN genres ON track_genres.genre_id=genres.id AND genres.name=?", genre).
Preload("Album").
Preload("Album.TagArtist").
Offset(params.GetOrInt("offset", 0)).
Limit(params.GetOrInt("count", 10))
if m := c.getMusicFolder(params); m != "" {
Expand Down
6 changes: 5 additions & 1 deletion server/ctrlsubsonic/handlers_common.go
Expand Up @@ -188,6 +188,7 @@ func (c *Controller) ServeGetSong(r *http.Request) *spec.Response {
err = c.DB.
Where("id=?", id.Value).
Preload("Album").
Preload("Album.TagArtist").
First(track).
Error
if errors.Is(err, gorm.ErrRecordNotFound) {
Expand All @@ -204,6 +205,7 @@ func (c *Controller) ServeGetRandomSongs(r *http.Request) *spec.Response {
q := c.DB.DB.
Limit(params.GetOrInt("size", 10)).
Preload("Album").
Preload("Album.TagArtist").
Joins("JOIN albums ON tracks.album_id=albums.id").
Order(gorm.Expr("random()"))
if year, err := params.GetInt("fromYear"); err == nil {
Expand All @@ -219,7 +221,9 @@ func (c *Controller) ServeGetRandomSongs(r *http.Request) *spec.Response {
if m := c.getMusicFolder(params); m != "" {
q = q.Where("albums.root_dir=?", m)
}
q.Find(&tracks)
if err := q.Find(&tracks).Error; err != nil {
return spec.NewError(10, "get random songs: %v", err)
}
sub := spec.NewResponse()
sub.RandomTracks = &spec.RandomTracks{}
sub.RandomTracks.List = make([]*spec.TrackChild, len(tracks))
Expand Down
1 change: 1 addition & 0 deletions server/ctrlsubsonic/handlers_playlist.go
Expand Up @@ -32,6 +32,7 @@ func playlistRender(c *Controller, playlist *db.Playlist) *spec.Playlist {
err := c.DB.
Where("id=?", id).
Preload("Album").
Preload("Album.TagArtist").
Find(&track).
Error
if errors.Is(err, gorm.ErrRecordNotFound) {
Expand Down

0 comments on commit 7ec6440

Please sign in to comment.