Files
pfm/PostFundManagement.Infrastructure/Extensions/Postgres.cs
T

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;
}
}