mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-14 11:17:19 +03:00
40 lines
873 B
Go
40 lines
873 B
Go
package model
|
|
|
|
import "time"
|
|
|
|
type Album struct {
|
|
ID string
|
|
Name string
|
|
ArtistID string `parent:"artist"`
|
|
CoverArtPath string
|
|
CoverArtId string
|
|
Artist string
|
|
AlbumArtist string
|
|
Year int `idx:"Year"`
|
|
Compilation bool
|
|
Starred bool
|
|
PlayCount int
|
|
PlayDate time.Time
|
|
SongCount int
|
|
Duration int
|
|
Rating int
|
|
Genre string
|
|
StarredAt time.Time `idx:"Starred"`
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type Albums []Album
|
|
|
|
type AlbumRepository interface {
|
|
BaseRepository
|
|
Put(m *Album) error
|
|
Get(id string) (*Album, error)
|
|
FindByArtist(artistId string) (Albums, error)
|
|
GetAll(...QueryOptions) (Albums, error)
|
|
PurgeInactive(active Albums) error
|
|
GetAllIds() ([]string, error)
|
|
GetStarred(...QueryOptions) (Albums, error)
|
|
Search(q string, offset int, size int) (Albums, error)
|
|
}
|