Integrations -> Abstractions/Exceptions/Extensions/Models/Options/ Services (включая Storage); Persistence-конфигурации -> Configurations; корень Deal.Api (оркестратор/планировщики/DTO) -> Services/Dtos. namespace приведён к путям, using добавлены/дедуплицированы, FQN обновлены.
41 lines
1.9 KiB
C#
41 lines
1.9 KiB
C#
using Deal.Infrastructure.Integrations.Abstractions;
|
|
using Deal.Infrastructure.Integrations.Exceptions;
|
|
using Deal.Infrastructure.Integrations.Extensions;
|
|
using Deal.Infrastructure.Integrations.Models;
|
|
using Deal.Infrastructure.Integrations.Services;
|
|
|
|
namespace Deal.Infrastructure.Integrations.Options;
|
|
|
|
/// <summary>
|
|
/// Конфигурация клиента telegram-service — секция <c>Services:Telegram</c> (Ruling 6, план Task 14).
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// По умолчанию dev = Local-заглушка: <c>UseLocal=true</c> регистрирует <c>LocalTelegramGateway</c>
|
|
/// (нейтральный no-op/idle — реальный telegram-service в dev не поднят), реальный сервис подключается
|
|
/// <c>Services:Telegram:UseLocal=false</c> + endpoint (env <c>SERVICES__TELEGRAM__USELOCAL=false</c>,
|
|
/// <c>SERVICES__TELEGRAM__ENDPOINT=http://localhost:5101</c>, compose — Ruling 12). Выбор реализации — на
|
|
/// старте, логики переключения в рантайме нет (Ruling 6).
|
|
/// </remarks>
|
|
public sealed class TelegramServiceOptions
|
|
{
|
|
/// <summary>
|
|
/// Имя секции конфигурации (appsettings.json / env-префикс SERVICES__TELEGRAM__*).
|
|
/// </summary>
|
|
public const string SectionName = "Services:Telegram";
|
|
|
|
/// <summary>
|
|
/// Endpoint telegram-service по умолчанию (dev-порт сервиса, Ruling 12).
|
|
/// </summary>
|
|
public const string DefaultEndpoint = "http://localhost:5101";
|
|
|
|
/// <summary>
|
|
/// True — Local-заглушка LocalTelegramGateway (default), false — gRPC-клиент GrpcTelegramClient.
|
|
/// </summary>
|
|
public bool UseLocal { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Базовый адрес telegram-service (http://host:port; только без TLS — Ruling 2).
|
|
/// </summary>
|
|
public string Endpoint { get; set; } = DefaultEndpoint;
|
|
}
|