Add users & migrations
This commit is contained in:
9
src/Imprink.Domain/Entities/Users/Role.cs
Normal file
9
src/Imprink.Domain/Entities/Users/Role.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Imprink.Domain.Entities.Users;
|
||||
|
||||
public class Role
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string RoleName { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
|
||||
}
|
||||
20
src/Imprink.Domain/Entities/Users/User.cs
Normal file
20
src/Imprink.Domain/Entities/Users/User.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
namespace Imprink.Domain.Entities.Users;
|
||||
|
||||
public class User : EntityBase
|
||||
{
|
||||
public new string Id { get; set; } = null!;
|
||||
public required string Email { get; set; }
|
||||
public required string FirstName { get; set; }
|
||||
public required string LastName { get; set; }
|
||||
public string? PhoneNumber { get; set; }
|
||||
public DateTime? DateOfBirth { get; set; }
|
||||
public required bool IsActive { get; set; }
|
||||
public DateTime? LastLoginAt { get; set; }
|
||||
|
||||
public virtual ICollection<Address> Addresses { get; set; } = new List<Address>();
|
||||
public virtual ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
|
||||
|
||||
public string FullName => $"{FirstName} {LastName}";
|
||||
public Address? DefaultAddress => Addresses.FirstOrDefault(a => a.IsDefault && a.IsActive);
|
||||
public IEnumerable<Role> Roles => UserRoles.Select(ur => ur.Role);
|
||||
}
|
||||
9
src/Imprink.Domain/Entities/Users/UserRole.cs
Normal file
9
src/Imprink.Domain/Entities/Users/UserRole.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Imprink.Domain.Entities.Users;
|
||||
|
||||
public class UserRole
|
||||
{
|
||||
public string UserId { get; set; } = null!;
|
||||
public Guid RoleId { get; set; }
|
||||
|
||||
public virtual Role Role { get; set; } = null!;
|
||||
}
|
||||
Reference in New Issue
Block a user