public ResultCapturingRepository(ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph,
                                  IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory,
                                  ResourceCaptureStore captureStore)
     : base(targetedFields, contextResolver, resourceGraph, resourceFactory, constraintProviders, loggerFactory)
 {
     _captureStore = captureStore;
 }
 private void AssertResourceIdIsNotTargeted(ITargetedFields targetedFields)
 {
     if (!_request.IsReadOnly && targetedFields.Attributes.Any(attribute => attribute.Property.Name == nameof(Identifiable.Id)))
     {
         throw new JsonApiSerializationException("Resource ID is read-only.", null, atomicOperationIndex: AtomicOperationIndex);
     }
 }
        public EntityFrameworkCoreRepository(
            ITargetedFields targetedFields,
            IDbContextResolver contextResolver,
            IResourceGraph resourceGraph,
            IGenericServiceFactory genericServiceFactory,
            IResourceFactory resourceFactory,
            IEnumerable <IQueryConstraintProvider> constraintProviders,
            ILoggerFactory loggerFactory)
        {
            if (contextResolver == null)
            {
                throw new ArgumentNullException(nameof(contextResolver));
            }
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _targetedFields        = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
            _resourceGraph         = resourceGraph ?? throw new ArgumentNullException(nameof(resourceGraph));
            _genericServiceFactory = genericServiceFactory ?? throw new ArgumentNullException(nameof(genericServiceFactory));
            _resourceFactory       = resourceFactory ?? throw new ArgumentNullException(nameof(resourceFactory));
            _constraintProviders   = constraintProviders ?? throw new ArgumentNullException(nameof(constraintProviders));
            _dbContext             = contextResolver.GetContext();
            _traceWriter           = new TraceLogWriter <EntityFrameworkCoreRepository <TResource, TId> >(loggerFactory);
        }
Exemplo n.º 4
0
 public ResultCapturingRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph,
                                  IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor,
                                  ResourceCaptureStore captureStore)
     : base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor)
 {
     _captureStore = captureStore;
 }
Exemplo n.º 5
0
 public TraversalHelper(
     IResourceGraph resourceGraph,
     ITargetedFields targetedFields)
 {
     _targetedFields = targetedFields;
     _resourceGraph  = resourceGraph;
 }
 public FrameBaseRepository(IAuthenticationService authenticationService, ITargetedFields targetedFields,
                            IDbContextResolver contextResolver, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
                            IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory)
     : base(targetedFields, contextResolver, resourceGraph, resourceFactory, constraintProviders, loggerFactory)
 {
     _authenticationService = authenticationService ?? throw new ArgumentNullException(nameof(authenticationService));
 }
Exemplo n.º 7
0
 public CarRepository(ITargetedFields targetedFields, IDbContextResolver contextResolver,
                      IResourceGraph resourceGraph, IResourceFactory resourceFactory,
                      IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory)
     : base(targetedFields, contextResolver, resourceGraph, resourceFactory, constraintProviders, loggerFactory)
 {
     _resourceGraph = resourceGraph;
 }
 public ResourceChangeTracker(IJsonApiOptions options, IResourceContextProvider resourceContextProvider,
                              ITargetedFields targetedFields)
 {
     _options = options ?? throw new ArgumentNullException(nameof(options));
     _resourceContextProvider = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider));
     _targetedFields          = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
 }
 public DefaultResourceChangeTracker(IJsonApiOptions options, IResourceContextProvider contextProvider,
                                     ITargetedFields targetedFields)
 {
     _options         = options;
     _contextProvider = contextProvider;
     _targetedFields  = targetedFields;
 }
 public TestModelRepository(
     ITargetedFields targetedFields,
     IResourceGraph resourceGraph,
     IGenericServiceFactory genericServiceFactory,
     ILoggerFactory loggerFactory)
     : base(targetedFields, _dbContextResolver, resourceGraph, genericServiceFactory, loggerFactory)
 {
 }
 public DefaultResourceRepository(
     ITargetedFields targetedFields,
     IDbContextResolver contextResolver,
     IResourceGraph resourceGraph,
     IGenericServiceFactory genericServiceFactory)
     : this(targetedFields, contextResolver, resourceGraph, genericServiceFactory, null)
 {
 }
 public OperationContainer(OperationKind kind, IIdentifiable resource, ITargetedFields targetedFields,
                           IJsonApiRequest request)
 {
     Kind           = kind;
     Resource       = resource ?? throw new ArgumentNullException(nameof(resource));
     TargetedFields = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
     Request        = request ?? throw new ArgumentNullException(nameof(request));
 }
 public DbContextARepository(ITargetedFields targetedFields, DbContextResolver <DbContextA> contextResolver,
                             IResourceGraph resourceGraph, IGenericServiceFactory genericServiceFactory,
                             IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders,
                             ILoggerFactory loggerFactory)
     : base(targetedFields, contextResolver, resourceGraph, genericServiceFactory, resourceFactory,
            constraintProviders, loggerFactory)
 {
 }
 /// <summary>
 /// Used internally by the ResourceHookExecutor to make live a bit easier with generics
 /// </summary>
 internal DiffableResourceHashSet(IEnumerable requestResources,
                                  IEnumerable databaseResources,
                                  Dictionary <RelationshipAttribute, IEnumerable> relationships,
                                  ITargetedFields targetedFields)
     : this((HashSet <TResource>)requestResources, (HashSet <TResource>)databaseResources, TypeHelper.ConvertRelationshipDictionary <TResource>(relationships),
            targetedFields.Attributes == null ? null : TypeHelper.ConvertAttributeDictionary(targetedFields.Attributes, (HashSet <TResource>)requestResources))
 {
 }
