UNPKG

@golemio/parkings

Version:
46 lines 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.v1ParkingRouter = void 0; const TskParkingLotsRepository_1 = require("../../data-access/TskParkingLotsRepository"); const models_1 = require("../../models"); const constants_1 = require("../constants"); const AbstractGeoJsonRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractGeoJsonRouter"); const Validation_1 = require("@golemio/core/dist/output-gateway/Validation"); const express_validator_1 = require("@golemio/core/dist/shared/express-validator"); const CACHE_MAX_AGE = 5 * 60; const CACHE_STALE_WHILE_REVALIDATE = 5; /** * @deprecated Legacy router, use Parking Spaces /parking endpoints instead */ class V1ParkingRouter extends AbstractGeoJsonRouter_1.AbstractGeoJsonRouter { constructor() { super(constants_1.RouteVersion.v1, "parkings", new TskParkingLotsRepository_1.TskParkingLotsRepository()); this.GetAllTskMeasurements = async (req, res, next) => { const timestampFrom = req.query.from ? new Date(req.query.from).toISOString() : undefined; const timestampTo = req.query.to ? new Date(req.query.to).toISOString() : undefined; try { const data = await this.measurementsHistoryRepository.GetAllTskMeasurements({ limit: req.query.limit ? parseInt(req.query.limit) : undefined, offset: req.query.offset ? parseInt(req.query.offset) : undefined, from: timestampFrom, to: timestampTo, sensorId: req.query.sensorId, }); res.status(200).send(data); } catch (err) { next(err); } }; this.measurementsHistoryRepository = models_1.models.ParkingsMeasurementsModel; this.initRoutes({ maxAge: CACHE_MAX_AGE, staleWhileRevalidate: CACHE_STALE_WHILE_REVALIDATE }); this.router.get("/history", [ (0, express_validator_1.query)("from").optional().isISO8601().not().isArray(), (0, express_validator_1.query)("to").optional().isISO8601().not().isArray(), (0, express_validator_1.query)("sensorId").optional().not().isEmpty({ ignore_whitespace: true }).not().isArray(), ], Validation_1.pagination, (0, Validation_1.paginationLimitMiddleware)("TskParkingLotsLegacyRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(CACHE_MAX_AGE, CACHE_STALE_WHILE_REVALIDATE), this.GetAllTskMeasurements); } } const v1ParkingRouter = new V1ParkingRouter(); exports.v1ParkingRouter = v1ParkingRouter; //# sourceMappingURL=V1ParkingRouter.js.map