fix: guard Swagger /docs behind SWAGGER_ENABLED env var

This commit is contained in:
admin-valentin 2026-07-31 10:32:52 +00:00
parent 10fe16a7f5
commit a3b29e6cc2

View file

@ -1,29 +1,29 @@
import reflect-metadata; import 'reflect-metadata';
import helmet from helmet; import helmet from 'helmet';
import { ValidationPipe } from @nestjs/common; import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from @nestjs/core; import { NestFactory } from '@nestjs/core';
import { Logger } from nestjs-pino; import { Logger } from 'nestjs-pino';
import { SwaggerModule, DocumentBuilder } from @nestjs/swagger; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
import { AppModule } from ./app.module; import { AppModule } from './app.module';
async function bootstrap() { async function bootstrap() {
const app = await NestFactory.create(AppModule, { bufferLogs: true }); const app = await NestFactory.create(AppModule, { bufferLogs: true });
app.useLogger(app.get(Logger)); app.useLogger(app.get(Logger));
app.use(helmet()); app.use(helmet());
app.setGlobalPrefix(v1, { exclude: [health] }); app.setGlobalPrefix('v1', { exclude: ['health'] });
app.useGlobalPipes( app.useGlobalPipes(
new ValidationPipe({ whitelist: true, forbidNonWhitelisted: true, transform: true }), 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 }); app.enableCors({ origin: allowedOrigins, credentials: true });
if (process.env.SWAGGER_ENABLED === true) { if (process.env.SWAGGER_ENABLED === 'true') {
const config = new DocumentBuilder() const config = new DocumentBuilder()
.setTitle(CEO OS API) .setTitle('CEO OS API')
.setVersion(0.1.0) .setVersion('0.1.0')
.build(); .build();
const document = SwaggerModule.createDocument(app, config); const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup(docs, app, document); SwaggerModule.setup('docs', app, document);
} }
const port = process.env.PORT ?? 3001; const port = process.env.PORT ?? 3001;