37 lines
1.5 KiB
JavaScript
37 lines
1.5 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 helmet_1 = __importDefault(require("helmet"));
|
|
const app_module_1 = require("./app.module");
|
|
async function bootstrap() {
|
|
const app = await core_1.NestFactory.create(app_module_1.AppModule);
|
|
app.use((0, helmet_1.default)());
|
|
app.enableCors();
|
|
app.setGlobalPrefix('api');
|
|
app.useGlobalPipes(new common_1.ValidationPipe({
|
|
whitelist: true,
|
|
forbidNonWhitelisted: true,
|
|
transform: true,
|
|
}));
|
|
const config = new swagger_1.DocumentBuilder()
|
|
.setTitle('Jordan Map Platform API')
|
|
.setDescription('Backend API for map services, routing, and driver telemetry for Jordan')
|
|
.setVersion('1.0')
|
|
.addApiKey({ type: 'apiKey', name: 'x-api-key', in: 'header' }, 'x-api-key')
|
|
.addTag('maps')
|
|
.addTag('geocoding')
|
|
.addTag('telemetry')
|
|
.build();
|
|
const document = swagger_1.SwaggerModule.createDocument(app, config);
|
|
swagger_1.SwaggerModule.setup('docs', app, document);
|
|
const port = process.env.API_PORT || 3000;
|
|
await app.listen(port);
|
|
console.log(`🚀 Jordan Map API is running on: http://localhost:${port}/api`);
|
|
}
|
|
bootstrap();
|
|
//# sourceMappingURL=main.js.map
|