public QueryLayerComposer(
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     IResourceContextProvider resourceContextProvider,
     IResourceDefinitionAccessor resourceDefinitionAccessor,
     IJsonApiOptions options,
     IPaginationContext paginationContext,
     ITargetedFields targetedFields)
 {
     _constraintProviders        = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
     _resourceContextProvider    = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider));
     _resourceDefinitionAccessor = resourceDefinitionAccessor ?? throw new ArgumentNullException(nameof(resourceDefinitionAccessor));
     _options             = options ?? throw new ArgumentNullException(nameof(options));
     _paginationContext   = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
     _targetedFields      = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
     _sparseFieldSetCache = new SparseFieldSetCache(constraintProviders, resourceDefinitionAccessor);
 }
Пример #2
0
        public QueryLayerComposer(IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceContextProvider resourceContextProvider,
                                  IResourceDefinitionAccessor resourceDefinitionAccessor, IJsonApiOptions options, IPaginationContext paginationContext,
                                  ITargetedFields targetedFields)
        {
            ArgumentGuard.NotNull(constraintProviders, nameof(constraintProviders));
            ArgumentGuard.NotNull(resourceContextProvider, nameof(resourceContextProvider));
            ArgumentGuard.NotNull(resourceDefinitionAccessor, nameof(resourceDefinitionAccessor));
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(paginationContext, nameof(paginationContext));
            ArgumentGuard.NotNull(targetedFields, nameof(targetedFields));

            _constraintProviders        = constraintProviders;
            _resourceContextProvider    = resourceContextProvider;
            _resourceDefinitionAccessor = resourceDefinitionAccessor;
            _options             = options;
            _paginationContext   = paginationContext;
            _targetedFields      = targetedFields;
            _sparseFieldSetCache = new SparseFieldSetCache(_constraintProviders, resourceDefinitionAccessor);
        }