using Microsoft.Extensions.DependencyInjection; using Serilog.Core; using Wino.Authentication; using Wino.Core.Domain.Interfaces; using Wino.Core.Integration.Processors; using Wino.Core.Services; using Wino.Core.Synchronizers.Errors.Outlook; using Wino.Core.Synchronizers.ImapSync; namespace Wino.Core; public static class CoreContainerSetup { public static void RegisterCoreServices(this IServiceCollection services) { var loggerLevelSwitcher = new LoggingLevelSwitch(); services.AddSingleton(loggerLevelSwitcher); services.AddSingleton(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); // Register error factory handlers services.AddTransient(); services.AddTransient(); services.AddTransient(); } }