refactor album iterator + add fn to get user owned playlsits

This commit is contained in:
Drew Weymouth
2023-02-08 17:18:14 -08:00
parent a4ce33af35
commit a508206264
2 changed files with 35 additions and 16 deletions
-16
View File
@@ -7,22 +7,6 @@ import (
subsonic "github.com/dweymouth/go-subsonic"
)
type AlbumIterator interface {
Next() *subsonic.AlbumID3
}
type LibraryManager struct {
PreCacheCoverFn func(string)
s *ServerManager
}
func NewLibraryManager(s *ServerManager) *LibraryManager {
return &LibraryManager{
s: s,
}
}
type AlbumSortOrder string
const (
+35
View File
@@ -0,0 +1,35 @@
package backend
import (
subsonic "github.com/dweymouth/go-subsonic"
)
type AlbumIterator interface {
Next() *subsonic.AlbumID3
}
type LibraryManager struct {
PreCacheCoverFn func(string)
s *ServerManager
}
func NewLibraryManager(s *ServerManager) *LibraryManager {
return &LibraryManager{
s: s,
}
}
func (l *LibraryManager) GetUserOwnedPlaylists() ([]*subsonic.Playlist, error) {
pl, err := l.s.Server.GetPlaylists(nil)
userPl := make([]*subsonic.Playlist, 0)
if err != nil {
return nil, err
}
for _, p := range pl {
if p.Owner == l.s.Server.User {
userPl = append(userPl, p)
}
}
return userPl, nil
}