m
This commit is contained in:
Vendored
+57
@@ -0,0 +1,57 @@
|
||||
"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
|
||||
Reference in New Issue
Block a user