namespace TaxBaik.Infrastructure.Data; using System.Data; using Microsoft.Extensions.Configuration; using Npgsql; using TaxBaik.Domain.Interfaces; public sealed class DbConnectionFactory : IDbConnectionFactory { private readonly string _connectionString; public DbConnectionFactory(IConfiguration configuration) { _connectionString = configuration.GetConnectionString("Default") ?? throw new InvalidOperationException("Missing 'Default' connection string in configuration."); } public IDbConnection CreateConnection() => new NpgsqlConnection(_connectionString); }