public override async Task <PaginatePermissionsResponse> PaginatePermissions(PaginatePermissionsRequest request, ServerCallContext context) { var options = new PermissionOptions { PageIndex = request.PageIndex, PageSize = request.PageSize, }; var permissions = await _authorizationApp.GetPermissionsAsync(options); var items = permissions.Items.Select(x => new PaginatePermissionsResponse.Types.Permission { Id = x.Id, Code = x.Code, Name = x.Name, IsEnabled = x.IsEnabled, }); var result = new PaginatePermissionsResponse { PageIndex = permissions.PageIndex, PageSize = permissions.PageSize, ItemCount = permissions.ItemCount, }; result.Items.AddRange(items); return(result); }
public async Task <IActionResult> GetPermissionsAsync([FromQuery] PaginationOptions input) { var request = new PaginatePermissionsRequest { PageIndex = input.PageIndex, PageSize = input.PageSize }; var response = await _authorizationClient.PaginatePermissionsAsync(request); var result = new PaginationResult <PermissionSummary> { PageIndex = response.PageIndex, PageSize = response.PageSize, ItemCount = response.ItemCount, Items = response.Items .Select(x => new PermissionSummary { Id = x.Id, Code = x.Code, Name = x.Name, IsEnabled = x.IsEnabled, }) .ToList(), }; return(Ok(result)); }