65 lines
2.5 KiB
C#
65 lines
2.5 KiB
C#
using PostFundManagement.Application.Services.Users;
|
|
using PostFundManagement.Domain;
|
|
using PostFundManagement.Domain.Attributes;
|
|
using PostFundManagement.Domain.Models;
|
|
using PostFundManagement.Domain.Models.Security;
|
|
|
|
namespace PostFundManagement.Application.Abstractions.Services;
|
|
|
|
public interface IUserService
|
|
{
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> SyncUserAsync(Guid userId, string email, string role, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<User[]>> GetUsersAsync(Pagination pagination, UserFilterRequest request, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> UpdateUserStatusAsync(Guid userId, ActivityStatus status, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<User>> GetUserAsync(Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> CreateUserAsync(string tenantIdHash, string idNumberHash, CreateUserRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> AddUserClaimAsync(AddUserClaimRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> AddUserRoleAsync(Guid targetUserId, Guid roleId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> DeleteUserClaimAsync(string claimIdHash, Guid targetUserId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> SetUserLockoutAsync(Guid targetUserId, Guid userId, bool disable, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> LogoutUserAsync(Guid targetUserId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<Role[]>> GetUserRolesAsync(Guid targetUserId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<Domain.Models.Security.Claim[]>> GetUserClaimsAsync(Guid targetUserId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<Domain.Models.Security.Claim[]>> GetRoleClaimsAsync(Guid roleId, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
Task<Result<Role[]>> GetSystemRolesAsync(Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Log]
|
|
[Audit]
|
|
Task<Result> DeleteUserRoleAsync(Guid targetUserId, Guid roleId, Guid userId, CancellationToken cancellationToken = default);
|
|
}
|