From 156a53c2ac66366c9d44f8ddf637a0911c541494 Mon Sep 17 00:00:00 2001 From: Deluan Date: Tue, 6 Apr 2021 23:06:18 -0400 Subject: [PATCH] Add support for artist 5-star rating in Subsonic API --- server/subsonic/media_annotation.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/subsonic/media_annotation.go b/server/subsonic/media_annotation.go index 370a05d1..e59daec5 100644 --- a/server/subsonic/media_annotation.go +++ b/server/subsonic/media_annotation.go @@ -49,13 +49,21 @@ func (c *MediaAnnotationController) SetRating(w http.ResponseWriter, r *http.Req } func (c *MediaAnnotationController) setRating(ctx context.Context, id string, rating int) error { - exist, err := c.ds.Album(ctx).Exists(id) - if err != nil { + var exist bool + var err error + + if exist, err = c.ds.Artist(ctx).Exists(id); err != nil { return err + } else if exist { + return c.ds.Artist(ctx).SetRating(rating, id) } - if exist { + + if exist, err = c.ds.Album(ctx).Exists(id); err != nil { + return err + } else if exist { return c.ds.Album(ctx).SetRating(rating, id) } + return c.ds.MediaFile(ctx).SetRating(rating, id) }