quintodrome/server/subsonic/engine/browser.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
620 B
Go
Raw Normal View History

package engine
import (
2020-01-08 16:45:07 -09:00
"context"
2020-01-15 13:49:09 -09:00
"sort"
"strings"
2020-01-23 15:44:08 -09:00
"github.com/deluan/navidrome/model"
)
type Browser interface {
GetGenres(ctx context.Context) (model.Genres, error)
}
func NewBrowser(ds model.DataStore) Browser {
return &browser{ds}
}
type browser struct {
ds model.DataStore
}
func (b *browser) GetGenres(ctx context.Context) (model.Genres, error) {
genres, err := b.ds.Genre(ctx).GetAll()
2020-01-15 13:49:09 -09:00
for i, g := range genres {
if strings.TrimSpace(g.Name) == "" {
genres[i].Name = "<Empty>"
}
}
sort.Slice(genres, func(i, j int) bool {
return genres[i].Name < genres[j].Name
})
return genres, err
}