using ApplicationLayer.Services.Users.Requests;
using Domains.Users;
namespace ApplicationLayer.Services.Users;
/// user accounts service
public interface IUsersService
{
/// Returns all user accounts with role of approving authority
/// Cancellation token
Task> GetAuthoritiesAccountsAsync(CancellationToken cancellationToken);
/// Changes authentication data for an account
/// Request object with identifier of user and new authentication data
/// Cancellation token
Task ChangeAccountAuthDataAsync(ChangeUserAuthDataRequest request, CancellationToken cancellationToken);
/// Removes user account
/// Identifier of account
/// Cancellation token
Task RemoveUserAccount(Guid userId, CancellationToken cancellationToken);
}