quintodrome/model/datastore.go

37 lines
825 B
Go
Raw Normal View History

2020-01-14 18:22:34 -09:00
package model
import (
"context"
2020-01-30 17:48:07 -09:00
"github.com/Masterminds/squirrel"
2020-01-19 16:40:18 -09:00
"github.com/deluan/rest"
)
2016-03-03 18:44:28 -09:00
type QueryOptions struct {
Sort string
Order string
Max int
Offset int
2020-01-30 17:48:07 -09:00
Filters squirrel.Sqlizer
2016-03-03 18:44:28 -09:00
}
2020-01-19 16:40:18 -09: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-19 16:40:18 -09:00
WithTx(func(tx DataStore) error) error
GC(ctx context.Context) error
}