Files
HexaHost-GameCloud/apps/api/src/integrations/whmcs/whmcs-integration.module.ts
smueller 15cf302afc
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 10s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 18s
Phase F
2026-06-26 15:05:01 +02:00

45 lines
1.4 KiB
TypeScript

import { Module } from '@nestjs/common';
import Redis from 'ioredis';
import { getConfig } from '@hexahost/config';
import { BillingModule } from '../../billing/billing.module';
import { AuthModule } from '../../auth/auth.module';
import { ServersModule } from '../../servers/servers.module';
import { WhmcsIntegrationController } from './whmcs-integration.controller';
import { WhmcsEventsService } from './whmcs-events.service';
import { INTEGRATIONS_REDIS } from './whmcs-integration.constants';
import { WhmcsIntegrationGuard } from './whmcs-integration.guard';
import { WhmcsIntegrationService } from './whmcs-integration.service';
import { WhmcsReconciliationService } from './whmcs-reconciliation.service';
import { WhmcsUsageService } from './whmcs-usage.service';
export { INTEGRATIONS_REDIS } from './whmcs-integration.constants';
@Module({
imports: [ServersModule, BillingModule, AuthModule],
controllers: [WhmcsIntegrationController],
providers: [
WhmcsIntegrationService,
WhmcsReconciliationService,
WhmcsEventsService,
WhmcsUsageService,
WhmcsIntegrationGuard,
{
provide: INTEGRATIONS_REDIS,
useFactory: () => {
const config = getConfig();
return new Redis(config.REDIS_URL, {
maxRetriesPerRequest: null,
});
},
},
{
provide: Redis,
useExisting: INTEGRATIONS_REDIS,
},
],
})
export class WhmcsIntegrationModule {}