Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
        public async Task <ActionResult <PaginatedResult <ListUsersResponseDetail> > > List([FromQuery] ListPermissionRequest request, CancellationToken cancellationToken = default)
        {
            var response = await _mediator.Send(request, cancellationToken);

            return(Ok(response));
        }