示例#1
0
 public GroupsController(
     IJsonApiContext jsonApiContext,
     IResourceService <Group> resourceService,
     ICurrentUserContext currentUserContext,
     IOrganizationContext organizationContext,
     OrganizationService organizationService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
     this.OrganizationContext = organizationContext;
 }
示例#2
0
 /// <inheritdoc />
 public GetOpProcessor(
     IGetAllService <T, int> getAll,
     IGetByIdService <T, int> getById,
     IGetRelationshipService <T, int> getRelationship,
     IJsonApiDeSerializer deSerializer,
     IDocumentBuilder documentBuilder,
     IResourceGraph resourceGraph,
     IJsonApiContext jsonApiContext
     ) : base(getAll, getById, getRelationship, deSerializer, documentBuilder, resourceGraph, jsonApiContext)
 {
 }
示例#3
0
 public OrganizationInviteRequestRepository(
     ILoggerFactory loggerFactory,
     IJsonApiContext jsonApiContext,
     IDbContextResolver contextResolver,
     CurrentUserRepository currentUserRepository,
     EntityHooksService <OrganizationInviteRequest> statusUpdateService,
     IBackgroundJobClient backgroundJobClient
     ) : base(loggerFactory, jsonApiContext, currentUserRepository, statusUpdateService, contextResolver)
 {
     this.backgroundJobClient = backgroundJobClient;
 }
 public ProjectsController(
     IJsonApiContext jsonApiContext,
     IResourceService <Project> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     IBuildEngineProjectService buildEngineProjectService,
     UserService userService)
     : base(jsonApiContext, resourceService, currentUserContext, organizationService, userService)
 {
     BuildEngineProjectService = buildEngineProjectService;
 }
示例#5
0
 public DistributedTaskService(
     IJsonApiContext jsonApiContext,
     IEntityRepository <DistributedTask> repository,
     ILoggerFactory loggerFactory,
     DistributedComputingDbContext dbContext,
     IProblemPluginFacadeProvider problemPluginFacadeProvider
     ) : base(jsonApiContext, repository, loggerFactory)
 {
     _dbContext = dbContext;
     _problemPluginFacadeProvider = problemPluginFacadeProvider;
 }
 public UserRepository(
     ILoggerFactory loggerFactory,
     IJsonApiContext jsonApiContext,
     IOrganizationContext organizationContext,
     ICurrentUserContext currentUserContext,
     IDbContextResolver contextResolver
     ) : base(loggerFactory, jsonApiContext, contextResolver)
 {
     this.OrganizationContext = organizationContext;
     this.CurrentUserContext  = currentUserContext;
 }
示例#7
0
        public AttrFilterQuery(
            IJsonApiContext jsonApiCopntext,
            FilterQuery filterQuery)
        {
            _jsonApiContext = jsonApiCopntext;

            var attribute = GetAttribute(filterQuery.Key);

            FilteredAttribute = attribute ?? throw new JsonApiException("400", $"{filterQuery.Key} is not a valid property.");
            PropertyValue     = filterQuery.Value;
            FilterOperation   = GetFilterOperation(filterQuery.Operation);
        }
示例#8
0
 public async Task Invoke(HttpContext context, IJsonApiContext jsonApiContext)
 {
     if (IsValid(context))
     {
         // HACK: this currently results in allocation of
         // objects that may or may not be used and even double allocation
         // since the JsonApiContext is using field initializers
         // Need to work on finding a better solution.
         jsonApiContext.BeginOperation();
         await _next(context);
     }
 }
 public DocumentBuilder(
     IJsonApiContext jsonApiContext,
     IRequestMeta requestMeta = null,
     IDocumentBuilderOptionsProvider documentBuilderOptionsProvider = null,
     IScopedServiceProvider scopedServiceProvider = null)
 {
     _jsonApiContext         = jsonApiContext;
     _resourceGraph          = jsonApiContext.ResourceGraph;
     _requestMeta            = requestMeta;
     _documentBuilderOptions = documentBuilderOptionsProvider?.GetDocumentBuilderOptions() ?? new DocumentBuilderOptions();
     _scopedServiceProvider  = scopedServiceProvider;
 }
