public TriggerProjectionEngineHook(
     ITriggerProjectionsUpdate updater,
     ITenantAccessor tenantAccessor)
 {
     Updater = updater;
     TenantAccessor = tenantAccessor;
 }
Пример #2
0
 protected MultiTenantInProcessCommandBus(
     ITenantAccessor tenantAccessor,
     IKernel kernel,
     IMessagesTracker messagesTracker,
     ICommandExecutionExceptionHelper commandExecutionExceptionHelper)
     : base(kernel, messagesTracker, commandExecutionExceptionHelper)
 {
     _tenantAccessor = tenantAccessor;
 }
Пример #3
0
 /// <summary>
 /// <see cref="IHmacOptionsProvider"/> which handles multi-tenancy for HmacAuthenticationHandler.
 /// </summary>
 public MultiTenantOptionProvider(
     ITenantAccessor tenantAccessor,
     IOptionsMonitor <Dictionary <string, HmacOptions> > optionsAccessor,
     ILogger <MultiTenantOptionProvider> logger)
 {
     _tenantAccessor = tenantAccessor;
     _optionAccessor = optionsAccessor;
     _logger         = logger;
 }
Пример #4
0
 public List(IWorkflowInstanceStore workflowInstanceStore, IMapper mapper, IContentSerializer contentSerializer, ILogger <List> logger, ITenantAccessor tenantAccessor)
 {
     _workflowInstanceStore = workflowInstanceStore;
     _mapper            = mapper;
     _contentSerializer = contentSerializer;
     _logger            = logger;
     _stopwatch         = new Stopwatch();
     _tenantAccessor    = tenantAccessor;
 }
Пример #5
0
 public TenantOptionsFactory(
     IEnumerable <IConfigureOptions <TOptions> > setups,
     IEnumerable <IPostConfigureOptions <TOptions> > postConfigures, Action <TOptions, T> tenantConfig, ITenantAccessor <T> tenantAccessor)
 {
     _setups         = setups;
     _postConfigures = postConfigures;
     _tenantAccessor = tenantAccessor;
     _tenantConfig   = tenantConfig;
 }
 public Auth0ApiUserWriteRepository(
     HttpClient httpClient,
     ITenantAccessor tenantAccessor,
     IAuth0ApiUserReadRepository readRepository
     )
 {
     _httpClient     = httpClient;
     _tenantAccessor = tenantAccessor;
     _readRepository = readRepository;
 }
        protected BaseDbContext(string connectionStringName, DatabaseProvider provider, IConfiguration config, ITenantAccessor tenantAccessor, IUserAccessor userAccessor)
        {
            _tenantAccessor = tenantAccessor;
            _userAccessorr  = userAccessor;

            Schema = Configuration.Audience.Get();
            Tenant = _tenantAccessor?.Tenant;

            Provider         = provider;
            ConnectionString = Settings.GetInstance(config, Tenant).ConnectionStrings.GetOrDefault(connectionStringName);
        }
 public ImportFormatFromFileQueue(
     DocumentStoreConfiguration configuration,
     ITenantAccessor tenantAccessor,
     ICommandBus commandBus
     )
 {
     DeleteTaskFileAfterImport = true;
     _configuration            = configuration;
     _foldersToWatch           = _configuration.FoldersToMonitor;
     _tenantAccessor           = tenantAccessor;
     _commandBus = commandBus;
 }
Пример #9
0
 public QueueManager(
     IMongoDatabase mongoDatabase,
     ITenantAccessor tenantAccessor,
     QueueHandler[] queueHandlers,
     DocumentStoreConfiguration configuration)
 {
     _tenantAccessor = tenantAccessor;
     _configuration  = configuration;
     _queueHandlers  = queueHandlers
                       .ToDictionary(qh => qh.Name, qh => qh);
     _checkpointCollection = mongoDatabase.GetCollection <StreamCheckpoint>("stream.checkpoints");
     Logger = NullLogger.Instance;
 }
        public ImportFormatFromFileQueue(
            DocumentStoreConfiguration configuration,
            ITenantAccessor tenantAccessor,
            ICommandBus commandBus
        )
        {
            DeleteTaskFileAfterImport = true;
            _configuration = configuration;
            _foldersToWatch = _configuration.FoldersToMonitor;
            _tenantAccessor = tenantAccessor;
            _commandBus = commandBus;

        }
Пример #11
0
 public AspNetCoreCosmosEntityMutator(
     IClock clock,
     IUuidFactory uuidFactory,
     IIdentityAccessor identityAccessor,
     ITenantAccessor tenantAccessor,
     IShareWithFactory shareWithFactory
     )
 {
     _clock            = clock;
     _uuidFactory      = uuidFactory;
     _identityAccessor = identityAccessor;
     _tenantAccessor   = tenantAccessor;
     _shareWithFactory = shareWithFactory;
 }
