using AutoMapper; using MediatR; using mws.backend.dotnet.application.Common; namespace mws.backend.dotnet.application.Permissions; public record GetRolesQuery(int Page, int PageSize) : IRequest>; public class GetRolesHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler> { public async Task> Handle(GetRolesQuery query, CancellationToken ct) { var roles = await uow.Roles.GetAllWithPermissionsAsync(query.Page, query.PageSize, ct); return new PagedResult { Items = mapper.Map>(roles.Items), TotalCount = roles.TotalCount, Page = roles.Page, PageSize = roles.PageSize, }; } }