示例#10
0
        public AttrFilterQuery(
            IJsonApiContext jsonApiContext,
            FilterQuery filterQuery)
        {
            _jsonApiContext = jsonApiContext;

            var attribute = GetAttribute(filterQuery.Attribute);

            FilteredAttribute = attribute ?? throw new JsonApiException(400, $"'{filterQuery.Attribute}' is not a valid attribute.");
            PropertyValue     = filterQuery.Value;
            FilterOperation   = GetFilterOperation(filterQuery.Operation);
        }
 public FetchingDataTests(TestFixture <Startup> fixture)
 {
     _fixture        = fixture;
     _jsonApiContext = fixture.GetService <IJsonApiContext>();
     _todoItemFaker  = new Faker <TodoItem>()
                       .RuleFor(t => t.Description, f => f.Lorem.Sentence())
                       .RuleFor(t => t.Ordinal, f => f.Random.Number())
                       .RuleFor(t => t.CreatedDate, f => f.Date.Past());
     _personFaker = new Faker <Person>()
                    .RuleFor(p => p.FirstName, f => f.Name.FirstName())
                    .RuleFor(p => p.LastName, f => f.Name.LastName());
 }
 public UserRepository(
     ILoggerFactory loggerFactory,
     IJsonApiContext jsonApiContext,
     IOrganizationContext organizationContext,
     ICurrentUserContext currentUserContext,
     CurrentUserRepository currentUserRepository,
     EntityHooksService <User> statusUpdateService,
     IDbContextResolver contextResolver
     ) : base(loggerFactory, jsonApiContext, currentUserRepository, statusUpdateService, contextResolver)
 {
     this.OrganizationContext = organizationContext;
     this.CurrentUserContext  = currentUserContext;
 }
 public PostPutDeleteBaseJsonApiController(
     IJsonApiContext jsonApiContext,
     IGetAllService <T, TId> getAll   = null,
     IGetByIdService <T, TId> getById = null,
     ICreateService <T, TId> create   = null,
     IUpdateService <T, TId> update   = null,
     IDeleteService <T, TId> delete   = null
     ) : base(jsonApiContext, getAll, getById)
 {
     _create = create;
     _update = update;
     _delete = delete;
 }
示例#14
0
 public HookExecutorHelper(
     IGenericProcessorFactory genericProcessorFactory,
     IResourceGraph graph,
     IJsonApiContext context
     )
 {
     _genericProcessorFactory = genericProcessorFactory;
     _graph           = graph;
     _context         = context;
     _hookContainers  = new Dictionary <DependentType, IResourceHookContainer>();
     _hookDiscoveries = new Dictionary <DependentType, IHooksDiscovery>();
     _targetedHooksForRelatedEntities = new List <ResourceHook>();
 }
 public OrganizationStoreService(
     IJsonApiContext jsonApiContext,
     IEntityRepository <OrganizationStore> organizationStoreRepository,
     CurrentUserRepository currentUserRepository,
     IOrganizationContext organizationContext,
     ILoggerFactory loggerFactory)
     : base(jsonApiContext, organizationStoreRepository, loggerFactory)
 {
     this.OrganizationContext         = organizationContext;
     this.organizationStoreRepository = organizationStoreRepository;
     this.CurrentUserRepository       = currentUserRepository;
     this.JsonApiContext = jsonApiContext;
 }
 public UserTaskService(
     IJsonApiContext jsonApiContext,
     IEntityRepository <UserTask> userTaskRepository,
     CurrentUserRepository currentUserRepository,
     IOrganizationContext organizationContext,
     ILoggerFactory loggerFactory)
     : base(jsonApiContext, userTaskRepository, loggerFactory)
 {
     this.OrganizationContext   = organizationContext;
     this.UserTaskRepository    = userTaskRepository;
     this.CurrentUserRepository = currentUserRepository;
     this.JsonApiContext        = jsonApiContext;
 }
