using Bit.Core.Billing.Caches; using Bit.Core.Billing.Caches.Implementations; using Bit.Core.Billing.Licenses; using Bit.Core.Billing.Licenses.Extensions; using Bit.Core.Billing.Organizations.Commands; using Bit.Core.Billing.Organizations.Queries; using Bit.Core.Billing.Organizations.Services; using Bit.Core.Billing.Payment; using Bit.Core.Billing.Premium.Commands; using Bit.Core.Billing.Premium.Queries; using Bit.Core.Billing.Pricing; using Bit.Core.Billing.Services; using Bit.Core.Billing.Services.Implementations; using Bit.Core.Billing.Subscriptions.Commands; using Bit.Core.Billing.Tax.Services; using Bit.Core.Billing.Tax.Services.Implementations; namespace Bit.Core.Billing.Extensions; using Microsoft.Extensions.DependencyInjection; public static class ServiceCollectionExtensions { public static void AddBillingOperations(this IServiceCollection services) { services.AddSingleton(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddLicenseServices(); services.AddLicenseOperations(); services.AddPricingClient(); services.AddPaymentOperations(); services.AddOrganizationLicenseCommandsQueries(); services.AddPremiumCommands(); services.AddPremiumQueries(); services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); } private static void AddOrganizationLicenseCommandsQueries(this IServiceCollection services) { services.AddScoped(); services.AddScoped(); services.AddScoped(); } private static void AddPremiumCommands(this IServiceCollection services) { services.AddScoped(); services.AddScoped(); services.AddTransient(); services.AddScoped(); } private static void AddPremiumQueries(this IServiceCollection services) { services.AddScoped(); } }