"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@nestjs/core"); const common_1 = require("@nestjs/common"); const session = require("express-session"); const express_1 = require("express"); const app_module_1 = require("./app.module"); async function bootstrap() { const app = await core_1.NestFactory.create(app_module_1.AppModule); app.set('trust proxy', 1); const requestSizeLimit = process.env.REQUEST_SIZE_LIMIT || '10mb'; app.use((0, express_1.json)({ limit: requestSizeLimit })); app.use((0, express_1.urlencoded)({ limit: requestSizeLimit, extended: true })); app.use(session({ secret: process.env.SESSION_SECRET || 'change-me', resave: false, saveUninitialized: false, cookie: { httpOnly: true, sameSite: process.env.SESSION_SAME_SITE ?? 'lax', secure: process.env.NODE_ENV === 'production', maxAge: Number(process.env.SESSION_MAX_AGE ?? 1000 * 60 * 60 * 24 * 7), }, })); const allowedOrigins = process.env.CORS_ORIGIN ? process.env.CORS_ORIGIN.split(',').map(origin => origin.trim()) : ['http://localhost:3001']; app.enableCors({ origin: (origin, callback) => { if (!origin || allowedOrigins.includes(origin)) { callback(null, true); } else { callback(new Error(`Origin ${origin} not allowed by CORS`)); } }, credentials: true, }); app.useGlobalPipes(new common_1.ValidationPipe({ whitelist: process.env.VALIDATION_WHITELIST === 'true', forbidNonWhitelisted: process.env.VALIDATION_FORBID_NON_WHITELISTED === 'true', transform: process.env.VALIDATION_TRANSFORM === 'true', })); const apiPrefix = process.env.API_PREFIX || 'api'; app.setGlobalPrefix(apiPrefix); const port = Number(process.env.PORT) || 3000; await app.listen(port); console.log(`Application is running on: http://localhost:${port}`); console.log(`Environment: ${process.env.NODE_ENV || 'development'}`); } bootstrap(); //# sourceMappingURL=main.js.map