"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RoutingController = void 0; const common_1 = require("@nestjs/common"); const swagger_1 = require("@nestjs/swagger"); const throttler_1 = require("@nestjs/throttler"); const routing_service_1 = require("./routing.service"); const route_request_dto_1 = require("./dto/route-request.dto"); let RoutingController = class RoutingController { constructor(routingService) { this.routingService = routingService; } async calculateRoute(dto) { return this.routingService.calculateRoute(dto); } async getServiceStatus() { return this.routingService.getServiceStatus(); } }; exports.RoutingController = RoutingController; __decorate([ (0, common_1.Post)('calculate'), (0, swagger_1.ApiOperation)({ summary: 'Calculate route between two points', description: 'Generate turn-by-turn directions using Valhalla routing engine' }), (0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.OK, description: 'Successfully calculated route', type: 'object', }), (0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.BAD_REQUEST, description: 'Invalid route parameters', }), (0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.NOT_FOUND, description: 'No route found between the specified locations', }), (0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.SERVICE_UNAVAILABLE, description: 'Routing service unavailable', }), __param(0, (0, common_1.Body)()), __metadata("design:type", Function), __metadata("design:paramtypes", [route_request_dto_1.RouteRequestDto]), __metadata("design:returntype", Promise) ], RoutingController.prototype, "calculateRoute", null); __decorate([ (0, common_1.Get)('status'), (0, swagger_1.ApiOperation)({ summary: 'Check routing service status', description: 'Check if the Valhalla routing service is healthy and responsive' }), (0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.OK, description: 'Service status information', schema: { type: 'object', properties: { status: { type: 'string', example: 'healthy' }, version: { type: 'string', example: '3.1.0' }, }, }, }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise) ], RoutingController.prototype, "getServiceStatus", null); exports.RoutingController = RoutingController = __decorate([ (0, swagger_1.ApiTags)('Routing'), (0, common_1.Controller)('routing'), (0, common_1.UseGuards)(throttler_1.ThrottlerGuard), __metadata("design:paramtypes", [routing_service_1.RoutingService]) ], RoutingController); //# sourceMappingURL=routing.controller.js.map