Files
tiku-backend.net/Tiku.Infrastructure/Modules/PlatformModule.cs

37 lines
2.1 KiB
C#

using Microsoft.Extensions.DependencyInjection;
using Tiku.Application.PlatformAdmin;
using Tiku.Application.PlatformAdmin.Operations;
using Tiku.Application.PlatformBilling;
using Tiku.Infrastructure.PlatformAdmin;
using Tiku.Infrastructure.PlatformAdmin.Operations;
using Tiku.Infrastructure.PlatformBilling;
namespace Tiku.Infrastructure;
internal static class PlatformModule
{
internal static IServiceCollection AddPlatformModule(this IServiceCollection services)
{
services.AddScoped<IPlatformAdminService, PlatformAdminService>();
services.AddScoped<IPlatformOperationsQueryService, PlatformOperationsQueryService>();
services.AddOptions<TenantProvisioningOptions>();
services.AddScoped<IPlatformQuestionBankService, PlatformQuestionBankService>();
services.AddScoped<IPlatformCrmAdminService, PlatformCrmAdminService>();
services.AddScoped<IPlatformSmsAdminService, PlatformSmsAdminService>();
services.AddScoped<IPlatformPaymentSettingsService, PlatformPaymentSettingsService>();
services.AddScoped<IPlatformApprovalService, PlatformApprovalService>();
services.AddScoped<IPlatformGovernanceService, PlatformGovernanceService>();
services.AddScoped<IPlatformTenantPaymentAdminService, PlatformTenantPaymentAdminService>();
services.AddScoped<ISaasCatalogAdminService, SaasCatalogAdminService>();
services.AddScoped<ITenantBillingService, TenantBillingService>();
services.AddScoped<IPlatformBillingAdminService, PlatformBillingAdminService>();
services.AddHttpClient<ICommercialBillingProcessor, CommercialBillingProcessor>();
services.AddScoped<IPlatformBillingPaymentGateway, PlatformBillingPaymentGateway>();
services.AddScoped<IPlatformBillingNotificationService, PlatformBillingNotificationService>();
services.AddScoped<IPlatformBillingSettlementService, PlatformBillingSettlementService>();
services.AddScoped<ISaasSubscriptionLifecycleService, SaasSubscriptionLifecycleService>();
services.AddOptions<SaasSubscriptionLifecycleOptions>();
return services;
}
}