navidrome/model/album.go

42 lines
900 B
Go

package model
import "time"
type Album struct {
ID string
Name string
ArtistID string
CoverArtPath string
CoverArtId string
Artist string
AlbumArtist string
Year int
Compilation bool
Starred bool
PlayCount int
PlayDate time.Time
SongCount int
Duration int
Rating int
Genre string
StarredAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
}
type Albums []Album
type AlbumRepository interface {
CountAll() (int64, error)
Exists(id string) (bool, error)
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)
Refresh(ids ...string) error
}