Files
pfm/PostFundManagement.Domain/Abstractions/ISkorubaUserService.cs
T

51 lines
1.8 KiB
C#

using PostFundManagement.Domain.Attributes;
using PostFundManagement.Domain.Models.Security;
namespace PostFundManagement.Domain.Abstractions;
public interface ISkorubaUserService
{
[Log]
[Audit]
Task<Result<string>> CreateUserAsync(CreateUserRequest request, Guid userId, CancellationToken cancellationToken = default);
[Log]
Task<Result<UserResponse>> GetUserAsync(Guid userId, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> UpdateUserAsync(UpdateUserRequest request, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> SetUserLockoutAsync(Guid userId, bool disabled, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> AddClaimAsync(Guid userId, string claimType, string claimValue, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> RemoveClaimAsync(Guid userId, int claimId, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> AddRoleAsync(Guid userId, string roleId, CancellationToken cancellationToken = default);
[Log]
[Audit]
Task<Result> RemoveRoleAsync(Guid userId, string roleId, CancellationToken cancellationToken = default);
[Log]
Task<Result<Role[]>> GetAvailableRolesAsync(string? searchText = null, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
Task<Result<Role[]>> GetUserRolesAsync(Guid userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
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);
}