Skip to content

Commit

Permalink
[AC-113] - Creates Admin Console ClaimSet - Multitenant fix (#208)
Browse files Browse the repository at this point in the history
Creates Admin Console ClaimSet - Multitenant fix
  • Loading branch information
DavidJGapCR authored Dec 31, 2024
1 parent 2b76b24 commit fef9c1a
Showing 1 changed file with 28 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,35 @@ public static async Task InitAdminConsoleData(this WebApplication app)

public static void MigrateSecurityDbContext(this WebApplication app)
{
using (var scope = app.Services.CreateScope())
DbContext dbContext;
var databaseEngine = DbProviders.Parse(app.Configuration.GetValue<string>("AppSettings:DatabaseEngine")!);
using var scope = app.Services.CreateScope();
var options = scope.ServiceProvider.GetService<IOptionsSnapshot<AppSettingsFile>>();
if (options!.Value.AppSettings.MultiTenancy)
{
foreach (var item in options!.Value.Tenants)
{
var tenantConfigurationProvider = scope.ServiceProvider.GetService<ITenantConfigurationProvider>();
if (tenantConfigurationProvider!.Get().TryGetValue(item.Key, out var tenantConfiguration))
{
switch (databaseEngine)
{
case DbProviders.SqlServer:
dbContext = scope.ServiceProvider.GetRequiredService<AdminConsoleSecurityMsSqlContext>();
dbContext.Database.SetConnectionString(tenantConfiguration.SecurityConnectionString);
dbContext.Database.Migrate();
break;
case DbProviders.PostgreSql:
dbContext = scope.ServiceProvider.GetRequiredService<AdminConsoleSecurityPgSqlContext>();
dbContext.Database.SetConnectionString(tenantConfiguration.SecurityConnectionString);
dbContext.Database.Migrate();
break;
}
}
}
}
else
{
DbContext dbContext;
var databaseEngine = DbProviders.Parse(app.Configuration.GetValue<string>("AppSettings:DatabaseEngine")!);

switch (databaseEngine)
{
case DbProviders.SqlServer:
Expand All @@ -88,6 +112,5 @@ public static void MigrateSecurityDbContext(this WebApplication app)
break;
}
}

}
}

0 comments on commit fef9c1a

Please sign in to comment.