using PostFundManagement.Infrastructure.Database; using static PostFundManagement.Domain.Extensions.Constants; namespace PostFundManagement.Infrastructure.Extensions; public static class Postgres { 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; } }