UNPKG

@golemio/parkings

Version:
45 lines 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.V3ParkingMeasurementsController = void 0; const Di_1 = require("../../ioc/Di"); const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken"); const ParkingMeasurementDtoTransformation_1 = require("../../transformations/v3/ParkingMeasurementDtoTransformation"); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const AbstractV3ParkingController_1 = require("./AbstractV3ParkingController"); class V3ParkingMeasurementsController extends AbstractV3ParkingController_1.AbstractV3ParkingController { constructor() { super(); this.getAllLatest = async (req, res, next) => { try { const params = await this.getAllLatestParams(req); const result = await this.latestMeasurementRepository.GetAll(params); return res.json(this.transformation.transformArray(result)); } catch (err) { next(err); } }; this.latestMeasurementRepository = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingLatestMeasurementRepository); this.transformation = new ParkingMeasurementDtoTransformation_1.ParkingMeasurementDtoTransformation(); } async getAllLatestParams(req) { const { allowedSources } = await this.getAllowedScope(req); try { return { primarySource: allowedSources, parkingId: req.query.parkingId ? req.query.parkingId instanceof Array ? req.query.parkingId : [req.query.parkingId] : undefined, limit: req.query.limit ? Number(req.query.limit) : undefined, offset: req.query.offset ? Number(req.query.offset) : 0, }; } catch (err) { throw new golemio_errors_1.GeneralError("Param parsing error", this.constructor.name, err, 500); } } } exports.V3ParkingMeasurementsController = V3ParkingMeasurementsController; //# sourceMappingURL=V3ParkingMeasurementsController.js.map