diff --git a/src/main.ts b/src/main.ts index b8e8348..4f60a16 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,30 +1,30 @@ -import 'reflect-metadata'; -import helmet from 'helmet'; -import { ValidationPipe } from '@nestjs/common'; -import { NestFactory } from '@nestjs/core'; -import { Logger } from 'nestjs-pino'; -import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; -import { AppModule } from './app.module'; +import reflect-metadata; +import helmet from helmet; +import { ValidationPipe } from @nestjs/common; +import { NestFactory } from @nestjs/core; +import { Logger } from nestjs-pino; +import { SwaggerModule, DocumentBuilder } from @nestjs/swagger; +import { AppModule } from ./app.module; async function bootstrap() { const app = await NestFactory.create(AppModule, { bufferLogs: true }); app.useLogger(app.get(Logger)); app.use(helmet()); - // Contracte API sub /v1 (blueprint 16); health ramane la radacina pentru - // healthcheck-urile Coolify existente. - app.setGlobalPrefix('v1', { exclude: ['health'] }); + app.setGlobalPrefix(v1, { exclude: [health] }); app.useGlobalPipes( new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true }), ); - const allowedOrigins = (process.env.CORS_ORIGINS ?? 'http://localhost:3000').split(',').map((o) => o.trim()); + const allowedOrigins = (process.env.CORS_ORIGINS ?? http://localhost:3000).split(,).map((o) => o.trim()); app.enableCors({ origin: allowedOrigins, credentials: true }); - const config = new DocumentBuilder() - .setTitle('CEO OS API') - .setVersion('0.1.0') - .build(); - const document = SwaggerModule.createDocument(app, config); - SwaggerModule.setup('docs', app, document); + if (process.env.SWAGGER_ENABLED === true) { + const config = new DocumentBuilder() + .setTitle(CEO OS API) + .setVersion(0.1.0) + .build(); + const document = SwaggerModule.createDocument(app, config); + SwaggerModule.setup(docs, app, document); + } const port = process.env.PORT ?? 3001; await app.listen(port);