2020-07-25 14:26:10 -04:00
|
|
|
import { ValidationPipe } from '@nestjs/common';
|
|
|
|
import { NestFactory } from '@nestjs/core';
|
2020-07-26 10:53:43 -04:00
|
|
|
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
|
2020-07-25 14:26:10 -04:00
|
|
|
import { AppModule } from './app.module';
|
2020-09-27 15:48:42 -04:00
|
|
|
import { NestConsoleLoggerService } from './logger/nest-console-logger.service';
|
2020-07-21 15:24:56 -04:00
|
|
|
|
2020-07-25 14:26:10 -04:00
|
|
|
async function bootstrap() {
|
|
|
|
const app = await NestFactory.create(AppModule);
|
2020-09-27 15:48:42 -04:00
|
|
|
const logger = await app.resolve(NestConsoleLoggerService);
|
|
|
|
logger.log('Switching logger', 'AppBootstrap');
|
|
|
|
app.useLogger(logger);
|
2020-07-26 10:53:43 -04:00
|
|
|
|
|
|
|
const swaggerOptions = new DocumentBuilder()
|
|
|
|
.setTitle('HedgeDoc')
|
|
|
|
.setVersion('2.0-dev')
|
|
|
|
.build();
|
|
|
|
const document = SwaggerModule.createDocument(app, swaggerOptions);
|
|
|
|
SwaggerModule.setup('apidoc', app, document);
|
|
|
|
|
2020-07-25 14:26:10 -04:00
|
|
|
app.useGlobalPipes(
|
|
|
|
new ValidationPipe({
|
|
|
|
forbidUnknownValues: true,
|
|
|
|
skipMissingProperties: false,
|
|
|
|
transform: true,
|
|
|
|
}),
|
|
|
|
);
|
|
|
|
await app.listen(3000);
|
2020-09-27 15:48:42 -04:00
|
|
|
logger.log('Listening on port 3000', 'AppBootstrap');
|
2020-07-21 15:24:56 -04:00
|
|
|
}
|
|
|
|
|
2020-07-25 14:26:10 -04:00
|
|
|
bootstrap();
|