27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
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<DataProtectionDbContext>(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<ApplicationDbContext>(builder => builder.UseNpgsql(connectionString));
|
|
|
|
return services;
|
|
}
|
|
} |