fix(listenbrainz): submit track recording ID instead of track ID

closes #240
This commit is contained in:
sentriz
2022-10-08 16:08:40 +01:00
parent ea28ff1df3
commit 8ee357b021
2 changed files with 17 additions and 13 deletions

View File

@@ -26,10 +26,17 @@ var (
ErrListenBrainz = errors.New("listenbrainz error")
)
// https://listenbrainz.readthedocs.io/en/latest/users/json.html#submission-json
type Payload struct {
ListenedAt int `json:"listened_at,omitempty"`
TrackMetadata *TrackMetadata `json:"track_metadata"`
}
type AdditionalInfo struct {
TrackNumber int `json:"tracknumber,omitempty"`
TrackMBID string `json:"track_mbid,omitempty"`
TrackLength int `json:"track_length,omitempty"`
TrackNumber int `json:"tracknumber,omitempty"`
TrackMBID string `json:"track_mbid,omitempty"`
RecordingMBID string `json:"recording_mbid,omitempty"`
TrackLength int `json:"track_length,omitempty"`
}
type TrackMetadata struct {
@@ -39,11 +46,6 @@ type TrackMetadata struct {
ReleaseName string `json:"release_name,omitempty"`
}
type Payload struct {
ListenedAt int `json:"listened_at,omitempty"`
TrackMetadata *TrackMetadata `json:"track_metadata"`
}
type Scrobble struct {
ListenType string `json:"listen_type,omitempty"`
Payload []*Payload `json:"payload"`
@@ -58,9 +60,9 @@ func (s *Scrobbler) Scrobble(user *db.User, track *db.Track, stamp time.Time, su
payload := &Payload{
TrackMetadata: &TrackMetadata{
AdditionalInfo: &AdditionalInfo{
TrackNumber: track.TagTrackNumber,
TrackMBID: track.TagBrainzID,
TrackLength: track.Length,
TrackNumber: track.TagTrackNumber,
RecordingMBID: track.TagBrainzID,
TrackLength: track.Length,
},
ArtistName: track.TagTrackArtist,
TrackName: track.TagTitle,