refactor(backend): read artist credit from TrackArtists join

Drop the now-redundant Track.Artist string column now that every
track (local and YouTube) links its credited artists through
TrackArtist. TrackApplicationResponse formats the display string by
joining TrackArtists ordered by position, and every read query that
projects a track now includes TrackArtists/Artist so the join isn't
empty at response time.
This commit is contained in:
2026-07-17 17:57:22 +02:00
parent ca275fe7a8
commit 6e2f3a257a
11 changed files with 873 additions and 6 deletions
@@ -27,6 +27,8 @@ namespace Musify.Application.Tracks
var tracksQuery = database.UserHasTracks
.AsNoTracking()
.Include(ut => ut.Track)
.ThenInclude(track => track.TrackArtists)
.ThenInclude(trackArtist => trackArtist.Artist)
.Where(p => p.UserId == request.UserId);
if (!string.IsNullOrEmpty(request.Name))