navidrome/model/datastore.go

37 lines
825 B
Go
Raw Normal View History

2020-01-15 04:22:34 +01:00
package model
import (
"context"
2020-01-31 03:48:07 +01:00
"github.com/Masterminds/squirrel"
2020-01-20 02:40:18 +01:00
"github.com/deluan/rest"
)
2016-03-04 04:44:28 +01:00
type QueryOptions struct {
Sort string
Order string
Max int
Offset int
2020-01-31 03:48:07 +01:00
Filters squirrel.Sqlizer
2016-03-04 04:44:28 +01:00
}
2020-01-20 02:40:18 +01:00
type ResourceRepository interface {
rest.Repository
}
type DataStore interface {
Album(ctx context.Context) AlbumRepository
Artist(ctx context.Context) ArtistRepository
MediaFile(ctx context.Context) MediaFileRepository
MediaFolder(ctx context.Context) MediaFolderRepository
Genre(ctx context.Context) GenreRepository
Playlist(ctx context.Context) PlaylistRepository
Property(ctx context.Context) PropertyRepository
User(ctx context.Context) UserRepository
Resource(ctx context.Context, model interface{}) ResourceRepository
2020-01-20 02:40:18 +01:00
WithTx(func(tx DataStore) error) error
GC(ctx context.Context) error
}