using Mws.Domain.Users; namespace Mws.Application.Common.Repositories; public interface IUserRepository : IRepository { Task GetByIdAsync(Guid id, CancellationToken ct = default); Task GetByIdWithRoleAsync(Guid id, CancellationToken ct = default); Task GetByUsernameWithRoleAsync(string username, CancellationToken ct = default); Task ExistsByUsernameAsync(string username, CancellationToken ct = default); Task ExistsByRoleIdAsync(Guid roleId, CancellationToken ct = default); Task GetRoleIdAsync(Guid userId, CancellationToken ct = default); Task> SearchWithRoleAsync(string? term, int? take, CancellationToken ct = default); }