43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { NestFactory } from '@nestjs/core';
|
|
import { AppModule } from './app.module';
|
|
import * as bodyParser from 'body-parser';
|
|
import * as configMaster from './app-config/config.json';
|
|
import { Utility } from './common/Utility';
|
|
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
|
|
import * as cookieParser from 'cookie-parser';
|
|
|
|
|
|
async function bootstrap() {
|
|
Utility.appPort = configMaster.local.appConfig.port;
|
|
Utility.mailConfig = configMaster.local.mailConfig;
|
|
Utility.fileConfig = configMaster.local.fileConfig;
|
|
Utility.swaggerConfig = configMaster.local.swaggerConfig;
|
|
Utility.vapidConfig = configMaster.local.vapidConfig;
|
|
Utility.redisConfig = configMaster.local.redisConfig;
|
|
Utility.googleOauthConfig = configMaster.local.googleOauthConfig;
|
|
|
|
const app = await NestFactory.create(AppModule, { cors: true });
|
|
|
|
const config = new DocumentBuilder()
|
|
.setTitle(Utility.swaggerConfig.swagger.title)
|
|
.setVersion(Utility.swaggerConfig.swagger.version)
|
|
.addTag(Utility.swaggerConfig.swagger.tag)
|
|
.setDescription(Utility.swaggerConfig.swagger.description)
|
|
.build();
|
|
const document = SwaggerModule.createDocument(app, config);
|
|
SwaggerModule.setup('api', app, document);
|
|
|
|
app.enableCors(
|
|
{
|
|
origin: true,
|
|
credentials: true,
|
|
}
|
|
);
|
|
app.use(cookieParser());
|
|
|
|
app.use(bodyParser.json({ limit: '50mb' }));
|
|
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
|
|
await app.listen(Utility.appPort);
|
|
}
|
|
bootstrap();
|