using ApplicationLayer.InfrastructureServicesInterfaces;
using Domains.Users;
namespace ApplicationLayer.Services.AuthServices.NeededServices;
/// Repository pattern for 
public interface IUsersRepository : IGenericRepository
{
    /// Find  by email
    /// 's email
    /// Cancellation token
    /// User or null if not found
    Task FindByEmailAsync(string email, CancellationToken cancellationToken);
    /// Returns all accounts with specific role
    /// role
    /// cancellation token
    /// list of accounts
    Task> GetAllOfRoleAsync(Role role, CancellationToken cancellationToken);
}