diff --git a/src/renderer/api/navidrome/navidrome-normalize.ts b/src/renderer/api/navidrome/navidrome-normalize.ts index 60579e4d..b3729376 100644 --- a/src/renderer/api/navidrome/navidrome-normalize.ts +++ b/src/renderer/api/navidrome/navidrome-normalize.ts @@ -279,7 +279,7 @@ const normalizeAlbumArtist = ( } return { - albumCount: item.albumCount, + albumCount: item.stats?.albumartist.albumCount || item.albumCount, backgroundImageUrl: null, biography: item.biography || null, duration: null, @@ -304,7 +304,7 @@ const normalizeAlbumArtist = ( imageUrl: artist?.artistImageUrl || null, name: artist.name, })) || null, - songCount: item.songCount, + songCount: item.stats?.albumartist.songCount || item.songCount, userFavorite: item.starred, userRating: item.rating, }; diff --git a/src/renderer/api/navidrome/navidrome-types.ts b/src/renderer/api/navidrome/navidrome-types.ts index 9699cb18..f6ac617a 100644 --- a/src/renderer/api/navidrome/navidrome-types.ts +++ b/src/renderer/api/navidrome/navidrome-types.ts @@ -70,6 +70,12 @@ const genreListParameters = paginationParameters.extend({ const genreList = z.array(genre); +const stats = z.object({ + albumCount: z.number(), + size: z.number(), + songCount: z.number(), +}); + const albumArtist = z.object({ albumCount: z.number(), biography: z.string(), @@ -91,6 +97,7 @@ const albumArtist = z.object({ songCount: z.number(), starred: z.boolean(), starredAt: z.string(), + stats: z.record(z.string(), stats).optional(), }); const albumArtistList = z.array(albumArtist);