Exemple #1
0
        public async Task <ActionResult <ServerDataGridModel> > GridSchema([FromServices] IAuthorizationService authorizationService, [FromServices] ResourcePointControllerFactory <TEntity, TFilterableEntity, TKey> controllerFactory)
        {
            var result = await authorizationService.AuthorizeAsync(User, typeof(TEntity), CrudOperations.Read);

            if (!result.Succeeded)
            {
                return(Forbid());
            }

            var schemaProvider = controllerFactory.GetEntitySchemaProvider();

            var model = await schemaProvider.GetModelAsync(new EntitySchemaProviderContext());

            return(Ok(model));
        }
Exemple #2
0
        public async Task <ActionResult <PagedResult <TFilterableEntity> > > Get(FilterParameters filterParameters, [FromServices] RemboardContext context, [FromServices] IAuthorizationService authorizationService, [FromServices] ResourcePointControllerFactory <TEntity, TFilterableEntity, TKey> controllerFactory)
        {
            var result = await authorizationService.AuthorizeAsync(User, typeof(TEntity), CrudOperations.Read);

            if (!result.Succeeded)
            {
                return(Forbid());
            }

            var filterableOperation = controllerFactory.GetFilterableOperation();
            var predicateFactory    = controllerFactory.GetMandatoryPredicateFactory();
            var pagedResult         = await filterableOperation.FilterAsync(context, predicateFactory, filterParameters);

            return(Ok(pagedResult));
        }