57 lines
2.2 KiB
JavaScript
57 lines
2.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const core_1 = require("@nestjs/core");
|
|
const app_module_1 = require("./app.module");
|
|
const common_1 = require("@nestjs/common");
|
|
const swagger_1 = require("@nestjs/swagger");
|
|
const api_module_1 = require("./app/api/api.module");
|
|
const http_exception_filter_1 = require("./app/common/exception/http_exception.filter");
|
|
const app_env_1 = require("./app.env");
|
|
const path_1 = require("path");
|
|
const admin_module_1 = require("./app/admin/admin.module");
|
|
class CustomValidationPipe extends common_1.ValidationPipe {
|
|
transform(value, metadata) {
|
|
if (typeof value == 'object') {
|
|
value = Object.fromEntries(Object.entries(value).filter(([_, v]) => {
|
|
if (typeof v == 'undefined') {
|
|
return false;
|
|
}
|
|
if (v == '' && metadata.type != 'body') {
|
|
return false;
|
|
}
|
|
return true;
|
|
}));
|
|
}
|
|
return super.transform(value, metadata);
|
|
}
|
|
}
|
|
async function bootstrap() {
|
|
const app = await core_1.NestFactory.create(app_module_1.AppModule, {});
|
|
app.enableCors();
|
|
app.set('trust proxy', true);
|
|
app.useStaticAssets((0, path_1.join)(__dirname, '..', app_env_1.AppEnv.STATIC_DIR), {
|
|
prefix: '/static/',
|
|
});
|
|
app.useGlobalFilters(new http_exception_filter_1.HttpExceptionFilter());
|
|
app.useGlobalPipes(new CustomValidationPipe({
|
|
transform: true,
|
|
whitelist: true,
|
|
skipNullProperties: true,
|
|
}));
|
|
const config = new swagger_1.DocumentBuilder()
|
|
.addBearerAuth()
|
|
.setTitle('doc example')
|
|
.setDescription('doc description')
|
|
.setVersion('1.0')
|
|
.addTag('doc')
|
|
.build();
|
|
swagger_1.SwaggerModule.setup('doc/api', app, () => swagger_1.SwaggerModule.createDocument(app, config, {
|
|
include: [api_module_1.ApiModule],
|
|
}));
|
|
swagger_1.SwaggerModule.setup('doc/admin', app, () => swagger_1.SwaggerModule.createDocument(app, config, {
|
|
include: [admin_module_1.AdminModule],
|
|
}));
|
|
await app.listen(app_env_1.AppEnv.SERVER_PROT);
|
|
}
|
|
void bootstrap();
|
|
//# sourceMappingURL=main.js.map
|