"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