using Infrastructure.Interceptors; using Infrastructure.Services; using Infrastructure.Verticals.Arr; using Infrastructure.Verticals.ContentBlocker; using Infrastructure.Verticals.DownloadCleaner; using Infrastructure.Verticals.DownloadClient; using Infrastructure.Verticals.DownloadClient.Deluge; using Infrastructure.Verticals.DownloadClient.QBittorrent; using Infrastructure.Verticals.DownloadClient.Transmission; using Infrastructure.Verticals.DownloadRemover; using Infrastructure.Verticals.DownloadRemover.Interfaces; using Infrastructure.Verticals.Files; using Infrastructure.Verticals.ItemStriker; using Infrastructure.Verticals.QueueCleaner; namespace Executable.DependencyInjection; public static class ServicesDI { public static IServiceCollection AddServices(this IServiceCollection services) => services // API services .AddSingleton() .AddSingleton() // Core services .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() // Download client services .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddTransient() .AddSingleton() .AddSingleton(); }