mirror of
https://github.com/navidrome/navidrome.git
synced 2025-07-14 07:31:28 +03:00
* Refactor queue payload handling * Refine queue update validation * refactor(queue): avoid loading tracks for validation * refactor/rename repository methods Signed-off-by: Deluan <deluan@navidrome.org> * more tests Signed-off-by: Deluan <deluan@navidrome.org> * refactor Signed-off-by: Deluan <deluan@navidrome.org> --------- Signed-off-by: Deluan <deluan@navidrome.org>
29 lines
954 B
Go
29 lines
954 B
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type PlayQueue struct {
|
|
ID string `structs:"id" json:"id"`
|
|
UserID string `structs:"user_id" json:"userId"`
|
|
Current int `structs:"current" json:"current"`
|
|
Position int64 `structs:"position" json:"position"`
|
|
ChangedBy string `structs:"changed_by" json:"changedBy"`
|
|
Items MediaFiles `structs:"-" json:"items,omitempty"`
|
|
CreatedAt time.Time `structs:"created_at" json:"createdAt"`
|
|
UpdatedAt time.Time `structs:"updated_at" json:"updatedAt"`
|
|
}
|
|
|
|
type PlayQueues []PlayQueue
|
|
|
|
type PlayQueueRepository interface {
|
|
Store(queue *PlayQueue, colNames ...string) error
|
|
// Retrieve returns the playqueue without loading the full MediaFiles
|
|
// (Items only contain IDs)
|
|
Retrieve(userId string) (*PlayQueue, error)
|
|
// RetrieveWithMediaFiles returns the playqueue with full MediaFiles loaded
|
|
RetrieveWithMediaFiles(userId string) (*PlayQueue, error)
|
|
Clear(userId string) error
|
|
}
|