import { NestFactory } from '@nestjs/core'; import { INestApplicationContext } from '@nestjs/common'; import { AppModule } from './app.module'; let appContext: INestApplicationContext | null = null; export async function initializeDIContainer(): Promise { if (appContext) { return; // Already initialized } appContext = await NestFactory.createApplicationContext(AppModule); } export function getDIContainer(): INestApplicationContext { if (!appContext) { throw new Error('DI container not initialized. Call initializeDIContainer() first.'); } return appContext; } export async function getService(token: string | symbol): Promise { const container = getDIContainer(); return container.get(token); }