- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
62 lines
2.8 KiB
JavaScript
62 lines
2.8 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const core_1 = require("@nestjs/core");
|
|
const common_1 = require("@nestjs/common");
|
|
const swagger_1 = require("@nestjs/swagger");
|
|
const config_1 = require("@nestjs/config");
|
|
const helmet_1 = __importDefault(require("helmet"));
|
|
const compression_1 = __importDefault(require("compression"));
|
|
const app_module_1 = require("./app.module");
|
|
async function bootstrap() {
|
|
const app = await core_1.NestFactory.create(app_module_1.AppModule, {
|
|
rawBody: true,
|
|
});
|
|
const configService = app.get(config_1.ConfigService);
|
|
app.use((0, helmet_1.default)());
|
|
app.use((0, compression_1.default)());
|
|
app.enableCors({
|
|
origin: configService.get('CORS_ORIGIN') || 'http://localhost:3000',
|
|
credentials: true,
|
|
});
|
|
app.setGlobalPrefix('api/v1');
|
|
app.useGlobalPipes(new common_1.ValidationPipe({
|
|
whitelist: true,
|
|
forbidNonWhitelisted: true,
|
|
transform: true,
|
|
transformOptions: {
|
|
enableImplicitConversion: true,
|
|
},
|
|
}));
|
|
if (configService.get('NODE_ENV') !== 'production') {
|
|
const config = new swagger_1.DocumentBuilder()
|
|
.setTitle('Template SaaS API')
|
|
.setDescription('Multi-tenant SaaS Platform API')
|
|
.setVersion('1.0')
|
|
.addBearerAuth()
|
|
.addTag('auth', 'Authentication endpoints')
|
|
.addTag('tenants', 'Tenant management')
|
|
.addTag('users', 'User management')
|
|
.addTag('billing', 'Billing and subscriptions')
|
|
.addTag('stripe', 'Stripe integration endpoints')
|
|
.addTag('stripe-webhooks', 'Stripe webhook handlers')
|
|
.build();
|
|
const document = swagger_1.SwaggerModule.createDocument(app, config);
|
|
swagger_1.SwaggerModule.setup('api/docs', app, document);
|
|
}
|
|
const port = configService.get('PORT') || 3001;
|
|
await app.listen(port);
|
|
console.log(`
|
|
╔════════════════════════════════════════════════╗
|
|
║ Template SaaS Backend ║
|
|
╠════════════════════════════════════════════════╣
|
|
║ Server running on: http://localhost:${port} ║
|
|
║ API Docs: http://localhost:${port}/api/docs ║
|
|
║ Environment: ${configService.get('NODE_ENV') || 'development'} ║
|
|
╚════════════════════════════════════════════════╝
|
|
`);
|
|
}
|
|
bootstrap();
|
|
//# sourceMappingURL=main.js.map
|