diff --git a/src/FiscalOS.Core/Identity/RefreshToken.cs b/src/FiscalOS.Core/Identity/RefreshToken.cs index 69ddce1..f802ce4 100644 --- a/src/FiscalOS.Core/Identity/RefreshToken.cs +++ b/src/FiscalOS.Core/Identity/RefreshToken.cs @@ -5,7 +5,7 @@ public sealed class RefreshToken : Entity public string Token { get; init; } = string.Empty; public DateTimeOffset ExpiresAt { get; init; } public Guid UserId { get; init; } - public User User { get; init; } = new(); + public User User { get; init; } = User.New(); private RefreshToken() { diff --git a/src/FiscalOS.Core/Identity/User.cs b/src/FiscalOS.Core/Identity/User.cs index b3bb1fa..be80277 100644 --- a/src/FiscalOS.Core/Identity/User.cs +++ b/src/FiscalOS.Core/Identity/User.cs @@ -6,4 +6,22 @@ public sealed class User : Entity public string HashedPassword { get; init; } = string.Empty; public ICollection RefreshTokens { get; init; } = []; + + private User() + { + } + + public static User New() + { + return new(); + } + + public static User From(string username, string hashedPassword) + { + return new() + { + Username = username, + HashedPassword = hashedPassword, + }; + } } \ No newline at end of file diff --git a/src/FiscalOS.Core/Usings.cs b/src/FiscalOS.Core/Usings.cs index c70d0ad..05db914 100644 --- a/src/FiscalOS.Core/Usings.cs +++ b/src/FiscalOS.Core/Usings.cs @@ -1 +1,3 @@ -global using FiscalOS.Core.Data; \ No newline at end of file +global using FiscalOS.Core.Data; + +global using FiscalOS.Core.Identity; \ No newline at end of file