fix: guard Swagger /docs behind SWAGGER_ENABLED env var
This commit is contained in:
parent
10fe16a7f5
commit
a3b29e6cc2
1 changed files with 13 additions and 13 deletions
26
src/main.ts
26
src/main.ts
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue