namespace Manager.Data.Models.LibraryContext; public class MediaEntity : DateTimeBase { public required string Id { get; set; } public string? Title { get; set; } public string? Description { get; set; } public DateTime UploadDateUtc { get; set; } public required string ChannelId { get; set; } public List Formats { get; set; } = []; public List Captions { get; set; } = []; public MediaState State { get; set; } = MediaState.Online; public bool IsDownloaded { get; set; } public MediaProcessState ProcessState { get; set; } = MediaProcessState.ToDownload; } public enum MediaState { Online, Offline, Limited, Removed } public enum MediaProcessState { ToDownload, Downloaded, ToRemove, Removed, Failed }