Removed dependency on engine from persistence

This commit is contained in:
Deluan
2020-01-09 09:51:54 -05:00
committed by Deluan Quintão
parent 542bea6fcc
commit 24cbf766a3
10 changed files with 47 additions and 44 deletions
+34
View File
@@ -0,0 +1,34 @@
package domain
import "time"
const NowPlayingExpire = 60 * time.Minute
type NowPlayingInfo struct {
TrackId string
Start time.Time
Username string
PlayerId int
PlayerName string
}
// This repo must have the semantics of a FIFO queue, for each playerId
type NowPlayingRepository interface {
// Insert at the head of the queue
Enqueue(*NowPlayingInfo) error
// Removes and returns the element at the end of the queue
Dequeue(playerId int) (*NowPlayingInfo, error)
// Returns the element at the head of the queue (last inserted one)
Head(playerId int) (*NowPlayingInfo, error)
// Returns the element at the end of the queue (first inserted one)
Tail(playerId int) (*NowPlayingInfo, error)
// Size of the queue for the playerId
Count(playerId int) (int64, error)
// Returns all tails from all playerIds
GetAll() ([]*NowPlayingInfo, error)
}
+16
View File
@@ -0,0 +1,16 @@
package domain
const (
PropLastScan = "LastScan"
)
type Property struct {
Id string
Value string
}
type PropertyRepository interface {
Put(id string, value string) error
Get(id string) (string, error)
DefaultGet(id string, defaultValue string) (string, error)
}