Changes on config and DI

This commit is contained in:
2026-03-19 17:22:27 +01:00
parent cc720e2c08
commit 9f90151fc5
9 changed files with 134 additions and 9 deletions
@@ -6,10 +6,12 @@ namespace Musify.Infrastructure.Persistence
{
public static class DatabaseDependencyInjection
{
public static void AddDatabase(this IServiceCollection serviceDescriptors, IConfiguration configuration)
public static IServiceCollection AddDatabase(this IServiceCollection serviceDescriptors, IConfiguration configuration)
{
serviceDescriptors.AddDbContext<Database>();
serviceDescriptors.AddScoped<IDatabase>(serviceProvider => serviceProvider.GetRequiredService<Database>());
return serviceDescriptors;
}
}
}
@@ -14,7 +14,11 @@ namespace Musify.Infrastructure.Persistence
.AddJsonFile("DesignSettings.json")
.AddUserSecrets<DatabaseDesignTimeFactory>()
.Build();
var databaseConfiguration = DatabaseConfiguration.Load(configuration);
var databaseConfiguration = configuration
.GetRequiredSection(DatabaseConfiguration.SectionName)
.Get<DatabaseConfiguration>()
?? throw new InvalidOperationException($"{DatabaseConfiguration.SectionName} configuration section not found.");
var optionsBuilder = new DbContextOptionsBuilder<Database>();
optionsBuilder.UseNpgsql(databaseConfiguration.ConnectionString);