using PostFundManagement.Infrastructure.Database; namespace PostFundManagement.Infrastructure.Extensions; public static class Postgres { public const string DatabaseConfigName = "PfmDatabase"; public static IServiceCollection AddDataProtectionDatabase(this IServiceCollection services, IConfiguration configuration) { var connectionString = configuration.GetConnectionString(DatabaseConfigName); services.AddPooledDbContextFactory(options => options.UseNpgsql(connectionString)); return services; } 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(builder => builder.UseNpgsql(connectionString)); return services; } }