public async Task <PaginatedResult <ListUsersResponseDetail> > Handle(ListPermissionRequest request, CancellationToken cancellationToken = default) { var total = await _storeDbContext.Permissions .CountAsync(cancellationToken); var userPermissions = await _storeDbContext .Permissions .Where(p => p.Kind == SubjectType.User) .Skip(request.PageIndex * request.PageCount) .Take(request.PageCount) .Select(u => new ListUsersResponseDetail() { SubjectId = u.SubjectId, ActAs = u.ApplicationRole.ToString(), }).ToListAsync(cancellationToken); return(new PaginatedResult <ListUsersResponseDetail>() { Total = total, PageIndex = request.PageIndex, Count = userPermissions.Count, Items = userPermissions }); }
public async Task <ActionResult <PaginatedResult <ListUsersResponseDetail> > > List([FromQuery] ListPermissionRequest request, CancellationToken cancellationToken = default) { var response = await _mediator.Send(request, cancellationToken); return(Ok(response)); }