@golemio/pid
Version:
Golemio PID Module
42 lines • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.vehiclePositionsRouter = exports.VehiclePositionsRouter = void 0;
const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
const express_1 = require("@golemio/core/dist/shared/express");
const _1 = require("./");
class VehiclePositionsRouter {
constructor() {
/**
* Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
*/
this.initRoutes = () => {
this.router.post("/", (0, helpers_1.checkContentTypeMiddleware)(["text/xml"]), this.Post);
};
this.Post = async (req, res, next) => {
try {
await this.controller.processData(req.body);
// logging number of records
const dataToEmit = {
numberOfRecords: req.body && req.body.m && req.body.m.spoj && req.body.m.spoj instanceof Array
? req.body.m.spoj.length
: req.body && req.body.m && req.body.m.spoj
? 1
: 0,
req,
};
helpers_1.loggerEvents.emit(helpers_1.LoggerEventType.NumberOfRecords, dataToEmit);
res.sendStatus(204);
}
catch (err) {
next(err);
}
};
this.router = (0, express_1.Router)();
this.controller = new _1.VehiclePositionsController();
this.initRoutes();
}
}
exports.VehiclePositionsRouter = VehiclePositionsRouter;
const vehiclePositionsRouter = new VehiclePositionsRouter().router;
exports.vehiclePositionsRouter = vehiclePositionsRouter;
//# sourceMappingURL=VehiclePositionsRouter.js.map