From d317658e7918cce3fe317e5cbb4e10704b54f1a3 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Mon, 25 Mar 2019 15:06:58 +0300 Subject: [PATCH] Resolved #912: Automatically fill tenants from appsettings.json if available. --- .../Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs | 9 ++++++++- ...ConfigurationTenantStore.cs => DefaultTenantStore.cs} | 7 +++---- ...enantStoreOptions.cs => DefaultTenantStoreOptions.cs} | 4 ++-- .../MultiTenancy/AspNetCoreMultiTenancy_Tests.cs | 2 +- .../MultiTenantConnectionStringResolver_Tests.cs | 2 +- .../Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs | 2 +- 6 files changed, 16 insertions(+), 10 deletions(-) rename framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/{ConfigurationTenantStore.cs => DefaultTenantStore.cs} (68%) rename framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/{ConfigurationTenantStoreOptions.cs => DefaultTenantStoreOptions.cs} (64%) diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs index 000790611d..6d31ccda86 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/AbpMultiTenancyModule.cs @@ -1,5 +1,7 @@ -using Volo.Abp.Data; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Data; using Volo.Abp.Modularity; +using Volo.Abp.MultiTenancy.ConfigurationStore; using Volo.Abp.Security; namespace Volo.Abp.MultiTenancy @@ -10,6 +12,11 @@ namespace Volo.Abp.MultiTenancy )] public class AbpMultiTenancyModule : AbpModule { + public override void ConfigureServices(ServiceConfigurationContext context) + { + var configuration = context.Services.GetConfiguration(); + Configure(configuration); + } } } diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStore.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStore.cs similarity index 68% rename from framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStore.cs rename to framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStore.cs index fe1bb03534..f96fe02ed7 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStore.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStore.cs @@ -6,13 +6,12 @@ using Volo.Abp.DependencyInjection; namespace Volo.Abp.MultiTenancy.ConfigurationStore { - //TODO: Move to another package. [Dependency(TryRegister = true)] - public class ConfigurationTenantStore : ITenantStore, ITransientDependency + public class DefaultTenantStore : ITenantStore, ITransientDependency { - private readonly ConfigurationTenantStoreOptions _options; + private readonly DefaultTenantStoreOptions _options; - public ConfigurationTenantStore(IOptionsSnapshot options) + public DefaultTenantStore(IOptionsSnapshot options) { _options = options.Value; } diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStoreOptions.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStoreOptions.cs similarity index 64% rename from framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStoreOptions.cs rename to framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStoreOptions.cs index 2d5a060d51..ae22fdc8b0 100644 --- a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/ConfigurationTenantStoreOptions.cs +++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/ConfigurationStore/DefaultTenantStoreOptions.cs @@ -1,10 +1,10 @@ namespace Volo.Abp.MultiTenancy.ConfigurationStore { - public class ConfigurationTenantStoreOptions + public class DefaultTenantStoreOptions { public TenantInfo[] Tenants { get; set; } - public ConfigurationTenantStoreOptions() + public DefaultTenantStoreOptions() { Tenants = new TenantInfo[0]; } diff --git a/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs b/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs index 34a5acaa82..1d864e9035 100644 --- a/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs +++ b/framework/test/Volo.Abp.AspNetCore.MultiTenancy.Tests/Volo/Abp/AspNetCore/MultiTenancy/AspNetCoreMultiTenancy_Tests.cs @@ -28,7 +28,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy { return base.CreateWebHostBuilder().ConfigureServices(services => { - services.Configure(options => + services.Configure(options => { options.Tenants = new[] { diff --git a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs index 4ea231cc67..18e380655d 100644 --- a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs +++ b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/Data/MultiTenancy/MultiTenantConnectionStringResolver_Tests.cs @@ -31,7 +31,7 @@ namespace Volo.Abp.Data.MultiTenancy options.ConnectionStrings["db1"] = "db1-default-value"; }); - services.Configure(options => + services.Configure(options => { options.Tenants = new[] { diff --git a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs index feb4d418fb..83c33ff576 100644 --- a/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs +++ b/framework/test/Volo.Abp.MultiTenancy.Tests/Volo/Abp/MultiTenancy/CurrentTenant_Tests.cs @@ -28,7 +28,7 @@ namespace Volo.Abp.MultiTenancy protected override void BeforeAddApplication(IServiceCollection services) { - services.Configure(options => + services.Configure(options => { options.Tenants = new[] {