Exemplo n.º 15
0
        public LyricRepository(ExtraDbContext extraDbContext, ITargetedFields targetedFields, IDbContextResolver contextResolver, IResourceGraph resourceGraph,
                               IResourceFactory resourceFactory, IEnumerable <IQueryConstraintProvider> constraintProviders, ILoggerFactory loggerFactory)
            : base(targetedFields, contextResolver, resourceGraph, resourceFactory, constraintProviders, loggerFactory)
        {
            _extraDbContext = extraDbContext;

            extraDbContext.Database.EnsureCreated();
            extraDbContext.Database.BeginTransaction();
        }
Exemplo n.º 16
0
 public ResourceHookExecutor(IHookContainerProvider containerProvider, INodeNavigator nodeNavigator, ITargetedFields targetedFields,
                             IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceGraph resourceGraph)
 {
     _containerProvider   = containerProvider;
     _nodeNavigator       = nodeNavigator;
     _targetedFields      = targetedFields;
     _constraintProviders = constraintProviders;
     _resourceGraph       = resourceGraph;
 }
        public LyricRepository(IMongoDataAccess mongoDataAccess, ITargetedFields targetedFields, IResourceGraph resourceGraph, IResourceFactory resourceFactory,
                               IEnumerable <IQueryConstraintProvider> constraintProviders, IResourceDefinitionAccessor resourceDefinitionAccessor)
            : base(mongoDataAccess, targetedFields, resourceGraph, resourceFactory, constraintProviders, resourceDefinitionAccessor)
        {
            IMongoDataAccess otherDataAccess = new MongoDataAccess(mongoDataAccess.MongoDatabase);

            var factory = new MongoTransactionFactory(otherDataAccess);

            _transaction = factory.BeginTransactionAsync(CancellationToken.None).Result;
        }
 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;
 }
        public ResourceChangeTracker(IJsonApiOptions options, IResourceContextProvider resourceContextProvider, ITargetedFields targetedFields)
        {
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(resourceContextProvider, nameof(resourceContextProvider));
            ArgumentGuard.NotNull(targetedFields, nameof(targetedFields));

            _options = options;
            _resourceContextProvider = resourceContextProvider;
            _targetedFields          = targetedFields;
        }
Exemplo n.º 20
0
 public ResultCapturingRepository(
     IMongoDatabase db,
     ITargetedFields targetedFields,
     IResourceContextProvider resourceContextProvider,
     IResourceFactory resourceFactory,
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     ResourceCaptureStore captureStore)
     : base(db, targetedFields, resourceContextProvider, resourceFactory, constraintProviders)
 {
     _captureStore = captureStore;
 }
Exemplo n.º 21
0
        public OperationContainer(OperationKind kind, IIdentifiable resource, ITargetedFields targetedFields, IJsonApiRequest request)
        {
            ArgumentGuard.NotNull(resource, nameof(resource));
            ArgumentGuard.NotNull(targetedFields, nameof(targetedFields));
            ArgumentGuard.NotNull(request, nameof(request));

            Kind           = kind;
            Resource       = resource;
            TargetedFields = targetedFields;
            Request        = request;
        }
 public OperationsProcessor(IOperationProcessorAccessor operationProcessorAccessor,
                            IOperationsTransactionFactory operationsTransactionFactory, ILocalIdTracker localIdTracker,
                            IResourceContextProvider resourceContextProvider, IJsonApiRequest request, ITargetedFields targetedFields)
 {
     _operationProcessorAccessor   = operationProcessorAccessor ?? throw new ArgumentNullException(nameof(operationProcessorAccessor));
     _operationsTransactionFactory = operationsTransactionFactory ?? throw new ArgumentNullException(nameof(operationsTransactionFactory));
     _localIdTracker          = localIdTracker ?? throw new ArgumentNullException(nameof(localIdTracker));
     _resourceContextProvider = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider));
     _request          = request ?? throw new ArgumentNullException(nameof(request));
     _targetedFields   = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
     _localIdValidator = new LocalIdValidator(_localIdTracker, _resourceContextProvider);
 }