示例#17
0
 public JsonApiController(
     IJsonApiContext jsonApiContext,
     IGetAllService <T, int> getAll   = null,
     IGetByIdService <T, int> getById = null,
     IGetRelationshipService <T, int> getRelationship   = null,
     IGetRelationshipsService <T, int> getRelationships = null,
     ICreateService <T, int> create = null,
     IUpdateService <T, int> update = null,
     IUpdateRelationshipService <T, int> updateRelationships = null,
     IDeleteService <T, int> delete = null
     ) : base(jsonApiContext, getAll, getById, getRelationship, getRelationships, create, update, updateRelationships, delete)
 {
 }
 public BaseController(
     IJsonApiContext jsonApiContext,
     IResourceService <T, int> resourceService,
     ICurrentUserContext currentUserContext,
     OrganizationService organizationService,
     UserService userService) : base(jsonApiContext, resourceService)
 {
     this.service             = resourceService;
     this.jsonApiContext      = jsonApiContext;
     this.userService         = userService;
     this.organizationService = organizationService;
     this.currentUserContext  = currentUserContext;
 }
示例#19
0
        public static object DeserializeRelationship(string requestBody, IJsonApiContext context)
        {
            var data = JToken.Parse(requestBody)["data"];

            if (data is JArray)
            {
                return(data.ToObject <List <DocumentData> >());
            }

            return(new List <DocumentData> {
                data.ToObject <DocumentData>()
            });
        }
 public GetsBaseJsonApiController(
     IJsonApiContext jsonApiContext,
     IResourceService <T, TId> resourceService)
 {
     _jsonApiContext = jsonApiContext.ApplyContext <T>(this);
     _getAll         = resourceService;
     _getById        = resourceService;
     //_getRelationship = resourceService;
     //_getRelationships = resourceService;
     //_create = resourceService;
     //_update = resourceService;
     //_updateRelationships = resourceService;
     //_delete = resourceService;
 }
        public static List <TEntity> DeserializeList <TEntity>(string requestBody, IJsonApiContext context)
        {
            var documents = JsonConvert.DeserializeObject <Documents>(requestBody);

            var deserializedList = new List <TEntity>();

            foreach (var data in documents.Data)
            {
                var entity = DataToObject(data, context);
                deserializedList.Add((TEntity)entity);
            }

            return(deserializedList);
        }
示例#22
0
 public ProductRepository(
     IOrganizationContext organizationContext,
     ICurrentUserContext currentUserContext,
     UserRepository userRepository,
     ILoggerFactory loggerFactory,
     CurrentUserRepository currentUserRepository,
     IJsonApiContext jsonApiContext,
     IDbContextResolver contextResolver
     ) : base(loggerFactory, jsonApiContext, currentUserRepository, contextResolver)
 {
     this.OrganizationContext = organizationContext;
     this.CurrentUserContext  = currentUserContext;
     this.UserRepository      = userRepository;
 }
        // private readonly IJsonApiContext _context;

        public PeopleController(
            IJsonApiContext jsonApiContext,
            IResourceService <Person> resourceService,
            ILoggerFactory loggerFactory)
            : base(jsonApiContext, resourceService, loggerFactory)
        {
            // _context = jsonApiContext;

            // if (_context.People.Count() == 0)
            // {
            //     _context.People.Add(new Person { Name = "Jonny" });
            //     _context.SaveChanges();
            // }
        }
        private string GetResponseBody(object responseObject, IJsonApiContext jsonApiContext, ILogger logger)
        {
            if (responseObject == null)
            {
                return(GetNullDataResponse());
            }

            if (responseObject.GetType() == typeof(Error) || jsonApiContext.RequestEntity == null)
            {
                return(GetErrorJson(responseObject, logger));
            }

            return(JsonApiSerializer.Serialize(responseObject, jsonApiContext));
        }
