subsonic: include subsonic_id as additional metadata

This commit is contained in:
Philipp Wolfer 2024-01-26 12:19:00 +01:00
parent fee1eba080
commit 1aa7b61649
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
2 changed files with 11 additions and 7 deletions

View file

@ -100,13 +100,15 @@ func SongAsLove(song subsonic.Child, username string) models.Love {
UserName: username, UserName: username,
Created: song.Starred, Created: song.Starred,
Track: models.Track{ Track: models.Track{
TrackName: song.Title, TrackName: song.Title,
ReleaseName: song.Album, ReleaseName: song.Album,
ArtistNames: []string{song.Artist}, ArtistNames: []string{song.Artist},
TrackNumber: song.Track, TrackNumber: song.Track,
DiscNumber: song.DiscNumber, DiscNumber: song.DiscNumber,
AdditionalInfo: map[string]any{}, AdditionalInfo: map[string]any{
Duration: time.Duration(song.Duration * int(time.Second)), "subsonic_id": song.ID,
},
Duration: time.Duration(song.Duration * int(time.Second)),
}, },
} }

View file

@ -39,6 +39,7 @@ func TestFromConfig(t *testing.T) {
func TestSongToLove(t *testing.T) { func TestSongToLove(t *testing.T) {
user := "outsidecontext" user := "outsidecontext"
song := go_subsonic.Child{ song := go_subsonic.Child{
ID: "foo123",
Starred: time.Unix(1699574369, 0), Starred: time.Unix(1699574369, 0),
Title: "Oweynagat", Title: "Oweynagat",
Album: "Here Now, There Then", Album: "Here Now, There Then",
@ -59,4 +60,5 @@ func TestSongToLove(t *testing.T) {
assert.Equal(song.Track, love.Track.TrackNumber) assert.Equal(song.Track, love.Track.TrackNumber)
assert.Equal(song.DiscNumber, love.Track.DiscNumber) assert.Equal(song.DiscNumber, love.Track.DiscNumber)
assert.Equal([]string{song.Genre}, love.Track.Tags) assert.Equal([]string{song.Genre}, love.Track.Tags)
assert.Equal(song.ID, love.AdditionalInfo["subsonic_id"])
} }