/
afanasevn
/
MaxSystems
Обзор
Документация
Войти
/
afanasevn
/
MaxSystems
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/MaxSystems.Infrastructure/Configuration/ConnectionStringConfiguration.cs
39 строк
2 KB
IBS\NAfanasev
Integration Event Bus
22 июн 2026, 17:02
22 июн 2026, 17:02
05d97a7
Код
Авторство
О чём код?
using Microsoft.Extensions.Configuration; namespace MaxSystems.Infrastructure.Configuration; /// <summary>Имена и чтение строк подключения из конфигурации.</summary> public static class ConnectionStringConfiguration { public const string DefaultConnectionName = "DefaultConnection"; public const string RabbitMqConnectionName = "rabbitmq"; public const string MissingDefaultConnectionMessage = "Connection string 'DefaultConnection' not found. Copy .env.example to .env in the repository root, " + "set ConnectionStrings__DefaultConnection (PostgreSQL Docker on port 5435), and run docker compose up -d."; public const string MissingRabbitMqConnectionMessage = "Connection string 'rabbitmq' not found. Copy .env.example to .env in the repository root, " + "set ConnectionStrings__rabbitmq (RabbitMQ Docker on port 5673, use 127.0.0.1 on Windows), and run docker compose up -d."; /// <summary>Строка подключения к PostgreSQL или исключение с подсказкой по .env.</summary> public static string GetDefaultConnection(IConfiguration configuration) => configuration.GetConnectionString(DefaultConnectionName) ?? throw new InvalidOperationException(MissingDefaultConnectionMessage); /// <summary>Строка подключения к RabbitMQ или исключение с подсказкой по .env.</summary> public static string GetRabbitMqConnection(IConfiguration configuration) => configuration.GetConnectionString(RabbitMqConnectionName) ?? throw new InvalidOperationException(MissingRabbitMqConnectionMessage); /// <summary>Загружает .env и строит конфигурацию только из переменных окружения.</summary> public static IConfigurationRoot BuildConfigurationWithEnv() { EnvLoader.LoadFromRepositoryRoot(); return new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); } }