Change name

This commit is contained in:
2026-03-18 20:52:11 +01:00
parent 5f1bcf93c6
commit 771bfbb270
11 changed files with 3 additions and 3 deletions
+9
View File
@@ -0,0 +1,9 @@
namespace Musify.Domain.Entities
{
public enum EntityType
{
User,
Track,
PlayList
}
}
+51
View File
@@ -0,0 +1,51 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Musify.Domain.Entities
{
#pragma warning disable CS8618
[Table("PlayLists")]
public class PlayList
{
[Key]
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public required Guid UserId { get; set; }
[Required]
[MaxLength(50)]
public required string Name { get; set; }
[Required]
[MaxLength(50)]
public required string NormalizedName { get; set; }
[Required]
[MaxLength(254)]
public required string Description { get; set; } = "No description was provided.";
[Required]
[MaxLength(64)]
public required string SmallPictureKeyName { get; set; }
[Required]
[MaxLength(64)]
public required string MediumPictureKeyName { get; set; }
[Required]
[MaxLength(64)]
public required string LargePictureKeyName { get; set; }
[Required]
public DateTime CreatedDate { get; set; } = DateTime.UtcNow;
[Required]
public DateTime UpdatedDate { get; set; } = DateTime.UtcNow;
[ForeignKey(nameof(UserId)) ]
public User User { get; set; }
public ICollection<PlayListHasTrack> PlayListTracks { get; set; } = new List<PlayListHasTrack>();
}
}
+30
View File
@@ -0,0 +1,30 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Musify.Domain.Entities
{
#pragma warning disable CS8618
[Table("PlayListHasTrack")]
public class PlayListHasTrack
{
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public required Guid PlayListId { get; set; }
[Required]
public required Guid TrackId { get; set; }
[Required]
public int Position { get; set; } = 0;
[Required]
public DateTime AddedAt { get; set; } = DateTime.UtcNow;
[ForeignKey(nameof(PlayListId)) ]
public PlayList PlayList { get; set; }
[ForeignKey(nameof(TrackId)) ]
public Track? Track { get; set; }
}
}
+33
View File
@@ -0,0 +1,33 @@
using System.ComponentModel.DataAnnotations;
namespace Musify.Domain.Entities
{
#pragma warning disable CS8618
public class Track
{
[Key]
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
[MaxLength(50)]
public required string Title { get; set; }
[Required]
[MaxLength(50)]
public required string NormalizedTitle { get; set; }
[Required]
[MaxLength(64)]
public required string ImageName { get; set; }
[Required]
public DateTime CreatedDate { get; set; } = DateTime.UtcNow;
[Required]
public DateTime UpdatedDate { get; set; } = DateTime.UtcNow;
public ICollection<User> Users { get; set; } = new List<User>();
public ICollection<PlayListHasTrack> PlayListTracks { get; set; } = new List<PlayListHasTrack>();
}
}
+33
View File
@@ -0,0 +1,33 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Musify.Domain.Entities
{
[Table("Upload")]
public class Upload
{
[Key]
public Guid Id { get; set; } = Guid.NewGuid();
[Required]
public required string KeyName { get; set; }
[Required]
public required string BucketName { get; set; }
[Required]
public required string ContentType { get; set; }
[Required]
public required EntityType EntityType { get; set; }
[Required]
public required Guid EntityId { get; set; }
[Required]
public UploadState State { get; set; } = UploadState.Pending;
[Required]
public DateTime CreatedTime { get; set; } = DateTime.UtcNow;
}
}
+10
View File
@@ -0,0 +1,10 @@
namespace Musify.Domain.Entities
{
public enum UploadState
{
Pending,
Processing,
Completed,
Failed
}
}
+22
View File
@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Musify.Domain.Entities
{
[Table("User")]
public class User
{
[Key]
public required Guid Id { get; set; }
[Required]
public DateTime CreatedAt { get; set; } = DateTime.Now;
[Required]
public DateTime UpdatedAt { get; set; } = DateTime.Now;
public ICollection<Track> Tracks { get; set; } = new List<Track>();
public ICollection<PlayList> PlayLists { get; set; } = new List<PlayList>();
}
}