Add ToggleStar to SongContextMenu (WIP)

This commit is contained in:
Deluan
2020-05-22 15:23:42 -04:00
parent e21262675e
commit 8a68cecdb9
14 changed files with 132 additions and 42 deletions
+6 -7
View File
@@ -3,6 +3,8 @@ package model
import "time"
type Album struct {
Annotations
ID string `json:"id" orm:"column(id)"`
Name string `json:"name"`
CoverArtPath string `json:"coverArtPath"`
@@ -25,13 +27,6 @@ type Album struct {
OrderAlbumArtistName string `json:"orderAlbumArtistName"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
// Annotations
PlayCount int64 `json:"playCount" orm:"-"`
PlayDate time.Time `json:"playDate" orm:"-"`
Rating int `json:"rating" orm:"-"`
Starred bool `json:"starred" orm:"-"`
StarredAt time.Time `json:"starredAt" orm:"-"`
}
type Albums []Album
@@ -48,3 +43,7 @@ type AlbumRepository interface {
Refresh(ids ...string) error
AnnotatedRepository
}
func (a Album) GetAnnotations() Annotations {
return a.Annotations
}
+12
View File
@@ -2,6 +2,18 @@ package model
import "time"
type Annotations struct {
PlayCount int64 `json:"playCount"`
PlayDate time.Time `json:"playDate"`
Rating int `json:"rating"`
Starred bool `json:"starred"`
StarredAt time.Time `json:"starredAt"`
}
type AnnotatedModel interface {
GetAnnotations() Annotations
}
type AnnotatedRepository interface {
IncPlayCount(itemID string, ts time.Time) error
SetStar(starred bool, itemIDs ...string) error
+6 -9
View File
@@ -1,8 +1,8 @@
package model
import "time"
type Artist struct {
Annotations
ID string `json:"id" orm:"column(id)"`
Name string `json:"name"`
AlbumCount int `json:"albumCount"`
@@ -10,13 +10,6 @@ type Artist struct {
FullText string `json:"fullText"`
SortArtistName string `json:"sortArtistName"`
OrderArtistName string `json:"orderArtistName"`
// Annotations
PlayCount int64 `json:"playCount" orm:"-"`
PlayDate time.Time `json:"playDate" orm:"-"`
Rating int `json:"rating" orm:"-"`
Starred bool `json:"starred" orm:"-"`
StarredAt time.Time `json:"starredAt" orm:"-"`
}
type Artists []Artist
@@ -38,3 +31,7 @@ type ArtistRepository interface {
GetIndex() (ArtistIndexes, error)
AnnotatedRepository
}
func (a Artist) GetAnnotations() Annotations {
return a.Annotations
}
+6 -7
View File
@@ -6,6 +6,8 @@ import (
)
type MediaFile struct {
Annotations
ID string `json:"id" orm:"pk;column(id)"`
Path string `json:"path"`
Title string `json:"title"`
@@ -36,13 +38,6 @@ type MediaFile struct {
Compilation bool `json:"compilation"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
// Annotations
PlayCount int64 `json:"playCount" orm:"-"`
PlayDate time.Time `json:"playDate" orm:"-"`
Rating int `json:"rating" orm:"-"`
Starred bool `json:"starred" orm:"-"`
StarredAt time.Time `json:"starredAt" orm:"-"`
}
func (mf *MediaFile) ContentType() string {
@@ -67,3 +62,7 @@ type MediaFileRepository interface {
AnnotatedRepository
}
func (mf MediaFile) GetAnnotations() Annotations {
return mf.Annotations
}