Добить структуру Api, Contracts, SharedKernel и сервисов

Deal.Api/Http -> Services/Models/Extensions; Contracts/Integrations
и SharedKernel/Tenants -> Abstractions/Models; extension-классы
telegram/ml -> Extensions. namespace/using/FQN мигрированы, using
дедуплицированы.
This commit is contained in:
Rustam Khalimov
2026-09-11 13:25:18 +03:00
parent 492950bdd0
commit e3a2692507
191 changed files with 1539 additions and 1350 deletions
@@ -0,0 +1,23 @@
using System.IO;
using System.Net.Http;
using Grpc.Core;
using Deal.Telegram.Telegram;
using Deal.Telegram.Extensions;
namespace Deal.Telegram.Extensions;
/// <summary>
/// Расширения <see cref="Exception"/> для классификации сбоев telegram-service.
/// </summary>
internal static class ExceptionExtensions
{
/// <summary>
/// Истинно транспортные/сетевые причины — только они дают UNAVAILABLE (безопасный повтор).
/// </summary>
/// <param name="exception">Исключение для классификации.</param>
/// <returns>True — исключение транспортного/сетевого характера.</returns>
public static bool IsTransportFailure(this Exception exception)
{
return exception is HttpRequestException or IOException or TimeoutException or RpcException;
}
}