Deal — единая кодовая база
ci / build-test (push) Canceled after 0s

SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/
Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue,
контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер),
Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог).

Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0,
тесты 1340/130/52/38/9 зелёные.
This commit is contained in:
Rustam Khalimov
2026-09-11 23:56:47 +03:00
commit 27c7831910
1383 changed files with 158436 additions and 0 deletions
@@ -0,0 +1,34 @@
using Deal.Modules.Discovery.Application.Abstractions;
using Deal.Modules.Discovery.Application.Services;
using Deal.Modules.Settings.Application.Abstractions;
using Microsoft.Extensions.DependencyInjection;
namespace Deal.Modules.Discovery.Application.Registrars;
/// <summary>
/// DI-регистрация модуля Discovery.
/// </summary>
public static class DiscoveryModuleRegistrar
{
/// <summary>
/// Регистрирует сервисы модуля Discovery в контейнере.
/// </summary>
public static IServiceCollection AddDiscoveryModule(this IServiceCollection services)
{
services.AddScoped<DiscoveryPlanGuard>();
services.AddScoped<DiscoveryTasksService>();
services.AddScoped<DiscoveryCandidatesService>();
services.AddScoped<DiscoveryBlacklistService>();
services.AddScoped<DiscoveryLogService>();
services.AddSingleton<DiscoverySearchErrorCounter>();
services.AddSingleton<IDiscoverySearchErrorCounter>(sp => sp.GetRequiredService<DiscoverySearchErrorCounter>());
services.AddScoped<DiscoveryEvaluator>();
services.AddScoped<IDiscoveryPacer, DiscoveryPacer>();
services.AddScoped(sp => new DiscoveryBanGuard(
sp.GetRequiredService<IDiscoveryStore>(),
sp.GetRequiredService<ISettingsStore>()));
services.AddScoped<DiscoveryWorkerService>();
return services;
}
}