diff --git a/src/app.integration.ts b/src/app.integration.ts index d1ef7b4..c8a0f45 100644 --- a/src/app.integration.ts +++ b/src/app.integration.ts @@ -11,6 +11,7 @@ import { DataSource } from 'typeorm'; import { PatientsModule } from './modules/patients'; import { AppointmentsModule } from './modules/appointments'; import { ConsultationsModule } from './modules/consultations'; +import { PaymentTerminalsModule } from './modules/payment-terminals'; // Import entities from all modules for TypeORM import { Patient } from './modules/patients/entities'; @@ -22,6 +23,11 @@ import { PrescriptionItem, VitalSignsRecord, } from './modules/consultations/entities'; +import { + TenantTerminalConfig, + TerminalPayment, + TerminalWebhookEvent, +} from './modules/payment-terminals/entities'; /** * Get all entities for TypeORM configuration @@ -41,6 +47,10 @@ export function getAllEntities() { Prescription, PrescriptionItem, VitalSignsRecord, + // Payment Terminals + TenantTerminalConfig, + TerminalPayment, + TerminalWebhookEvent, ]; } @@ -51,6 +61,7 @@ export interface ModuleOptions { patients?: { enabled: boolean; basePath?: string }; appointments?: { enabled: boolean; basePath?: string }; consultations?: { enabled: boolean; basePath?: string }; + paymentTerminals?: { enabled: boolean; basePath?: string }; } /** @@ -60,6 +71,7 @@ const defaultModuleOptions: ModuleOptions = { patients: { enabled: true, basePath: '/api' }, appointments: { enabled: true, basePath: '/api' }, consultations: { enabled: true, basePath: '/api' }, + paymentTerminals: { enabled: true, basePath: '/api' }, }; /** @@ -101,6 +113,17 @@ export function initializeModules( app.use(consultationsModule.router); console.log('✅ Consultations module initialized (CL-004)'); } + + // Initialize Payment Terminals Module + if (config.paymentTerminals?.enabled) { + const paymentTerminalsModule = new PaymentTerminalsModule({ + dataSource, + basePath: config.paymentTerminals.basePath, + }); + app.use(paymentTerminalsModule.router); + app.use('/webhooks', paymentTerminalsModule.webhookRouter); + console.log('✅ Payment Terminals module initialized'); + } } /** @@ -171,6 +194,7 @@ export async function createApplication(dataSourceConfig: any): Promise patients: true, appointments: true, consultations: true, + paymentTerminals: true, }, }); });