Only send "refresh" event if SetRating was successful
This commit is contained in:
@@ -51,28 +51,30 @@ func (c *MediaAnnotationController) SetRating(w http.ResponseWriter, r *http.Req
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *MediaAnnotationController) setRating(ctx context.Context, id string, rating int) error {
|
func (c *MediaAnnotationController) setRating(ctx context.Context, id string, rating int) error {
|
||||||
var exist bool
|
var repo model.AnnotatedRepository
|
||||||
var err error
|
var resource string
|
||||||
|
|
||||||
if exist, err = c.ds.Artist(ctx).Exists(id); err != nil {
|
entity, err := core.GetEntityByID(ctx, c.ds, id)
|
||||||
return err
|
if err != nil {
|
||||||
} else if exist {
|
|
||||||
err = c.ds.Artist(ctx).SetRating(rating, id)
|
|
||||||
c.broker.SendMessage(&events.RefreshResource{Resource: "artist"})
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
switch entity.(type) {
|
||||||
if exist, err = c.ds.Album(ctx).Exists(id); err != nil {
|
case *model.Artist:
|
||||||
return err
|
repo = c.ds.Artist(ctx)
|
||||||
} else if exist {
|
resource = "artist"
|
||||||
err = c.ds.Album(ctx).SetRating(rating, id)
|
case *model.Album:
|
||||||
c.broker.SendMessage(&events.RefreshResource{Resource: "album"})
|
repo = c.ds.Album(ctx)
|
||||||
|
resource = "album"
|
||||||
|
default:
|
||||||
|
repo = c.ds.MediaFile(ctx)
|
||||||
|
resource = "song"
|
||||||
|
}
|
||||||
|
err = repo.SetRating(rating, id)
|
||||||
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
c.broker.SendMessage(&events.RefreshResource{Resource: resource})
|
||||||
err = c.ds.MediaFile(ctx).SetRating(rating, id)
|
return nil
|
||||||
c.broker.SendMessage(&events.RefreshResource{Resource: "song"})
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *MediaAnnotationController) Star(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
|
func (c *MediaAnnotationController) Star(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user