コード例 #1
0
        public JsonApiResourceService(
            IResourceRepository <TResource, TId> repository,
            IQueryLayerComposer queryLayerComposer,
            IPaginationContext paginationContext,
            IJsonApiOptions options,
            ILoggerFactory loggerFactory,
            IJsonApiRequest request,
            IResourceChangeTracker <TResource> resourceChangeTracker,
            IResourceFactory resourceFactory,
            IResourceHookExecutor hookExecutor = null)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _repository            = repository ?? throw new ArgumentNullException(nameof(repository));
            _queryLayerComposer    = queryLayerComposer ?? throw new ArgumentNullException(nameof(queryLayerComposer));
            _paginationContext     = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
            _options               = options ?? throw new ArgumentNullException(nameof(options));
            _traceWriter           = new TraceLogWriter <JsonApiResourceService <TResource, TId> >(loggerFactory);
            _request               = request ?? throw new ArgumentNullException(nameof(request));
            _resourceChangeTracker = resourceChangeTracker ?? throw new ArgumentNullException(nameof(resourceChangeTracker));
            _resourceFactory       = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory));
            _hookExecutor          = hookExecutor;
        }
コード例 #2
0
        public JsonApiResourceService(IResourceRepositoryAccessor repositoryAccessor, IQueryLayerComposer queryLayerComposer,
                                      IPaginationContext paginationContext, IJsonApiOptions options, ILoggerFactory loggerFactory, IJsonApiRequest request,
                                      IResourceChangeTracker <TResource> resourceChangeTracker, IResourceHookExecutorFacade hookExecutor)
        {
            ArgumentGuard.NotNull(repositoryAccessor, nameof(repositoryAccessor));
            ArgumentGuard.NotNull(queryLayerComposer, nameof(queryLayerComposer));
            ArgumentGuard.NotNull(paginationContext, nameof(paginationContext));
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(loggerFactory, nameof(loggerFactory));
            ArgumentGuard.NotNull(request, nameof(request));
            ArgumentGuard.NotNull(resourceChangeTracker, nameof(resourceChangeTracker));
            ArgumentGuard.NotNull(hookExecutor, nameof(hookExecutor));

            _repositoryAccessor    = repositoryAccessor;
            _queryLayerComposer    = queryLayerComposer;
            _paginationContext     = paginationContext;
            _options               = options;
            _request               = request;
            _resourceChangeTracker = resourceChangeTracker;
            _hookExecutor          = hookExecutor;
            _traceWriter           = new TraceLogWriter <JsonApiResourceService <TResource, TId> >(loggerFactory);

#pragma warning disable 612 // Method is obsolete
            _resourceDefinitionAccessor = queryLayerComposer.GetResourceDefinitionAccessor();
#pragma warning restore 612
        }
コード例 #3
0
 public MultiTenantResourceService(ITenantProvider tenantProvider, IResourceRepositoryAccessor repositoryAccessor,
                                   IQueryLayerComposer queryLayerComposer, IPaginationContext paginationContext, IJsonApiOptions options, ILoggerFactory loggerFactory,
                                   IJsonApiRequest request, IResourceChangeTracker <TResource> resourceChangeTracker, IResourceHookExecutorFacade hookExecutor)
     : base(repositoryAccessor, queryLayerComposer, paginationContext, options, loggerFactory, request, resourceChangeTracker, hookExecutor)
 {
     _tenantProvider = tenantProvider;
 }
コード例 #4
0
 public MetaBuilder(IPaginationContext paginationContext, IJsonApiOptions options, IRequestMeta requestMeta = null,
                    ResourceDefinition <TResource> resourceDefinition = null)
 {
     _paginationContext = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
     _options           = options ?? throw new ArgumentNullException(nameof(options));
     _requestMeta       = requestMeta;
     _resourceMeta      = resourceDefinition as IHasMeta;
 }
