예제 #1
0
    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);
    }
예제 #2
0
        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));
        }