diff --git a/backend/Musify.Application/Albums/SaveYouTubeAlbum.cs b/backend/Musify.Application/Albums/SaveYouTubeAlbum.cs index 2f6b328..49d1e89 100644 --- a/backend/Musify.Application/Albums/SaveYouTubeAlbum.cs +++ b/backend/Musify.Application/Albums/SaveYouTubeAlbum.cs @@ -57,6 +57,7 @@ namespace Musify.Application.Albums await database.UserAlbums.AddAsync(album, cancellationToken); + var linkedTrackIds = new HashSet(); foreach (var track in detail.Tracks) { var provisionResult = await provisioner.GetOrCreateAsync(track.VideoId, cancellationToken); @@ -67,6 +68,9 @@ namespace Musify.Application.Albums continue; } + if (!linkedTrackIds.Add(provisionResult.Value.Track.Id)) + continue; + await database.AlbumHasTracks.AddAsync(new AlbumHasTrack { AlbumId = album.Id,