コード例 #5
0
 public ConsumerArticleService(IResourceRepositoryAccessor repositoryAccessor, IQueryLayerComposer queryLayerComposer,
                               IPaginationContext paginationContext, IJsonApiOptions options, ILoggerFactory loggerFactory,
                               IJsonApiRequest request, IResourceChangeTracker <ConsumerArticle> resourceChangeTracker,
                               IResourceHookExecutorFacade hookExecutor)
     : base(repositoryAccessor, queryLayerComposer, paginationContext, options, loggerFactory, request,
            resourceChangeTracker, hookExecutor)
 {
 }
コード例 #6
0
 public MetaBuilder(IPaginationContext paginationContext, IJsonApiOptions options, IRequestMeta requestMeta = null,
                    ResourceDefinition <T> resourceDefinition = null)
 {
     _paginationContext = paginationContext;
     _options           = options;
     _requestMeta       = requestMeta;
     _resourceMeta      = resourceDefinition as IHasMeta;
 }
コード例 #7
0
        public MetaBuilder(IPaginationContext paginationContext, IJsonApiOptions options, IResponseMeta responseMeta)
        {
            ArgumentGuard.NotNull(paginationContext, nameof(paginationContext));
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(responseMeta, nameof(responseMeta));

            _paginationContext = paginationContext;
            _options           = options;
            _responseMeta      = responseMeta;
        }
コード例 #8
0
 public LinkBuilder(IJsonApiOptions options,
                    IJsonApiRequest request,
                    IPaginationContext paginationContext,
                    IResourceContextProvider provider,
                    IRequestQueryStringAccessor queryStringAccessor)
 {
     _options             = options ?? throw new ArgumentNullException(nameof(options));
     _request             = request ?? throw new ArgumentNullException(nameof(request));
     _paginationContext   = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
     _provider            = provider ?? throw new ArgumentNullException(nameof(provider));
     _queryStringAccessor = queryStringAccessor ?? throw new ArgumentNullException(nameof(queryStringAccessor));
 }
コード例 #9
0
 public LinkBuilder(IJsonApiOptions options,
                    ICurrentRequest currentRequest,
                    IPaginationContext paginationContext,
                    IResourceContextProvider provider,
                    IRequestQueryStringAccessor queryStringAccessor)
 {
     _options             = options;
     _currentRequest      = currentRequest;
     _paginationContext   = paginationContext;
     _provider            = provider;
     _queryStringAccessor = queryStringAccessor;
 }
コード例 #10
0
 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));
 }
コード例 #11
0
 public CustomArticleService(
     IResourceRepository <Article> repository,
     IQueryLayerComposer queryLayerComposer,
     IPaginationContext paginationContext,
     IJsonApiOptions options,
     ILoggerFactory loggerFactory,
     IJsonApiRequest request,
     IResourceChangeTracker <Article> resourceChangeTracker,
     IResourceFactory resourceFactory,
     IResourceHookExecutor hookExecutor = null)
     : base(repository, queryLayerComposer, paginationContext, options, loggerFactory, request,
            resourceChangeTracker, resourceFactory, hookExecutor)
 {
 }
コード例 #12
0
 public TestModelService(
     IResourceRepository <TestModel> repository,
     IQueryLayerComposer queryLayerComposer,
     IPaginationContext paginationContext,
     IJsonApiOptions options,
     ILoggerFactory loggerFactory,
     ICurrentRequest currentRequest,
     IResourceChangeTracker <TestModel> resourceChangeTracker,
     IResourceFactory resourceFactory,
     IResourceHookExecutor hookExecutor = null)
     : base(repository, queryLayerComposer, paginationContext, options, loggerFactory, currentRequest,
            resourceChangeTracker, resourceFactory, hookExecutor)
 {
 }
