navidrome/model/get_entity.go
Patrik Wallström b763ff7bab Add Folder lookup to GetEntityByID, add MockFolderRepo
Signed-off-by: Patrik Wallström <pawal@amplitut.de>
2026-03-15 02:58:11 +01:00

31 lines
548 B
Go

package model
import (
"context"
)
// TODO: Should the type be encoded in the ID?
func GetEntityByID(ctx context.Context, ds DataStore, id string) (any, error) {
f, err := ds.Folder(ctx).Get(id)
if err == nil {
return f, nil
}
ar, err := ds.Artist(ctx).Get(id)
if err == nil {
return ar, nil
}
al, err := ds.Album(ctx).Get(id)
if err == nil {
return al, nil
}
pls, err := ds.Playlist(ctx).Get(id)
if err == nil {
return pls, nil
}
mf, err := ds.MediaFile(ctx).Get(id)
if err == nil {
return mf, nil
}
return nil, err
}