More conversion to mbtypes.MBID

This commit is contained in:
Philipp Wolfer 2025-04-03 15:19:26 +02:00
parent 13eb8342ab
commit 0d9bc74bc0
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
8 changed files with 82 additions and 81 deletions

View file

@ -189,16 +189,15 @@ func (f FavoriteTrack) AsLove() models.Love {
}
func (t Track) AsTrack() models.Track {
recordingMBID := mbtypes.MBID(t.RecordingMBID)
track := models.Track{
TrackName: t.Title,
ReleaseName: t.Album.Title,
ArtistNames: []string{t.Artist.Name},
TrackNumber: t.Position,
DiscNumber: t.DiscNumber,
RecordingMBID: recordingMBID,
ReleaseMBID: mbtypes.MBID(t.Album.ReleaseMBID),
ArtistMBIDs: []mbtypes.MBID{mbtypes.MBID(t.Artist.ArtistMBID)},
RecordingMBID: t.RecordingMBID,
ReleaseMBID: t.Album.ReleaseMBID,
ArtistMBIDs: []mbtypes.MBID{t.Artist.ArtistMBID},
Tags: t.Tags,
AdditionalInfo: map[string]any{
"media_player": FunkwhaleClientName,

View file

@ -23,7 +23,6 @@ import (
"github.com/spf13/viper"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uploadedlobster.com/mbtypes"
"go.uploadedlobster.com/scotty/internal/backends/funkwhale"
"go.uploadedlobster.com/scotty/internal/config"
)
@ -75,9 +74,9 @@ func TestFunkwhaleListeningAsListen(t *testing.T) {
assert.Equal(fwListen.Track.DiscNumber, listen.Track.DiscNumber)
assert.Equal(fwListen.Track.Tags, listen.Track.Tags)
// assert.Equal(backends.FunkwhaleClientName, listen.AdditionalInfo["disc_number"])
assert.Equal(mbtypes.MBID(fwListen.Track.RecordingMBID), listen.RecordingMBID)
assert.Equal(mbtypes.MBID(fwListen.Track.Album.ReleaseMBID), listen.ReleaseMBID)
assert.Equal(mbtypes.MBID(fwListen.Track.Artist.ArtistMBID), listen.ArtistMBIDs[0])
assert.Equal(fwListen.Track.RecordingMBID, listen.RecordingMBID)
assert.Equal(fwListen.Track.Album.ReleaseMBID, listen.ReleaseMBID)
assert.Equal(fwListen.Track.Artist.ArtistMBID, listen.ArtistMBIDs[0])
assert.Equal(funkwhale.FunkwhaleClientName, listen.AdditionalInfo["media_player"])
}
@ -119,10 +118,10 @@ func TestFunkwhaleFavoriteTrackAsLove(t *testing.T) {
assert.Equal(favorite.Track.Position, love.Track.TrackNumber)
assert.Equal(favorite.Track.DiscNumber, love.Track.DiscNumber)
assert.Equal(favorite.Track.Tags, love.Track.Tags)
assert.Equal(mbtypes.MBID(favorite.Track.RecordingMBID), love.RecordingMBID)
assert.Equal(mbtypes.MBID(favorite.Track.RecordingMBID), love.Track.RecordingMBID)
assert.Equal(mbtypes.MBID(favorite.Track.Album.ReleaseMBID), love.ReleaseMBID)
assert.Equal(favorite.Track.RecordingMBID, love.RecordingMBID)
assert.Equal(favorite.Track.RecordingMBID, love.Track.RecordingMBID)
assert.Equal(favorite.Track.Album.ReleaseMBID, love.ReleaseMBID)
require.Len(t, love.Track.ArtistMBIDs, 1)
assert.Equal(mbtypes.MBID(favorite.Track.Artist.ArtistMBID), love.ArtistMBIDs[0])
assert.Equal(favorite.Track.Artist.ArtistMBID, love.ArtistMBIDs[0])
assert.Equal(funkwhale.FunkwhaleClientName, love.AdditionalInfo["media_player"])
}

View file

@ -21,6 +21,8 @@ THE SOFTWARE.
*/
package funkwhale
import "go.uploadedlobster.com/mbtypes"
type ListeningsResult struct {
Count int `json:"count"`
Previous string `json:"previous"`
@ -50,30 +52,30 @@ type FavoriteTrack struct {
}
type Track struct {
Id int `json:"int"`
Artist Artist `json:"artist"`
Album Album `json:"album"`
Title string `json:"title"`
Position int `json:"position"`
DiscNumber int `json:"disc_number"`
RecordingMBID string `json:"mbid"`
Tags []string `json:"tags"`
Uploads []Upload `json:"uploads"`
Id int `json:"int"`
Artist Artist `json:"artist"`
Album Album `json:"album"`
Title string `json:"title"`
Position int `json:"position"`
DiscNumber int `json:"disc_number"`
RecordingMBID mbtypes.MBID `json:"mbid"`
Tags []string `json:"tags"`
Uploads []Upload `json:"uploads"`
}
type Artist struct {
Id int `json:"int"`
Name string `json:"name"`
ArtistMBID string `json:"mbid"`
Id int `json:"int"`
Name string `json:"name"`
ArtistMBID mbtypes.MBID `json:"mbid"`
}
type Album struct {
Id int `json:"int"`
Title string `json:"title"`
AlbumArtist Artist `json:"artist"`
ReleaseDate string `json:"release_date"`
TrackCount int `json:"track_count"`
ReleaseMBID string `json:"mbid"`
Id int `json:"int"`
Title string `json:"title"`
AlbumArtist Artist `json:"artist"`
ReleaseDate string `json:"release_date"`
TrackCount int `json:"track_count"`
ReleaseMBID mbtypes.MBID `json:"mbid"`
}
type User struct {