Exemplo n.º 23
0
 public RequestDeserializer(
     IResourceContextProvider resourceContextProvider,
     IResourceFactory resourceFactory,
     ITargetedFields targetedFields,
     IHttpContextAccessor httpContextAccessor,
     IJsonApiRequest request)
     : base(resourceContextProvider, resourceFactory)
 {
     _targetedFields      = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
     _httpContextAccessor = httpContextAccessor ?? throw new ArgumentNullException(nameof(httpContextAccessor));
     _request             = request ?? throw new ArgumentNullException(nameof(request));
 }
 public DefaultResourceRepository(
     ITargetedFields targetedFields,
     IDbContextResolver contextResolver,
     IResourceGraph resourceGraph,
     IGenericServiceFactory genericServiceFactory,
     ILoggerFactory loggerFactory = null)
 {
     _targetedFields        = targetedFields;
     _resourceGraph         = resourceGraph;
     _genericServiceFactory = genericServiceFactory;
     _context = contextResolver.GetContext();
     _dbSet   = _context.Set <TResource>();
 }
 public ResourceHookExecutor(
     IHookExecutorHelper executorHelper,
     ITraversalHelper traversalHelper,
     ITargetedFields targetedFields,
     IEnumerable <IQueryConstraintProvider> constraintProviders,
     IResourceGraph resourceGraph)
 {
     _executorHelper      = executorHelper;
     _traversalHelper     = traversalHelper;
     _targetedFields      = targetedFields;
     _constraintProviders = constraintProviders;
     _resourceGraph       = resourceGraph;
 }
Exemplo n.º 26
0
 public ResourceHookExecutor(
     IHookExecutorHelper executorHelper,
     ITraversalHelper traversalHelper,
     ITargetedFields targetedFields,
     IIncludeService includedRelationships,
     IResourceGraph resourceGraph)
 {
     _executorHelper  = executorHelper;
     _traversalHelper = traversalHelper;
     _targetedFields  = targetedFields;
     _includeService  = includedRelationships;
     _resourceGraph   = resourceGraph;
 }
        protected BaseJsonApiOperationsController(IJsonApiOptions options, ILoggerFactory loggerFactory,
                                                  IOperationsProcessor processor, IJsonApiRequest request, ITargetedFields targetedFields)
        {
            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            _options        = options ?? throw new ArgumentNullException(nameof(options));
            _processor      = processor ?? throw new ArgumentNullException(nameof(processor));
            _request        = request ?? throw new ArgumentNullException(nameof(request));
            _targetedFields = targetedFields ?? throw new ArgumentNullException(nameof(targetedFields));
            _traceWriter    = new TraceLogWriter <BaseJsonApiOperationsController>(loggerFactory);
        }
        public RequestDeserializer(IResourceContextProvider resourceContextProvider, IResourceFactory resourceFactory, ITargetedFields targetedFields,
                                   IHttpContextAccessor httpContextAccessor, IJsonApiRequest request, IJsonApiOptions options)
            : base(resourceContextProvider, resourceFactory)
        {
            ArgumentGuard.NotNull(targetedFields, nameof(targetedFields));
            ArgumentGuard.NotNull(httpContextAccessor, nameof(httpContextAccessor));
            ArgumentGuard.NotNull(request, nameof(request));
            ArgumentGuard.NotNull(options, nameof(options));

            _targetedFields      = targetedFields;
            _httpContextAccessor = httpContextAccessor;
            _request             = request;
            _options             = options;
        }
Exemplo n.º 29
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));
 }
Exemplo n.º 30
0
        protected BaseJsonApiOperationsController(IJsonApiOptions options, ILoggerFactory loggerFactory, IOperationsProcessor processor,
                                                  IJsonApiRequest request, ITargetedFields targetedFields)
        {
            ArgumentGuard.NotNull(options, nameof(options));
            ArgumentGuard.NotNull(loggerFactory, nameof(loggerFactory));
            ArgumentGuard.NotNull(processor, nameof(processor));
            ArgumentGuard.NotNull(request, nameof(request));
            ArgumentGuard.NotNull(targetedFields, nameof(targetedFields));

            _options        = options;
            _processor      = processor;
            _request        = request;
            _targetedFields = targetedFields;
            _traceWriter    = new TraceLogWriter <BaseJsonApiOperationsController>(loggerFactory);
        }