A lot of changes

This commit is contained in:
2026-07-17 18:56:23 +02:00
parent aac9224c2d
commit 4fed9bd059
35 changed files with 2127 additions and 185 deletions
+2 -16
View File
@@ -26,23 +26,9 @@ namespace Musify.Domain.Entities
[Required]
[MaxLength(256)]
public required string Description { get; set; } = "No description was provided.";
public string Description { get; set; } = "No description was provided.";
[Required]
[MaxLength(64)]
public required string OriginalPictureName { get; set; }
[Required]
[MaxLength(64)]
public required string SmallPictureName { get; set; }
[Required]
[MaxLength(64)]
public required string MediumPictureName { get; set; }
[Required]
[MaxLength(64)]
public required string LargePictureName { get; set; }
public required PlayListPictures Pictures { get; set; }
[Required]
public LifeCycleStatus LifeCycleStatus { get; set; } = LifeCycleStatus.Active;
+5 -2
View File
@@ -20,7 +20,7 @@ namespace Musify.Domain.Entities
public required string NormalizedTitle { get; set; }
[Required]
public int Duration { get; set; }
public int DurationSeconds { get; set; }
public long? OwnerUserId { get; set; }
@@ -43,7 +43,7 @@ namespace Musify.Domain.Entities
public TrackAudio Audio { get; set; } = new();
[ForeignKey(nameof(OwnerUserId))]
[ForeignKey(nameof(OwnerUserId)) ]
public User? Owner { get; set; }
public ICollection<UserHasTrack> UserTracks { get; set; } = new List<UserHasTrack>();
@@ -53,5 +53,8 @@ namespace Musify.Domain.Entities
public ICollection<ListeningHistory> ListeningHistories { get; set; } = new List<ListeningHistory>();
public ICollection<TrackArtist> TrackArtists { get; set; } = new List<TrackArtist>();
[NotMapped]
public bool IsExternal => Source != TrackSource.Local;
}
}
@@ -40,6 +40,12 @@ namespace Musify.Domain.Entities
[Required]
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
[NotMapped]
public bool IsConsumed => Status == UploadIntentStatus.Consumed;
[NotMapped]
public bool IsExpired => Status == UploadIntentStatus.Expired || ExpiresAt < DateTime.UtcNow;
[ForeignKey(nameof(UserId)) ]
public User User { get; set; } = null!;
}
@@ -0,0 +1,13 @@
namespace Musify.Domain.ValueObjects
{
public class PlayListPictures
{
public required string OriginalName { get; set; }
public required string SmallName { get; set; }
public required string MediumName { get; set; }
public required string LargeName { get; set; }
}
}
@@ -19,5 +19,9 @@ namespace Musify.Domain.ValueObjects
[MemberNotNullWhen(true, nameof(FolderName))]
public bool IsProcessed => TranscodeStatus == ProcessingStatus.Completed;
public bool IsFailed => TranscodeStatus == ProcessingStatus.Failed;
public bool IsInProgress => TranscodeStatus is ProcessingStatus.Pending or ProcessingStatus.Processing;
}
}