UNPKG

@golemio/parkings

Version:
47 lines 2.36 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"); const express_validator_1 = require("@golemio/core/dist/shared/express-validator"); 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 queryData = (0, express_validator_1.matchedData)(req); const { allowedSources } = await this.getAllowedScope(req); try { return { primarySource: allowedSources, parkingId: queryData.parkingId ? queryData.parkingId instanceof Array ? queryData.parkingId : [queryData.parkingId] : undefined, limit: queryData.limit ? Number(queryData.limit) : undefined, offset: queryData.offset ? Number(queryData.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