From 3ed0f7b62a4292e9ba7813ec8348590e6428154d Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Mon, 2 Oct 2023 02:07:39 +0400 Subject: [PATCH] Added MarshalJSON() method to MostListenedSong. --- internal/radio/mostlistened.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/radio/mostlistened.go b/internal/radio/mostlistened.go index f38395c..7e6d397 100644 --- a/internal/radio/mostlistened.go +++ b/internal/radio/mostlistened.go @@ -2,6 +2,7 @@ package radio import ( "bytes" + "encoding/json" "errors" "strconv" "time" @@ -21,6 +22,17 @@ func (mls *MostListenedSong) DateString() string { return mls.Date.Format(MostListenedDateFormat) } +func (mls *MostListenedSong) MarshalJSON() ([]byte, error) { + return json.Marshal(&struct { + Song string `json:"song"` + Listeners int `json:"listeners"` + Date string `json:"date"` + }{ + Song: mls.Song, + Listeners: mls.Listeners, + Date: mls.Date.UTC().Format(time.RFC3339)}) +} + var mostListened MostListenedSong // CheckAndUpdateMostListenedSong compares current most played song with