using Mws.Domain.Roles; namespace Mws.Application.Common.Repositories; public interface IRoleRepository : IRepository { Task> GetAllWithPermissionsAsync(CancellationToken ct = default); Task GetByIdWithPermissionsAsync(Guid id, CancellationToken ct = default); Task GetByIdAsync(Guid id, CancellationToken ct = default); Task ExistsByNameAsync(string name, Guid? excludeId, CancellationToken ct = default); Task GetPermissionAsync(Guid roleId, string screen, CancellationToken ct = default); Task> GetPermissionsAsync(Guid roleId, CancellationToken ct = default); void RemovePermissions(IEnumerable permissions); }