Drops the YouTube-backed second catalog source entirely: the Local/External split on Track/Album collapses into single concrete entities, Artist/TrackArtist/ExternalTrack/ExternalAlbum and the YouTube service/download pipeline (yt-dlp, MassTransit consumer, routing slip) are deleted, and mixes now source discovery only from local listening history. Includes the RemoveYouTubeIntegration EF Core migration and matching Worker/deploy/compose cleanup (no more yt-dlp/python/deno in the Worker image, no thumbnail-cache/YtDlp config sections).
29 lines
657 B
C#
29 lines
657 B
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Musify.Domain.Entities
|
|
{
|
|
#pragma warning disable CS8618
|
|
[Table("MixItems")]
|
|
public class MixItem
|
|
{
|
|
[Key]
|
|
public Guid Id { get; set; } = Guid.NewGuid();
|
|
|
|
[Required]
|
|
public required Guid MixId { get; set; }
|
|
|
|
[Required]
|
|
public int Position { get; set; } = 0;
|
|
|
|
[Required]
|
|
public required Guid TrackId { get; set; }
|
|
|
|
[ForeignKey(nameof(MixId))]
|
|
public Mix Mix { get; set; }
|
|
|
|
[ForeignKey(nameof(TrackId))]
|
|
public Track Track { get; set; }
|
|
}
|
|
}
|