From 1aa7b61649452193cc762d29f25d87a94a6f993d Mon Sep 17 00:00:00 2001 From: Philipp Wolfer <ph.wolfer@gmail.com> Date: Fri, 26 Jan 2024 12:19:00 +0100 Subject: [PATCH] subsonic: include subsonic_id as additional metadata --- internal/backends/subsonic/subsonic.go | 16 +++++++++------- internal/backends/subsonic/subsonic_test.go | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/internal/backends/subsonic/subsonic.go b/internal/backends/subsonic/subsonic.go index 5b192ab..6a59630 100644 --- a/internal/backends/subsonic/subsonic.go +++ b/internal/backends/subsonic/subsonic.go @@ -100,13 +100,15 @@ func SongAsLove(song subsonic.Child, username string) models.Love { UserName: username, Created: song.Starred, Track: models.Track{ - TrackName: song.Title, - ReleaseName: song.Album, - ArtistNames: []string{song.Artist}, - TrackNumber: song.Track, - DiscNumber: song.DiscNumber, - AdditionalInfo: map[string]any{}, - Duration: time.Duration(song.Duration * int(time.Second)), + TrackName: song.Title, + ReleaseName: song.Album, + ArtistNames: []string{song.Artist}, + TrackNumber: song.Track, + DiscNumber: song.DiscNumber, + AdditionalInfo: map[string]any{ + "subsonic_id": song.ID, + }, + Duration: time.Duration(song.Duration * int(time.Second)), }, } diff --git a/internal/backends/subsonic/subsonic_test.go b/internal/backends/subsonic/subsonic_test.go index 68641cd..c5bfe36 100644 --- a/internal/backends/subsonic/subsonic_test.go +++ b/internal/backends/subsonic/subsonic_test.go @@ -39,6 +39,7 @@ func TestFromConfig(t *testing.T) { func TestSongToLove(t *testing.T) { user := "outsidecontext" song := go_subsonic.Child{ + ID: "foo123", Starred: time.Unix(1699574369, 0), Title: "Oweynagat", Album: "Here Now, There Then", @@ -59,4 +60,5 @@ func TestSongToLove(t *testing.T) { assert.Equal(song.Track, love.Track.TrackNumber) assert.Equal(song.DiscNumber, love.Track.DiscNumber) assert.Equal([]string{song.Genre}, love.Track.Tags) + assert.Equal(song.ID, love.AdditionalInfo["subsonic_id"]) }