fix: guard Swagger /docs behind SWAGGER_ENABLED env var

This commit is contained in:
admin-valentin 2026-07-31 10:30:29 +00:00
parent 765ec37c3a
commit 10fe16a7f5

View file

@ -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);