Security #1

Merged
khwezi merged 50 commits from security into main 2026-08-21 11:47:37 +02:00
4 changed files with 29 additions and 3 deletions
Showing only changes of commit def73c3fa8 - Show all commits
@@ -1,3 +1,5 @@
using static PostFundManagement.Infrastructure.Extensions.Constants;
namespace PostFundManagement.Infrastructure.Database; namespace PostFundManagement.Infrastructure.Database;
public sealed class ApplicationDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext> public sealed class ApplicationDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext>
@@ -12,8 +14,8 @@ public sealed class ApplicationDbContextFactory : IDesignTimeDbContextFactory<Ap
var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>(); var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
var connectionString = configuration.GetConnectionString("PfmDatabase") var connectionString = configuration.GetConnectionString(DatabaseConfigName)
?? throw new InvalidOperationException("Connection string 'PfmDatabase' was not found in configuration."); ?? throw new InvalidOperationException($"Connection string '{DatabaseConfigName}' was not found in configuration.");
optionsBuilder.UseNpgsql(connectionString, npgsqlOptions => npgsqlOptions.MigrationsAssembly(typeof(ApplicationDbContext).Assembly.FullName)); optionsBuilder.UseNpgsql(connectionString, npgsqlOptions => npgsqlOptions.MigrationsAssembly(typeof(ApplicationDbContext).Assembly.FullName));
@@ -0,0 +1,6 @@
namespace PostFundManagement.Infrastructure.Extensions;
public static class Constants
{
public const string DatabaseConfigName = "PfmDatabase";
}
@@ -0,0 +1,17 @@
using PostFundManagement.Infrastructure.Database;
using static PostFundManagement.Infrastructure.Extensions.Constants;
namespace PostFundManagement.Infrastructure.Extensions;
public static class Postgres
{
public static IServiceCollection AddApplicationDbContext(this IServiceCollection services, IConfiguration configuration)
{
var connectionString = configuration.GetConnectionString(DatabaseConfigName)
?? throw new InvalidOperationException($"Connection string '{DatabaseConfigName}' was not found in configuration.");
services.AddPooledDbContextFactory<ApplicationDbContext>(builder => builder.UseNpgsql(connectionString));
return services;
}
}
@@ -27,13 +27,14 @@
<Using Include="Microsoft.EntityFrameworkCore.Design" /> <Using Include="Microsoft.EntityFrameworkCore.Design" />
</ItemGroup> </ItemGroup>
<!-- Configuration --> <!-- Extensions -->
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.11" /> <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.11" />
<Using Include="Microsoft.Extensions.Configuration" /> <Using Include="Microsoft.Extensions.Configuration" />
<Using Include="Microsoft.Extensions.DependencyInjection" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>