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