2020-01-15 04:22:34 +01:00
|
|
|
package model
|
2016-02-26 07:32:31 +01:00
|
|
|
|
2020-01-28 14:22:17 +01:00
|
|
|
import "time"
|
|
|
|
|
2016-02-26 07:32:31 +01:00
|
|
|
type Artist struct {
|
2020-01-28 14:22:17 +01:00
|
|
|
ID string `json:"id" orm:"column(id)"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
AlbumCount int `json:"albumCount" orm:"column(album_count)"`
|
|
|
|
|
|
|
|
// Annotations
|
2020-01-31 15:53:19 +01:00
|
|
|
PlayCount int `json:"-" orm:"-"`
|
|
|
|
PlayDate time.Time `json:"-" orm:"-"`
|
|
|
|
Rating int `json:"-" orm:"-"`
|
|
|
|
Starred bool `json:"-" orm:"-"`
|
|
|
|
StarredAt time.Time `json:"-" orm:"-"`
|
2016-03-02 15:33:49 +01:00
|
|
|
}
|
2020-01-28 14:22:17 +01:00
|
|
|
|
2020-01-18 02:46:19 +01:00
|
|
|
type Artists []Artist
|
|
|
|
|
|
|
|
type ArtistIndex struct {
|
|
|
|
ID string
|
|
|
|
Artists Artists
|
|
|
|
}
|
|
|
|
type ArtistIndexes []ArtistIndex
|
2016-03-02 15:33:49 +01:00
|
|
|
|
|
|
|
type ArtistRepository interface {
|
2020-01-28 14:22:17 +01:00
|
|
|
CountAll(options ...QueryOptions) (int64, error)
|
2020-01-15 14:21:32 +01:00
|
|
|
Exists(id string) (bool, error)
|
2016-03-02 15:33:49 +01:00
|
|
|
Put(m *Artist) error
|
|
|
|
Get(id string) (*Artist, error)
|
2020-01-31 04:07:02 +01:00
|
|
|
GetStarred(options ...QueryOptions) (Artists, error)
|
2020-01-13 22:02:49 +01:00
|
|
|
Search(q string, offset int, size int) (Artists, error)
|
2020-01-16 22:53:48 +01:00
|
|
|
Refresh(ids ...string) error
|
2020-01-18 02:46:19 +01:00
|
|
|
GetIndex() (ArtistIndexes, error)
|
2020-01-18 05:28:11 +01:00
|
|
|
PurgeEmpty() error
|
2016-03-02 15:33:49 +01:00
|
|
|
}
|