@golemio/parkings
Version:
Golemio Parkings Module
30 lines • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.v3ParkingMeasurementsRouter = void 0;
const V3ParkingMeasurementsController_1 = require("../../controllers/v3/V3ParkingMeasurementsController");
const Di_1 = require("../../ioc/Di");
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
const ioc_1 = require("@golemio/core/dist/output-gateway/ioc");
const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
const constants_1 = require("../constants");
class V3ParkingMeasurementsRouter extends AbstractRouter_1.AbstractRouter {
constructor() {
super(constants_1.RouteVersion.v3, "parking-measurements");
this.controller = new V3ParkingMeasurementsController_1.V3ParkingMeasurementsController();
this.primarySourceValidator = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.PrimarySourceValidator);
this.cacheHeaderMiddleware = Di_1.ParkingsContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
this.initRoutes();
}
initRoutes() {
this.router.get("/", [
(0, express_validator_1.query)("isRestrictedToOpenData").optional().isBoolean().not().isArray(),
(0, express_validator_1.query)("primarySource").optional().custom(this.primarySourceValidator.validate),
(0, express_validator_1.query)("parkingId").optional().not().isEmpty({ ignore_whitespace: true }),
], (0, Validation_1.paginationLimitMiddleware)(this.path), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(60, 5), this.controller.getAllLatest);
}
}
const v3ParkingMeasurementsRouter = new V3ParkingMeasurementsRouter();
exports.v3ParkingMeasurementsRouter = v3ParkingMeasurementsRouter;
//# sourceMappingURL=V3ParkingMeasurementsRouter.js.map