示例#25
0
 public ProductsController(
     IJsonApiContext jsonApiContext,
     ICurrentUserContext currentUserContext,
     WebRequestWrapper webRequestWrapper,
     IWebClient webClient,
     OrganizationService organizationService,
     ProductService productService,
     UserService userService)
     : base(jsonApiContext, productService, currentUserContext, organizationService, userService)
 {
     WebRequestWrapper = webRequestWrapper;
     WebClient         = webClient;
     ProductService    = productService;
 }
        public AttrFilterQuery(
            IJsonApiContext jsonApiContext,
            FilterQuery filterQuery)
            : base(jsonApiContext, filterQuery)
        {
            if (Attribute == null)
            {
                throw new JsonApiException(400, $"'{filterQuery.Attribute}' is not a valid attribute.");
            }

            if (Attribute.IsFilterable == false)
            {
                throw new JsonApiException(400, $"Filter is not allowed for attribute '{Attribute.PublicAttributeName}'.");
            }
        }
 public NotificationService(
     IDbContextResolver contextResolver,
     IJsonApiContext jsonApiContext,
     IEntityRepository <Notification> entityRepository,
     ICurrentUserContext currentUserContext,
     UserRepository userRepository,
     ILoggerFactory loggerFactory = null)
     : base(jsonApiContext, entityRepository, loggerFactory)
 {
     this.notificationsRepository = entityRepository;
     this.currentUserContext      = currentUserContext;
     this.userRepository          = userRepository;
     this.dbContext = contextResolver.GetContext();
     this.dbSet     = contextResolver.GetDbSet <Notification>();
 }
示例#28
0
        public TodoItemControllerTests(TestFixture <TestStartup> fixture)
        {
            _fixture        = fixture;
            _context        = fixture.GetService <AppDbContext>();
            _jsonApiContext = fixture.GetService <IJsonApiContext>();
            _todoItemFaker  = new Faker <TodoItem>()
                              .RuleFor(t => t.Description, f => f.Lorem.Sentence())
                              .RuleFor(t => t.Ordinal, f => f.Random.Number())
                              .RuleFor(t => t.CreatedDate, f => f.Date.Past());

            _personFaker = new Faker <Person>()
                           .RuleFor(t => t.FirstName, f => f.Name.FirstName())
                           .RuleFor(t => t.LastName, f => f.Name.LastName())
                           .RuleFor(t => t.Age, f => f.Random.Int(1, 99));
        }
示例#29
0
 public OrganizationMembershipService(
     IJsonApiContext jsonApiContext,
     UserRepository userRepository,
     ICurrentUserContext currentUserContext,
     IEntityRepository <OrganizationMembership> organizationMembershipRepository,
     IEntityRepository <UserRole> userRoleRepository,
     IEntityRepository <Role> roleRepository,
     ILoggerFactory loggerFactory
     ) : base(jsonApiContext, organizationMembershipRepository, loggerFactory)
 {
     UserRepository = userRepository;
     OrganizationMembershipRepository = organizationMembershipRepository;
     UserRoleRepository = userRoleRepository;
     RoleRepository     = roleRepository;
 }
示例#30
0
 public GroupService(
     IJsonApiContext jsonApiContext,
     IOrganizationContext organizationContext,
     ICurrentUserContext currentUserContext,
     UserRepository userRepository,
     IEntityRepository<Group> groupRepository,
     IEntityRepository<UserRole> userRolesRepository,
     ILoggerFactory loggerFactory) : base(jsonApiContext, groupRepository, loggerFactory)
 {
     OrganizationContext = organizationContext;
     JsonApiContext = jsonApiContext;
     CurrentUserContext = currentUserContext;
     UserRepository = userRepository;
     UserRolesRepository = userRolesRepository;
     GroupRepository = (GroupRepository)groupRepository;
 }