예제 #1
0
 public FieldsToSerialize(IResourceGraph resourceGraph,
                          ISparseFieldsService sparseFieldsService,
                          IResourceDefinitionProvider provider)
 {
     _resourceGraph       = resourceGraph;
     _sparseFieldsService = sparseFieldsService;
     _provider            = provider;
 }
예제 #2
0
 public SortService(IResourceDefinitionProvider resourceDefinitionProvider,
                    IResourceGraph resourceGraph,
                    ICurrentRequest currentRequest)
     : base(resourceGraph, currentRequest)
 {
     _resourceDefinitionProvider = resourceDefinitionProvider;
     _queries = new List <SortQueryContext>();
 }
 public FieldsToSerialize(
     IResourceGraph resourceGraph,
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     IResourceDefinitionProvider resourceDefinitionProvider)
 {
     _resourceGraph              = resourceGraph ?? throw new ArgumentNullException(nameof(resourceGraph));
     _constraintProviders        = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
     _resourceDefinitionProvider = resourceDefinitionProvider ?? throw new ArgumentNullException(nameof(resourceDefinitionProvider));
 }
예제 #4
0
 public FieldsToSerialize(
     IResourceGraph resourceGraph,
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     IResourceDefinitionProvider resourceDefinitionProvider)
 {
     _resourceGraph              = resourceGraph;
     _constraintProviders        = constraintProviders;
     _resourceDefinitionProvider = resourceDefinitionProvider;
 }
 public QueryLayerComposer(
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     IResourceContextProvider resourceContextProvider,
     IResourceDefinitionProvider resourceDefinitionProvider,
     IJsonApiOptions options,
     IPaginationContext paginationContext)
 {
     _constraintProviders        = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
     _resourceContextProvider    = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider));
     _resourceDefinitionProvider = resourceDefinitionProvider ?? throw new ArgumentNullException(nameof(resourceDefinitionProvider));
     _options           = options ?? throw new ArgumentNullException(nameof(options));
     _paginationContext = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
 }
        public QueryParserBenchmarks()
        {
            IJsonApiOptions options       = new JsonApiOptions();
            IResourceGraph  resourceGraph = DependencyFactory.CreateResourceGraph();

            var currentRequest = new CurrentRequest();

            currentRequest.SetRequestResource(resourceGraph.GetResourceContext(typeof(BenchmarkResource)));

            IResourceDefinitionProvider resourceDefinitionProvider = DependencyFactory.CreateResourceDefinitionProvider(resourceGraph);

            _queryParameterDiscoveryForSort = CreateQueryParameterDiscoveryForSort(resourceGraph, currentRequest, resourceDefinitionProvider, options);
            _queryParameterDiscoveryForAll  = CreateQueryParameterDiscoveryForAll(resourceGraph, currentRequest, resourceDefinitionProvider, options);
        }
예제 #7
0
 public FilterService(IResourceDefinitionProvider resourceDefinitionProvider, IResourceGraph resourceGraph, ICurrentRequest currentRequest) : base(resourceGraph, currentRequest)
 {
     _requestResourceDefinition = resourceDefinitionProvider.Get(_requestResource.ResourceType);
     _filters = new List <FilterQueryContext>();
 }
        private static QueryParameterDiscovery CreateQueryParameterDiscoveryForAll(IResourceGraph resourceGraph,
                                                                                   CurrentRequest currentRequest, IResourceDefinitionProvider resourceDefinitionProvider, IJsonApiOptions options)
        {
            IIncludeService      includeService      = new IncludeService(resourceGraph, currentRequest);
            IFilterService       filterService       = new FilterService(resourceDefinitionProvider, resourceGraph, currentRequest);
            ISortService         sortService         = new SortService(resourceDefinitionProvider, resourceGraph, currentRequest);
            ISparseFieldsService sparseFieldsService = new SparseFieldsService(resourceGraph, currentRequest);
            IPageService         pageService         = new PageService(options, resourceGraph, currentRequest);
            IOmitDefaultService  omitDefaultService  = new OmitDefaultService(options);
            IOmitNullService     omitNullService     = new OmitNullService(options);

            var queryServices = new List <IQueryParameterService>
            {
                includeService, filterService, sortService, sparseFieldsService, pageService, omitDefaultService,
                omitNullService
            };

            return(new QueryParameterDiscovery(options, queryServices));
        }
        private static QueryParameterDiscovery CreateQueryParameterDiscoveryForSort(IResourceGraph resourceGraph,
                                                                                    CurrentRequest currentRequest, IResourceDefinitionProvider resourceDefinitionProvider, IJsonApiOptions options)
        {
            ISortService sortService = new SortService(resourceDefinitionProvider, resourceGraph, currentRequest);

            var queryServices = new List <IQueryParameterService>
            {
                sortService
            };

            return(new QueryParameterDiscovery(options, queryServices));
        }
예제 #10
0
 public ResourceDefinitionQueryableParameterReader(IJsonApiRequest request, IResourceDefinitionProvider resourceDefinitionProvider)
 {
     _request = request ?? throw new ArgumentNullException(nameof(request));
     _resourceDefinitionProvider = resourceDefinitionProvider ?? throw new ArgumentNullException(nameof(resourceDefinitionProvider));
 }
 public ResourceDefinitionQueryableParameterReader(ICurrentRequest currentRequest, IResourceDefinitionProvider resourceDefinitionProvider)
 {
     _currentRequest             = currentRequest;
     _resourceDefinitionProvider = resourceDefinitionProvider;
 }
        private static QueryParameterParser CreateQueryParameterDiscoveryForAll(IResourceGraph resourceGraph,
                                                                                CurrentRequest currentRequest, IResourceDefinitionProvider resourceDefinitionProvider,
                                                                                IJsonApiOptions options, FakeRequestQueryStringAccessor queryStringAccessor)
        {
            IIncludeService      includeService      = new IncludeService(resourceGraph, currentRequest);
            IFilterService       filterService       = new FilterService(resourceDefinitionProvider, resourceGraph, currentRequest);
            ISortService         sortService         = new SortService(resourceDefinitionProvider, resourceGraph, currentRequest);
            ISparseFieldsService sparseFieldsService = new SparseFieldsService(resourceGraph, currentRequest);
            IPageService         pageService         = new PageService(options, resourceGraph, currentRequest);
            IDefaultsService     defaultsService     = new DefaultsService(options);
            INullsService        nullsService        = new NullsService(options);

            var queryServices = new List <IQueryParameterService>
            {
                includeService, filterService, sortService, sparseFieldsService, pageService, defaultsService,
                nullsService
            };

            return(new QueryParameterParser(options, queryStringAccessor, queryServices, NullLoggerFactory.Instance));
        }
        private static QueryParameterParser CreateQueryParameterDiscoveryForSort(IResourceGraph resourceGraph,
                                                                                 CurrentRequest currentRequest, IResourceDefinitionProvider resourceDefinitionProvider,
                                                                                 IJsonApiOptions options, FakeRequestQueryStringAccessor queryStringAccessor)
        {
            ISortService sortService = new SortService(resourceDefinitionProvider, resourceGraph, currentRequest);

            var queryServices = new List <IQueryParameterService>
            {
                sortService
            };

            return(new QueryParameterParser(options, queryStringAccessor, queryServices, NullLoggerFactory.Instance));
        }