Halfway of getNowPlaying implementation

This commit is contained in:
Deluan
2016-03-17 09:34:32 -04:00
parent a3238ce17b
commit 68c456e188
13 changed files with 113 additions and 29 deletions
+13 -2
View File
@@ -22,11 +22,11 @@ func NewNowPlayingRepository() engine.NowPlayingRepository {
return r
}
func (r *nowPlayingRepository) Set(id string) error {
func (r *nowPlayingRepository) Set(id, username string, playerId int, playerName string) error {
if id == "" {
return errors.New("Id is required")
}
m := &engine.NowPlayingInfo{TrackId: id, Start: time.Now()}
m := &engine.NowPlayingInfo{TrackId: id, Username: username, Start: time.Now(), PlayerId: playerId, PlayerName: playerName}
h, err := json.Marshal(m)
if err != nil {
@@ -35,4 +35,15 @@ func (r *nowPlayingRepository) Set(id string) error {
return Db().SetEX(nowPlayingKeyName, int64(engine.NowPlayingExpire.Seconds()), []byte(h))
}
func (r *nowPlayingRepository) GetAll() (*[]engine.NowPlayingInfo, error) {
val, err := Db().Get(nowPlayingKeyName)
if err != nil {
return nil, err
}
info := &engine.NowPlayingInfo{}
err = json.Unmarshal(val, info)
return &[]engine.NowPlayingInfo{*info}, err
}
var _ engine.NowPlayingRepository = (*nowPlayingRepository)(nil)