Пример #12
0
        public async Task InitializeAsync()
        {
            Host = Microsoft.Extensions.Hosting.Host
                   .CreateDefaultBuilder()
                   .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseTestServer();
                webBuilder.UseStartup <MockStartup>();
            }).Build();

            await Host.StartAsync();

            ActivityContextAccessor = Host.Services.GetService <IActivityContextAccessor>();
            TenantAccessor          = Host.Services.GetService <ITenantAccessor>();
        }
        IWindsorContainer SelectContainer()
        {
            if (_tenantAccessor == null)
            {
                // concurrency safe, singleton
                _tenantAccessor = _container.Resolve<ITenantAccessor>();
            }

            if (_tenantAccessor != null)
            {
                if (_tenantAccessor.Current != null && !(_tenantAccessor.Current is NullTenant))
                    return _tenantAccessor.Current.Container;
            }

            return _container;
        }
Пример #14
0
        public async Task DisplayInfo(HttpContext context)
        {
            ILogger <Startup> logger = context.RequestServices.GetRequiredService <ILogger <Startup> >();

            logger.LogDebug("App Run..");

            ITenantContainerAdaptor container = context.RequestServices as ITenantContainerAdaptor;

            logger.LogDebug("App Run Container Is: {id}, {containerNAme}, {role}", container.ContainerId, container.ContainerName, container.Role);


            // Use ITenantAccessor to access the current tenant.
            ITenantAccessor <Tenant> tenantAccessor = container.GetRequiredService <ITenantAccessor <Tenant> >();
            Tenant tenant = await tenantAccessor.CurrentTenant.Value;

            // This service was registered as singleton in tenant container.
            SomeTenantService someTenantService = container.GetService <SomeTenantService>();

            // The tenant shell to access context for the tenant - even if the tenant is null
            ITenantShellAccessor <Tenant> tenantShellAccessor = context.RequestServices.GetRequiredService <ITenantShellAccessor <Tenant> >();
            TenantShell <Tenant>          tenantShell         = await tenantShellAccessor.CurrentTenantShell.Value;

            var myOptions = context.RequestServices.GetRequiredService <IOptions <MyOptions> >();

            string tenantShellId      = tenantShell == null ? "{NULL TENANT SHELL}" : tenantShell.Id.ToString();
            string tenantName         = tenant == null ? "{NULL TENANT}" : tenant.Name;
            string injectedTenantName = someTenantService?.TenantName ?? "{NULL SERVICE}";

            // Accessing a content file.
            string fileContent = someTenantService?.GetContentFile("/Info.txt");

            context.Response.ContentType = new MediaTypeHeaderValue("application/json").ToString();
            var result = new
            {
                TenantShellId         = tenantShellId,
                TenantName            = tenantName,
                TenantScopedServiceId = someTenantService?.Id,
                InjectedTenantName    = injectedTenantName,
                TenantContentFile     = fileContent,
                OptionsFoo            = myOptions.Value.Foo
            };

            string jsonResult = JsonConvert.SerializeObject(result);
            await context.Response.WriteAsync(jsonResult, Encoding.UTF8);

            logger.LogDebug("App Run Finished..");
        }
        IKernel SelectKernel(TenantId tenantId)
        {
            if (tenantId == null)
            {
                return(_kernel);
            }

            if (_tenantAccessor == null)
            {
                // concurrency safe, singleton
                _tenantAccessor = _kernel.Resolve <ITenantAccessor>();
            }

            var tenant = _tenantAccessor.GetTenant(new TenantId(tenantId));

            return(tenant.Container.Kernel);
        }
        IWindsorContainer SelectContainer()
        {
            if (_tenantAccessor == null)
            {
                // concurrency safe, singleton
                _tenantAccessor = _container.Resolve <ITenantAccessor>();
            }

            if (_tenantAccessor != null)
            {
                if (_tenantAccessor.Current != null && !(_tenantAccessor.Current is NullTenant))
                {
                    return(_tenantAccessor.Current.Container);
                }
            }

            return(_container);
        }
Пример #17
0
        public GetCharacterQueryFixture()
        {
            var accessor = new Mock <ITenantAccessor <TenantDto> >();

            accessor.Setup(x => x.Instance).Returns(new TenantDto()
            {
                Id           = 1,
                SiteTitle    = "Test Site",
                Author       = "Dan Taylor & Evan Scown",
                IsSpiderable = true
            });
            Tenant = accessor.Object;

            Context = TestSpmsContextFactory.Create();
            var game = Context.Game.First();

            Context.Biography.Add(new Domain.Models.Biography()
            {
                Firstname = "Dan", Surname = "Taylor", Player = new Player()
                {
                    AuthString = "123"
                }, State = new BiographyState()
                {
                    Default = false, Name = "State", GameId = game.Id
                }, Posting = new Posting()
                {
                    Name = "Starbase Gamma"
                }
            });
            Context.SaveChanges();


            var configurationProvider = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <ApplicationMapper>();
            });

            Mapper = configurationProvider.CreateMapper();
        }
 public DocumentStoreMultiTenantCommandBus(
     ITenantAccessor tenantAccessor, 
     IMessagesTracker messagesTracker) : base(tenantAccessor, messagesTracker)
 {
 }
