private static QueryStringReader CreateQueryParameterDiscoveryForSort(IResourceGraph resourceGraph, JsonApiRequest request, IJsonApiOptions options,
                                                                              FakeRequestQueryStringAccessor queryStringAccessor)
        {
            var sortReader = new SortQueryStringParameterReader(request, resourceGraph);

            IEnumerable <SortQueryStringParameterReader> readers = sortReader.AsEnumerable();

            return(new QueryStringReader(options, queryStringAccessor, readers, NullLoggerFactory.Instance));
        }
Exemple #2
0
        private IncludedResourceObjectBuilder GetBuilder()
        {
            IFieldsToSerialize          fields = GetSerializableFields();
            ILinkBuilder                links  = GetLinkBuilder();
            IResourceDefinitionAccessor resourceDefinitionAccessor = new Mock <IResourceDefinitionAccessor>().Object;
            var queryStringAccessor = new FakeRequestQueryStringAccessor();
            IResourceObjectBuilderSettingsProvider resourceObjectBuilderSettingsProvider = GetSerializerSettingsProvider();

            return(new IncludedResourceObjectBuilder(fields, links, ResourceGraph, Enumerable.Empty <IQueryConstraintProvider>(), resourceDefinitionAccessor,
                                                     queryStringAccessor, resourceObjectBuilderSettingsProvider));
        }
        private static QueryStringReader CreateQueryParameterDiscoveryForAll(IResourceGraph resourceGraph, JsonApiRequest request, IJsonApiOptions options,
                                                                             FakeRequestQueryStringAccessor queryStringAccessor)
        {
            var resourceFactory = new ResourceFactory(new ServiceContainer());

            var includeReader        = new IncludeQueryStringParameterReader(request, resourceGraph, options);
            var filterReader         = new FilterQueryStringParameterReader(request, resourceGraph, resourceFactory, options);
            var sortReader           = new SortQueryStringParameterReader(request, resourceGraph);
            var sparseFieldSetReader = new SparseFieldSetQueryStringParameterReader(request, resourceGraph);
            var paginationReader     = new PaginationQueryStringParameterReader(request, resourceGraph, options);
            var defaultsReader       = new DefaultsQueryStringParameterReader(options);
            var nullsReader          = new NullsQueryStringParameterReader(options);

            IQueryStringParameterReader[] readers = ArrayFactory.Create <IQueryStringParameterReader>(includeReader, filterReader, sortReader,
                                                                                                      sparseFieldSetReader, paginationReader, defaultsReader, nullsReader);

            return(new QueryStringReader(options, queryStringAccessor, readers, NullLoggerFactory.Instance));
        }
        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));
        }
        private static QueryStringReader CreateQueryParameterDiscoveryForSort(IResourceGraph resourceGraph,
                                                                              CurrentRequest currentRequest,
                                                                              IJsonApiOptions options, FakeRequestQueryStringAccessor queryStringAccessor)
        {
            var sortReader = new SortQueryStringParameterReader(currentRequest, resourceGraph);

            var readers = new List <IQueryStringParameterReader>
            {
                sortReader
            };

            return(new QueryStringReader(options, queryStringAccessor, readers, NullLoggerFactory.Instance));
        }