Added user management endpoints

This commit is contained in:
2026-10-10 10:12:13 +02:00
parent 1ebd83a2f4
commit 2ee7a49122
19 changed files with 688 additions and 40 deletions
@@ -7,7 +7,7 @@ public interface ISkorubaUserService
{
[Log]
[Audit]
Task<Result<string>> CreateUserAsync(CreateUserRequest request, CancellationToken cancellationToken = default);
Task<Result<string>> CreateUserAsync(CreateUserRequest request, Guid userId, CancellationToken cancellationToken = default);
[Log]
Task<Result<UserResponse>> GetUserAsync(Guid userId, CancellationToken cancellationToken = default);
@@ -40,8 +40,11 @@ public interface ISkorubaUserService
Task<Result<Role[]>> GetAvailableRolesAsync(string? searchText = null, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
Task<Result<Role[]>> GetUserRolesAsync(string userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
Task<Result<Role[]>> GetUserRolesAsync(Guid userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
Task<Result<Models.Security.Claim[]>> GetUserClaimsAsync(string userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
Task<Result<Models.Security.Claim[]>> GetUserClaimsAsync(Guid userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
Task<Result> InvalidateUserSessionAsync(Guid userId, CancellationToken cancellationToken = default);
}
@@ -1,8 +1,15 @@
namespace PostFundManagement.Domain.Models.Security;
using System.ComponentModel.DataAnnotations;
namespace PostFundManagement.Domain.Models.Security;
public sealed record AddUserClaimRequest([Required] Guid UserId,
[Required] int ClaimId,
[Required][MaxLength(LabelLength)] string ClaimType,
[Required][MaxLength(LabelLength)] string ClaimValue);
public sealed record CreateUserRequest(string UserName, string Email, string Password, bool EmailConfirmed = true, string? PhoneNumber = null, bool PhoneNumberConfirmed = false);
public sealed record UpdateUserRequest(string Id, string UserName, string Email, bool EmailConfirmed, string? PhoneNumber, bool PhoneNumberConfirmed, bool LockoutEnabled, DateTimeOffset? LockoutEnd, int AccessFailedCount, bool TwoFactorEnabled);
public sealed record UpdateUserRequest(string UserId, string UserName, string Email, bool EmailConfirmed, string? PhoneNumber, bool PhoneNumberConfirmed, bool LockoutEnabled, DateTimeOffset? LockoutEnd, int AccessFailedCount, bool TwoFactorEnabled);
public sealed record Claim(string ClaimType, string ClaimValue, int? ClaimId = null);