Files
mws.backend.dotnet/application/Common/Repositories/IRoleRepository.cs
T

17 lines
975 B
C#
Raw Normal View History

2026-08-19 23:25:08 +07:00
using mws.backend.dotnet.application.Common;
using mws.backend.dotnet.domain.Roles;
2026-08-13 23:10:22 +07:00
2026-08-19 23:25:08 +07:00
namespace mws.backend.dotnet.application.Common.Repositories;
2026-08-13 23:10:22 +07:00
public interface IRoleRepository : IRepository<Role>
{
2026-08-19 23:25:08 +07:00
Task<PagedResult<Role>> GetAllWithPermissionsAsync(int page, int pageSize, CancellationToken ct = default);
2026-08-13 23:10:22 +07:00
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);
2026-08-19 23:25:08 +07:00
Task<List<RolePermission>> GetPermissionsForRolesAsync(IEnumerable<Guid> roleIds, CancellationToken ct = default);
2026-08-13 23:10:22 +07:00
void RemovePermissions(IEnumerable<RolePermission> permissions);
}