user create command and user repo

This commit is contained in:
2026-02-04 22:18:05 +01:00
parent b73fd8eb05
commit 01f25fb093
10 changed files with 136 additions and 5 deletions

View File

@@ -0,0 +1,9 @@
using AipsCore.Domain.Models.User.ValueObjects;
namespace AipsCore.Domain.Models.User.External;
public interface IUserRepository
{
Task<User?> Get(UserId userId, CancellationToken cancellationToken = default);
Task Save(User user, CancellationToken cancellationToken = default);
}

View File

@@ -15,4 +15,19 @@ public class User
Email = email;
Username = username;
}
public static User Create(string id, string email, string username)
{
var userIdVo = new UserId(id);
var usernameVo = new Username(username);
var emailVo = new Email(email);
return new User( userIdVo, emailVo, usernameVo);
}
public static User Create(string email, string username)
{
var usernameVo = new Username(username);
var emailVo = new Email(email);
return new User( UserId.Any(), emailVo, usernameVo);
}
}

View File

@@ -2,4 +2,7 @@
namespace AipsCore.Domain.Models.User.ValueObjects;
public record UserId(string IdValue) : DomainId(IdValue);
public record UserId(string IdValue) : DomainId(IdValue)
{
public static UserId Any() => new(Guid.NewGuid().ToString());
}