using Microsoft.Extensions.DependencyInjection; using Tiku.Application.Backoffice; using Tiku.Application.Security; using Tiku.Application.Tenancy; using Tiku.Infrastructure.Backoffice; using Tiku.Infrastructure.Observability; using Tiku.Infrastructure.Security; using Tiku.Infrastructure.Tenancy; namespace Tiku.Infrastructure; internal static class PlatformCoreModule { internal static IServiceCollection AddPlatformCoreModule(this IServiceCollection services) { services.AddScoped(); services.AddScoped(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(provider => provider.GetRequiredService()); services.AddSingleton(provider => provider.GetRequiredService()); services.AddMemoryCache(); services.AddScoped(); services.AddScoped(); services.AddSingleton(); services.AddSingleton(); services.AddHttpClient(); services.AddHttpClient(); services.AddScoped(); services.AddOptions(); services.AddSingleton(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddSingleton(); services.AddSingleton(provider => provider.GetRequiredService()); services.AddScoped(); services.AddScoped(); services.AddOptions(); services.AddScoped(); services.AddScoped(); services.AddScoped(); return services; } }