mirror of
https://github.com/navidrome/navidrome.git
synced 2025-06-14 22:32:32 +03:00
Make QueryOptions optional in AlbumRepository.GetStarred
This commit is contained in:
parent
d4ed6a0569
commit
b85898df93
@ -34,5 +34,5 @@ type AlbumRepository interface {
|
|||||||
GetAll(...QueryOptions) (Albums, error)
|
GetAll(...QueryOptions) (Albums, error)
|
||||||
PurgeInactive(active Albums) ([]string, error)
|
PurgeInactive(active Albums) ([]string, error)
|
||||||
GetAllIds() ([]string, error)
|
GetAllIds() ([]string, error)
|
||||||
GetStarred(QueryOptions) (Albums, error)
|
GetStarred(...QueryOptions) (Albums, error)
|
||||||
}
|
}
|
||||||
|
@ -64,10 +64,10 @@ func (r *albumRepository) PurgeInactive(active domain.Albums) ([]string, error)
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *albumRepository) GetStarred(options domain.QueryOptions) (domain.Albums, error) {
|
func (r *albumRepository) GetStarred(options ...domain.QueryOptions) (domain.Albums, error) {
|
||||||
var as = make(domain.Albums, 0)
|
var as = make(domain.Albums, 0)
|
||||||
start := time.Time{}.Add(1 * time.Hour)
|
start := time.Time{}.Add(1 * time.Hour)
|
||||||
err := r.loadRange("Starred", start, time.Now(), &as, options)
|
err := r.loadRange("Starred", start, time.Now(), &as, options...)
|
||||||
return as, err
|
return as, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,9 +97,9 @@ func (r *albumRepository) PurgeInactive(activeList domain.Albums) ([]string, err
|
|||||||
return r.purgeInactive(activeList)
|
return r.purgeInactive(activeList)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *albumRepository) GetStarred(options domain.QueryOptions) (domain.Albums, error) {
|
func (r *albumRepository) GetStarred(options ...domain.QueryOptions) (domain.Albums, error) {
|
||||||
var starred []_Album
|
var starred []_Album
|
||||||
err := r.execute(q.Eq("Starred", true), &starred, &options)
|
err := r.execute(q.Eq("Starred", true), &starred, options...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ func (r *mediaFileRepository) FindByAlbum(albumId string) (domain.MediaFiles, er
|
|||||||
|
|
||||||
func (r *mediaFileRepository) GetStarred(options domain.QueryOptions) (domain.MediaFiles, error) {
|
func (r *mediaFileRepository) GetStarred(options domain.QueryOptions) (domain.MediaFiles, error) {
|
||||||
var starred []_MediaFile
|
var starred []_MediaFile
|
||||||
err := r.execute(q.Eq("Starred", true), &starred, &options)
|
err := r.execute(q.Eq("Starred", true), &starred, options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ func (r *stormRepository) purgeInactive(activeList interface{}) (deleted []strin
|
|||||||
return deleted, nil
|
return deleted, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *stormRepository) execute(matcher q.Matcher, result interface{}, options ...*domain.QueryOptions) error {
|
func (r *stormRepository) execute(matcher q.Matcher, result interface{}, options ...domain.QueryOptions) error {
|
||||||
query := Db().Select(matcher)
|
query := Db().Select(matcher)
|
||||||
if len(options) > 0 {
|
if len(options) > 0 {
|
||||||
query = addQueryOptions(query, options[0])
|
query = addQueryOptions(query, options[0])
|
||||||
@ -118,7 +118,7 @@ func stormOptions(options ...domain.QueryOptions) func(*index.Options) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func addQueryOptions(q storm.Query, o *domain.QueryOptions) storm.Query {
|
func addQueryOptions(q storm.Query, o domain.QueryOptions) storm.Query {
|
||||||
if o.SortBy != "" {
|
if o.SortBy != "" {
|
||||||
q = q.OrderBy(o.SortBy)
|
q = q.OrderBy(o.SortBy)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user