15 lines
750 B
C#
15 lines
750 B
C#
using Mws.Domain.Roles;
|
|||
|
|
|
||
|
|
namespace Mws.Application.Common.Repositories;
|
||
|
|
|
||
|
|
public interface IRoleRepository : IRepository<Role>
|
||
|
|
{
|
||
|
|
Task<List<Role>> GetAllWithPermissionsAsync(CancellationToken ct = default);
|
||
|
|
Task<Role?> GetByIdWithPermissionsAsync(Guid id, CancellationToken ct = default);
|
||
|
|
Task<Role?> GetByIdAsync(Guid id, CancellationToken ct = default);
|
||
|
|
Task<bool> ExistsByNameAsync(string name, Guid? excludeId, CancellationToken ct = default);
|
||
|
|
Task<RolePermission?> GetPermissionAsync(Guid roleId, string screen, CancellationToken ct = default);
|
||
|
|
Task<Dictionary<string, RolePermission>> GetPermissionsAsync(Guid roleId, CancellationToken ct = default);
|
||
|
|
void RemovePermissions(IEnumerable<RolePermission> permissions);
|
||
|
|
}
|