refactor(core): encapsulate user and refresh token creation with factory methods

This commit is contained in:
Stevan Freeborn
2026-02-02 13:17:43 -06:00
parent 815b6aa57c
commit 098aa23c62
3 changed files with 22 additions and 2 deletions
+1 -1
View File
@@ -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()
{
+18
View File
@@ -6,4 +6,22 @@ public sealed class User : Entity
public string HashedPassword { get; init; } = string.Empty;
public ICollection<RefreshToken> 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,
};
}
}
+3 -1
View File
@@ -1 +1,3 @@
global using FiscalOS.Core.Data;
global using FiscalOS.Core.Data;
global using FiscalOS.Core.Identity;