Пример #19
0
 public AnythingDataDbContext(IDatabaseSettingsProvider databaseSettingsProvider, ITenantAccessor tenantAccessor)
     : base(databaseSettingsProvider.GetDatabaseSettings().DataConnection,
            $"haze_{Config.Stage}_data",
            tenantAccessor.GetTenant())
 {
 }
 public TenantController(ITenantAccessor <Tenant> tenantAccessor)
 {
     this.tenantAccessor = tenantAccessor;
 }
 public BusReceiver(IConfiguration configuration, ITenantAccessor tenantAccessor, IUserAccessor userAccessor, ILanguageAccessor languageAccessor)
     : base(configuration, tenantAccessor, userAccessor, languageAccessor)
 {
 }
        IKernel SelectKernel(TenantId tenantId)
        {
            if (tenantId == null)
                return _kernel;

            if (_tenantAccessor == null)
            {
                // concurrency safe, singleton
                _tenantAccessor = _kernel.Resolve<ITenantAccessor>();
            }

            var tenant = _tenantAccessor.GetTenant(new TenantId(tenantId));
            return tenant.Container.Kernel;
        }
Пример #23
0
 public Trigger(IWorkflowLaunchpad workflowLaunchpad, ITenantAccessor tenantAccessor)
 {
     _workflowLaunchpad = workflowLaunchpad;
     _tenantAccessor    = tenantAccessor;
 }
 public DbLibrary(DbContextOptions options, ITenantAccessor tenantAccessor, IUserAccessor userAccessor)
     : base(options, tenantAccessor, userAccessor)
 {
 }
Пример #25
0
 public MultitenantCounterService(ITenantAccessor tenantAccessor)
 {
     _tenantAccessor = tenantAccessor;
 }
Пример #26
0
 public List(IWorkflowDefinitionStore workflowDefinitionStore, IMapper mapper, ITenantAccessor tenantAccessor)
 {
     _workflowDefinitionStore = workflowDefinitionStore;
     _mapper         = mapper;
     _tenantAccessor = tenantAccessor;
 }
 public DbBookstore(DbContextOptions options, ITenantAccessor tenantAccessor, IUserAccessor userAccessor)
     : base(options, tenantAccessor, userAccessor)
 {
 }
Пример #28
0
        public PurchaseService(DbBookstore db, IBusPublisher bus, IConfiguration configuration, ITenantAccessor tenantAccessor)
        {
            _db  = db;
            _bus = bus;

            var settings = Settings.GetInstance(configuration, tenantAccessor.Tenant);

            IntegrationWithLibrary = new ValueGetter <bool>(() => settings.Preferences.GetOrDefault(Preferences.IntegrationWithLibrary).ToBoolean());
        }
Пример #29
0
 public MultiTenantInProcessCommandBus(ITenantAccessor tenantAccessor, IMessagesTracker messagesTracker)
     : base(messagesTracker)
 {
     _tenantAccessor = tenantAccessor;
 }
 public DbLibrary(IConfiguration config, ITenantAccessor tenantAccessor, IUserAccessor userAccessor)
     : base(ConnectionStringNames.Sql, DatabaseProvider.Postgres, config, tenantAccessor, userAccessor)
 {
 }
Пример #31
0
 public BiographyListQueryHandler(ISpmsContext db, IMapper mapper, ITenantAccessor <TenantDto> tenant)
 {
     _db     = db;
     _mapper = mapper;
     _tenant = tenant;
 }
Пример #32
0
 public Save(IWorkflowPublisher workflowPublisher, ITenantAccessor tenantAccessor, IContentSerializer contentSerializer)
 {
     _workflowPublisher = workflowPublisher;
     _tenantAccessor    = tenantAccessor;
     _contentSerializer = contentSerializer;
 }
Пример #33
0
 public Execute(IWorkflowLaunchpad workflowLaunchpad, ITenantAccessor tenantAccessor)
 {
     _workflowLaunchpad = workflowLaunchpad;
     _tenantAccessor    = tenantAccessor;
 }
Пример #34
0
 public DocumentStoreMultiTenantCommandBus(
     ITenantAccessor tenantAccessor,
     IMessagesTracker messagesTracker) : base(tenantAccessor, messagesTracker)
 {
 }
Пример #35
0
 public Get(IWorkflowInstanceStore workflowInstanceStore, IContentSerializer contentSerializer, IWorkflowRegistry workflowRegistry, ITenantAccessor tenantAccessor, IPublisher publisher)
 {
     _workflowInstanceStore = workflowInstanceStore;
     _contentSerializer     = contentSerializer;
     _workflowRegistry      = workflowRegistry;
     _tenantAccessor        = tenantAccessor;
     _publisher             = publisher;
 }