Security #1

Merged
khwezi merged 50 commits from security into main 2026-08-21 11:47:37 +02:00
3 changed files with 38 additions and 0 deletions
Showing only changes of commit df7ba866f5 - Show all commits
@@ -0,0 +1,22 @@
namespace PostFundManagement.Infrastructure.Database;
public sealed class ApplicationDbContextFactory : IDesignTimeDbContextFactory<ApplicationDbContext>
{
public ApplicationDbContext CreateDbContext(string[] args)
{
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddUserSecrets<IInfrastructure>(optional: true)
.AddEnvironmentVariables()
.Build();
var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
var connectionString = configuration.GetConnectionString("PfmDatabase")
?? throw new InvalidOperationException("Connection string 'PfmDatabase' was not found in configuration.");
optionsBuilder.UseNpgsql(connectionString, npgsqlOptions => npgsqlOptions.MigrationsAssembly(typeof(ApplicationDbContext).Assembly.FullName));
return new ApplicationDbContext(optionsBuilder.Options);
}
}
@@ -0,0 +1,3 @@
namespace PostFundManagement.Infrastructure;
public interface IInfrastructure;
@@ -4,10 +4,23 @@
<TargetFramework>net10.0</TargetFramework> <TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UserSecretsId>c4131f8d-ff78-432e-86d2-f6e131bd4cd3</UserSecretsId>
</PropertyGroup> </PropertyGroup>
<!-- Database -->
<ItemGroup> <ItemGroup>
<Using Include="Microsoft.EntityFrameworkCore" /> <Using Include="Microsoft.EntityFrameworkCore" />
<Using Include="Microsoft.EntityFrameworkCore.Design" />
</ItemGroup>
<!-- Configuration -->
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="10.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="10.0.11" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="10.0.11" />
<Using Include="Microsoft.Extensions.Configuration" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>