import { NestFactory } from '@nestjs/core'; import { ValidationPipe } from '@nestjs/common'; import helmet from 'helmet'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule, { logger: ['error', 'warn', 'log'], }); app.use( helmet({ contentSecurityPolicy: false, crossOriginEmbedderPolicy: false, }), ); const allowedOrigins = ( process.env.CORS_ORIGIN || 'http://localhost:3000,http://localhost:3002,http://localhost:3003' ).split(','); app.enableCors({ origin: allowedOrigins, credentials: true, methods: ['GET', 'POST', 'PATCH', 'DELETE', 'OPTIONS'], allowedHeaders: ['Content-Type', 'Authorization', 'x-tenant-id'], }); app.setGlobalPrefix('api'); app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true, transformOptions: { enableImplicitConversion: true }, }), ); const port = process.env.ADMIN_API_PORT || 3004; await app.listen(port, '0.0.0.0'); console.log(`Admin API running on http://localhost:${port}/api`); } bootstrap();