コード例 #13
0
        public LinkBuilder(IJsonApiOptions options, IJsonApiRequest request, IPaginationContext paginationContext, IResourceContextProvider provider,
                           IRequestQueryStringAccessor queryStringAccessor)
        {
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(request, nameof(request));
            ArgumentGuard.NotNull(paginationContext, nameof(paginationContext));
            ArgumentGuard.NotNull(provider, nameof(provider));
            ArgumentGuard.NotNull(queryStringAccessor, nameof(queryStringAccessor));

            _options             = options;
            _request             = request;
            _paginationContext   = paginationContext;
            _provider            = provider;
            _queryStringAccessor = queryStringAccessor;
        }
コード例 #14
0
 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);
 }
コード例 #15
0
        public LinkBuilder(IJsonApiOptions options, IJsonApiRequest request, IPaginationContext paginationContext,
                           IResourceContextProvider resourceContextProvider, IHttpContextAccessor httpContextAccessor, LinkGenerator linkGenerator,
                           IControllerResourceMapping controllerResourceMapping)
        {
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(request, nameof(request));
            ArgumentGuard.NotNull(paginationContext, nameof(paginationContext));
            ArgumentGuard.NotNull(resourceContextProvider, nameof(resourceContextProvider));
            ArgumentGuard.NotNull(linkGenerator, nameof(linkGenerator));
            ArgumentGuard.NotNull(controllerResourceMapping, nameof(controllerResourceMapping));

            _options                   = options;
            _request                   = request;
            _paginationContext         = paginationContext;
            _resourceContextProvider   = resourceContextProvider;
            _httpContextAccessor       = httpContextAccessor;
            _linkGenerator             = linkGenerator;
            _controllerResourceMapping = controllerResourceMapping;
        }
コード例 #16
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);
        }
コード例 #17
0
 public JsonApiResourceService(
     IResourceRepository <TResource, TId> repository,
     IQueryLayerComposer queryLayerComposer,
     IPaginationContext paginationContext,
     IJsonApiOptions options,
     ILoggerFactory loggerFactory,
     ICurrentRequest currentRequest,
     IResourceChangeTracker <TResource> resourceChangeTracker,
     IResourceFactory resourceFactory,
     IResourceHookExecutor hookExecutor = null)
 {
     _repository            = repository;
     _queryLayerComposer    = queryLayerComposer;
     _paginationContext     = paginationContext;
     _options               = options;
     _currentRequest        = currentRequest;
     _logger                = loggerFactory.CreateLogger <JsonApiResourceService <TResource, TId> >();
     _resourceChangeTracker = resourceChangeTracker;
     _resourceFactory       = resourceFactory;
     _hookExecutor          = hookExecutor;
 }
コード例 #18
0
 public LinkBuilderTests()
 {
     _paginationContext = GetPaginationContext();
 }
コード例 #19
0
 public MetaBuilder(IPaginationContext paginationContext, IJsonApiOptions options, IResponseMeta responseMeta)
 {
     _paginationContext = paginationContext ?? throw new ArgumentNullException(nameof(paginationContext));
     _options           = options ?? throw new ArgumentNullException(nameof(options));
     _responseMeta      = responseMeta ?? throw new ArgumentNullException(nameof(responseMeta));
 }
コード例 #20
0
 public SoftDeletionAwareResourceService(ISystemClock systemClock, ITargetedFields targetedFields, IResourceRepositoryAccessor repositoryAccessor,
                                         IQueryLayerComposer queryLayerComposer, IPaginationContext paginationContext, IJsonApiOptions options, ILoggerFactory loggerFactory,
                                         IJsonApiRequest request, IResourceChangeTracker <TResource> resourceChangeTracker, IResourceHookExecutorFacade hookExecutor)
     : base(repositoryAccessor, queryLayerComposer, paginationContext, options, loggerFactory, request, resourceChangeTracker, hookExecutor)
 {
     _systemClock        = systemClock;
     _targetedFields     = targetedFields;
     _repositoryAccessor = repositoryAccessor;
     _request            = request;
 }