using Modules.User.Application.Models.Access; namespace Modules.User.Application.Gateways; public interface IUserRepository { Task GetByIdAsync(Guid id, CancellationToken cancellationToken = default); Task ExistsByEmailAsync(string email, CancellationToken cancellationToken); Task GetByAccountIdAsync(Guid accountId, CancellationToken cancellationToken = default); Task AddAsync(Domain.Entities.User.User user, CancellationToken cancellationToken = default); Task SaveAsync(Domain.Entities.User.User user, CancellationToken cancellationToken = default); Task TryGetHashedAccountAsync(string email, CancellationToken cancellationToken = default); }