using Predictalytics.Worker.Services;
using Microsoft.Extensions.DependencyInjection;

namespace Predictalytics.Worker;

public static class DependencyInjection
{
    public static IServiceCollection AddWorkerServices(this IServiceCollection services)
    {
        services.AddHostedService<MarketSyncWorker>();
        services.AddHostedService<PollingWorker>();
        services.AddHostedService<TradeHistoryWorker>();
        services.AddHostedService<TradeReconciliationWorker>();
        services.AddHostedService<DiscoveryWorker>();
        services.AddHostedService<TopHolderDiscoveryWorker>();
        services.AddHostedService<MarketHistoryWorker>();
        services.AddHostedService<ReportingWorker>();
        services.AddHostedService<TraderCleanupWorker>();
        services.AddHostedService<TraderAnalyticsWorker>();
        services.AddHostedService<ScoringAndAlertsWorker>();
        services.AddHostedService<TradeRetentionWorker>();
        services.AddHostedService<TradeContextEnrichmentWorker>();
        return services;
    }
}
