@golemio/parkings 1.6.1 → 1.6.2-dev.1073199149
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/00_clear_test_data.sql +3 -0
- package/db/example/04_tsk_parking_v2.sql +21 -0
- package/db/migrations/postgresql/20230918124250-tsk-v-2-parking-sources.js +53 -0
- package/db/migrations/postgresql/20230918124259-tsk-v-2-parking-machines.js +53 -0
- package/db/migrations/postgresql/20230925090241-tsk-tariffs.js +53 -0
- package/db/migrations/postgresql/20231003115645-tsk-v-2-parking-special-access.js +53 -0
- package/db/migrations/postgresql/20231108130727-ipt-api-v3-allowed.js +53 -0
- package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-up.sql +18 -0
- package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-up.sql +15 -0
- package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-down.sql +4 -0
- package/db/migrations/postgresql/sqls/20230925090241-tsk-tariffs-up.sql +4 -0
- package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20231003115645-tsk-v-2-parking-special-access-up.sql +1 -0
- package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20231108130727-ipt-api-v3-allowed-up.sql +2 -0
- package/dist/helpers/const.d.ts +0 -0
- package/dist/helpers/const.js +2 -0
- package/dist/helpers/const.js.map +1 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.d.ts +12 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.js +40 -0
- package/dist/helpers/data-access/CachedParkingSourcesRepository.js.map +1 -0
- package/dist/helpers/interfaces/IParkingSource.d.ts +8 -0
- package/dist/helpers/interfaces/IParkingSource.js +3 -0
- package/dist/helpers/interfaces/IParkingSource.js.map +1 -0
- package/dist/input-gateway/controllers/ParkingSourcesController.d.ts +9 -0
- package/dist/input-gateway/controllers/ParkingSourcesController.js +40 -0
- package/dist/input-gateway/controllers/ParkingSourcesController.js.map +1 -0
- package/dist/input-gateway/index.d.ts +2 -0
- package/dist/input-gateway/index.js +5 -0
- package/dist/input-gateway/index.js.map +1 -1
- package/dist/input-gateway/routers/ParkingSourcesRouter.d.ts +12 -0
- package/dist/input-gateway/routers/ParkingSourcesRouter.js +39 -0
- package/dist/input-gateway/routers/ParkingSourcesRouter.js.map +1 -0
- package/dist/integration-engine/ParkingInterface.d.ts +6 -0
- package/dist/integration-engine/datasources/TskParkingDataSourceFactory.d.ts +8 -0
- package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js +51 -0
- package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/index.d.ts +5 -1
- package/dist/integration-engine/index.js +5 -1
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ioc/Di.js +27 -1
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +9 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +9 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingMachinesRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkingMachinesRepository.js +35 -0
- package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -0
- package/dist/integration-engine/repositories/ParkingSourcesRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkingSourcesRepository.js +23 -0
- package/dist/integration-engine/repositories/ParkingSourcesRepository.js.map +1 -0
- package/dist/integration-engine/transformations/TskParkingMachinesTransformation.d.ts +7 -0
- package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +24 -0
- package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.d.ts +9 -0
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js +42 -0
- package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.d.ts +10 -0
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.js +66 -0
- package/dist/integration-engine/transformations/TskParkingSectionTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.d.ts +14 -0
- package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js +84 -0
- package/dist/integration-engine/transformations/TskParkingZonesTariffsTransformation.js.map +1 -0
- package/dist/integration-engine/workers/ParkingSourcesWorker.d.ts +5 -0
- package/dist/integration-engine/workers/ParkingSourcesWorker.js +18 -0
- package/dist/integration-engine/workers/ParkingSourcesWorker.js.map +1 -0
- package/dist/integration-engine/workers/TskParkingWorker.d.ts +5 -0
- package/dist/integration-engine/workers/TskParkingWorker.js +31 -0
- package/dist/integration-engine/workers/TskParkingWorker.js.map +1 -0
- package/dist/integration-engine/workers/schemas/ParkingSourceSchema.d.ts +9 -0
- package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js +44 -0
- package/dist/integration-engine/workers/schemas/ParkingSourceSchema.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.d.ts +13 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js +31 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.d.ts +15 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js +40 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevelTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.d.ts +13 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js +41 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.d.ts +11 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js +33 -0
- package/dist/integration-engine/workers/tasks/SaveTskParkingZonesTariffsTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.d.ts +14 -0
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js +36 -0
- package/dist/integration-engine/workers/tasks/UpdateParkingSourceTask.js.map +1 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.js +79 -0
- package/dist/output-gateway/controllers/v3/V3ParkingController.js.map +1 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js +78 -0
- package/dist/output-gateway/controllers/v3/V3ParkingMachinesController.js.map +1 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.d.ts +9 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js +70 -0
- package/dist/output-gateway/controllers/v3/V3ParkingTariffsController.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.d.ts +10 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.js +101 -0
- package/dist/output-gateway/data-access/ParkingMachinesRepository.js.map +1 -0
- package/dist/output-gateway/data-access/ParkingRepository.d.ts +14 -0
- package/dist/output-gateway/data-access/ParkingRepository.js +141 -0
- package/dist/output-gateway/data-access/ParkingRepository.js.map +1 -0
- package/dist/output-gateway/data-access/TariffRepository.d.ts +10 -0
- package/dist/output-gateway/data-access/TariffRepository.js +99 -0
- package/dist/output-gateway/data-access/TariffRepository.js.map +1 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.d.ts +4 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.js +3 -0
- package/dist/output-gateway/helpers/params/IPaginationParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.d.ts +9 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingMachinesParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingParams.d.ts +10 -0
- package/dist/output-gateway/helpers/params/IParkingParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingParams.js.map +1 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.d.ts +7 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.js +3 -0
- package/dist/output-gateway/helpers/params/IParkingTariffsParams.js.map +1 -0
- package/dist/output-gateway/index.js +9 -1
- package/dist/output-gateway/index.js.map +1 -1
- package/dist/output-gateway/ioc/Di.d.ts +3 -0
- package/dist/output-gateway/ioc/Di.js +30 -0
- package/dist/output-gateway/ioc/Di.js.map +1 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.d.ts +9 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js +13 -0
- package/dist/output-gateway/ioc/ModuleContainerToken.js.map +1 -0
- package/dist/output-gateway/models/ParkingsLocationModel.d.ts +1 -1
- package/dist/output-gateway/models/ParkingsLocationModel.js +19 -5
- package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsModel.d.ts +6 -4
- package/dist/output-gateway/models/ParkingsModel.js +46 -10
- package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
- package/dist/output-gateway/models/ParkingsTariffsModel.d.ts +5 -1
- package/dist/output-gateway/models/ParkingsTariffsModel.js +17 -2
- package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
- package/dist/output-gateway/models/index.js +4 -2
- package/dist/output-gateway/models/index.js.map +1 -1
- package/dist/output-gateway/routers/constants.d.ts +2 -1
- package/dist/output-gateway/routers/constants.js +1 -0
- package/dist/output-gateway/routers/constants.js.map +1 -1
- package/dist/output-gateway/routers/index.d.ts +3 -0
- package/dist/output-gateway/routers/index.js +3 -0
- package/dist/output-gateway/routers/index.js.map +1 -1
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js +25 -4
- package/dist/output-gateway/routers/v2/V2ParkingRouter.js.map +1 -1
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +43 -0
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js +57 -0
- package/dist/output-gateway/routers/v3/V3ParkingRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.d.ts +3 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js +31 -0
- package/dist/output-gateway/routers/v3/V3ParkingTariffsRouter.js.map +1 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.d.ts +8 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js +56 -0
- package/dist/output-gateway/routers/v3/helpers/PrimarySourceValidator.js.map +1 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.d.ts +27 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js +3 -0
- package/dist/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.d.ts +9 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js +68 -0
- package/dist/output-gateway/transformations/v3/ParkingDtoTransformation.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.d.ts +8 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +35 -0
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.d.ts +11 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js +88 -0
- package/dist/output-gateway/transformations/v3/ParkingTariffDtoTransformation.js.map +1 -0
- package/dist/schema-definitions/datasources/InputParkingSourceSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/InputParkingSourceSchema.js +17 -0
- package/dist/schema-definitions/datasources/InputParkingSourceSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.d.ts +111 -3
- package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js +16 -0
- package/dist/schema-definitions/datasources/ParkingTariffDtoSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/TskParkingMachinesSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js +23 -0
- package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js +25 -0
- package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/TskParkingSectionSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/TskParkingSectionSchema.js +23 -0
- package/dist/schema-definitions/datasources/TskParkingSectionSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js +105 -0
- package/dist/schema-definitions/datasources/TskParkingZoneTariffSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.d.ts +9 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.d.ts +9 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.d.ts +11 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.d.ts +57 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/ITskParkingZoneTariff.js.map +1 -0
- package/dist/schema-definitions/index.d.ts +3 -0
- package/dist/schema-definitions/index.js +8 -0
- package/dist/schema-definitions/index.js.map +1 -1
- package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +14 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js +21 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -0
- package/dist/schema-definitions/models/ParkingSourcesModel.d.ts +12 -0
- package/dist/schema-definitions/models/ParkingSourcesModel.js +20 -0
- package/dist/schema-definitions/models/ParkingSourcesModel.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IAddress.d.ts +8 -0
- package/dist/schema-definitions/models/interfaces/IAddress.js +3 -0
- package/dist/schema-definitions/models/interfaces/IAddress.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParking.d.ts +28 -0
- package/dist/schema-definitions/models/interfaces/IParking.js +3 -0
- package/dist/schema-definitions/models/interfaces/IParking.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.d.ts +13 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.js +3 -0
- package/dist/schema-definitions/models/interfaces/IParkingLocation.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +10 -0
- package/dist/schema-definitions/models/interfaces/IParkingMachine.js +3 -0
- package/dist/schema-definitions/models/interfaces/IParkingMachine.js.map +1 -0
- package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.d.ts +8 -2
- package/dist/schema-definitions/models/interfaces/IParkingTariffDto.js.map +1 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.d.ts +6 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js +3 -0
- package/dist/schema-definitions/models/interfaces/tariff/IParkingTariffPeriod.js.map +1 -0
- package/docs/implementation-documentation.md +116 -13
- package/docs/openapi-admin-input.yaml +90 -0
- package/docs/openapi-output.yaml +891 -58
- package/package.json +5 -3
- package/dist/schema-definitions/datasources/interfaces/IParkingTariffDto.js.map +0 -1
- /package/dist/schema-definitions/{datasources → models}/interfaces/IParkingTariffDto.js +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.v3ParkingRouter = void 0;
|
|
4
|
+
const V3ParkingController_1 = require("../../controllers/v3/V3ParkingController");
|
|
5
|
+
const Di_1 = require("../../ioc/Di");
|
|
6
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
7
|
+
const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
|
|
8
|
+
const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
|
|
9
|
+
const redis_1 = require("@golemio/core/dist/output-gateway/redis");
|
|
10
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
12
|
+
class V3ParkingRouter extends AbstractRouter_1.AbstractRouter {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(constants_1.RouteVersion.v3, "parking");
|
|
15
|
+
this.allowedAccessDedicatedTo = [
|
|
16
|
+
"disabled",
|
|
17
|
+
"charging",
|
|
18
|
+
"parent",
|
|
19
|
+
"delivery",
|
|
20
|
+
"customer",
|
|
21
|
+
"resident",
|
|
22
|
+
"bus",
|
|
23
|
+
"designated",
|
|
24
|
+
"truck",
|
|
25
|
+
"all",
|
|
26
|
+
"motorcycle",
|
|
27
|
+
"RV",
|
|
28
|
+
];
|
|
29
|
+
this.controller = new V3ParkingController_1.V3ParkingController();
|
|
30
|
+
this.primarySourceValidator = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.PrimarySourceValidator);
|
|
31
|
+
this.initRoutes();
|
|
32
|
+
}
|
|
33
|
+
initRoutes(expire) {
|
|
34
|
+
this.router.get("/", [
|
|
35
|
+
(0, express_validator_1.query)("primarySource").optional().custom(this.primarySourceValidator.validate),
|
|
36
|
+
(0, express_validator_1.query)("primarySourceId").optional().isString().isUUID(),
|
|
37
|
+
(0, express_validator_1.query)("validFrom").optional().isISO8601(),
|
|
38
|
+
(0, express_validator_1.query)("boundingBox")
|
|
39
|
+
.optional()
|
|
40
|
+
.isString()
|
|
41
|
+
.matches(/^\d+\.?\d*(,\d+\.?\d*){3}$/),
|
|
42
|
+
(0, express_validator_1.oneOf)([
|
|
43
|
+
[
|
|
44
|
+
(0, express_validator_1.query)("accessDedicatedTo").optional().isArray(),
|
|
45
|
+
(0, express_validator_1.query)("accessDedicatedTo.*").optional().isString().isIn(this.allowedAccessDedicatedTo),
|
|
46
|
+
],
|
|
47
|
+
(0, express_validator_1.query)("accessDedicatedTo").optional().isString().isIn(this.allowedAccessDedicatedTo),
|
|
48
|
+
]),
|
|
49
|
+
(0, express_validator_1.query)("minutesBefore").optional().isInt({ min: 1 }),
|
|
50
|
+
(0, express_validator_1.query)("updatedSince").optional().isISO8601(),
|
|
51
|
+
], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)(this.path), (0, redis_1.useCacheMiddleware)(), this.controller.getAll);
|
|
52
|
+
this.router.get("/:id", (0, express_validator_1.param)("id").exists().isUUID(), Validation_1.checkErrors, (0, redis_1.useCacheMiddleware)(), this.controller.getOne);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const v3ParkingRouter = new V3ParkingRouter();
|
|
56
|
+
exports.v3ParkingRouter = v3ParkingRouter;
|
|
57
|
+
//# sourceMappingURL=V3ParkingRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V3ParkingRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingRouter.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,6EAAkH;AAClH,mEAA6E;AAC7E,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,eAAgB,SAAQ,+BAAc;IAkBxC;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAhB9B,6BAAwB,GAAG;YAC/B,UAAU;YACV,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,UAAU;YACV,KAAK;YACL,YAAY;YACZ,OAAO;YACP,KAAK;YACL,YAAY;YACZ,IAAI;SACP,CAAC;QAKE,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QAErG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;YACvD,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;YACzC,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC;YAC1C,IAAA,yBAAK,EAAC;gBACF;oBACI,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;oBAC/C,IAAA,yBAAK,EAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;iBACzF;gBACD,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;aACvF,CAAC;YACF,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnD,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;SAC/C,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,wBAAW,EAAE,IAAA,0BAAkB,GAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtH,CAAC;CACJ;AAED,MAAM,eAAe,GAAmB,IAAI,eAAe,EAAE,CAAC;AAErD,0CAAe"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.v3ParkingTariffRouter = void 0;
|
|
4
|
+
const Di_1 = require("../../ioc/Di");
|
|
5
|
+
const V3ParkingTariffsController_1 = require("../../controllers/v3/V3ParkingTariffsController");
|
|
6
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
7
|
+
const AbstractRouter_1 = require("@golemio/core/dist/helpers/routing/AbstractRouter");
|
|
8
|
+
const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
|
|
9
|
+
const redis_1 = require("@golemio/core/dist/output-gateway/redis");
|
|
10
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
12
|
+
class V3ParkingTariffsRouter extends AbstractRouter_1.AbstractRouter {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(constants_1.RouteVersion.v3, "parking-tariffs");
|
|
15
|
+
this.controller = new V3ParkingTariffsController_1.V3ParkingTariffsController();
|
|
16
|
+
this.primarySourceValidator = Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.PrimarySourceValidator);
|
|
17
|
+
this.initRoutes();
|
|
18
|
+
}
|
|
19
|
+
initRoutes(expire) {
|
|
20
|
+
this.router.get("/", [
|
|
21
|
+
(0, express_validator_1.query)("primarySource").optional().custom(this.primarySourceValidator.validate),
|
|
22
|
+
(0, express_validator_1.query)("primarySourceId").optional().isString().isUUID(),
|
|
23
|
+
(0, express_validator_1.query)("validFrom").optional().isISO8601(),
|
|
24
|
+
(0, express_validator_1.query)("validTo").optional().isISO8601(),
|
|
25
|
+
], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)(this.path), (0, redis_1.useCacheMiddleware)(), this.controller.getAll);
|
|
26
|
+
this.router.get("/:id", (0, express_validator_1.param)("id").exists().isUUID(), Validation_1.checkErrors, (0, redis_1.useCacheMiddleware)(), this.controller.getOne);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const v3ParkingTariffRouter = new V3ParkingTariffsRouter();
|
|
30
|
+
exports.v3ParkingTariffRouter = v3ParkingTariffRouter;
|
|
31
|
+
//# sourceMappingURL=V3ParkingTariffsRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"V3ParkingTariffsRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingTariffsRouter.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAC/C,gGAA2F;AAC3F,yEAAoE;AACpE,sFAAmF;AACnF,6EAAkH;AAClH,mEAA6E;AAC7E,mFAA2E;AAC3E,4CAA4C;AAG5C,MAAM,sBAAuB,SAAQ,+BAAc;IAI/C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAE1C,IAAI,CAAC,UAAU,GAAG,IAAI,uDAA0B,EAAE,CAAC;QACnD,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;YACvD,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;YACzC,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;SAC1C,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,0BAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,wBAAW,EAAE,IAAA,0BAAkB,GAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtH,CAAC;CACJ;AAED,MAAM,qBAAqB,GAAmB,IAAI,sBAAsB,EAAE,CAAC;AAElE,sDAAqB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CachedParkingSourcesRepository } from "../../../../helpers/data-access/CachedParkingSourcesRepository";
|
|
2
|
+
import { CustomValidator } from "@golemio/core/dist/shared/express-validator";
|
|
3
|
+
export declare class PrimarySourceValidator {
|
|
4
|
+
private repository;
|
|
5
|
+
constructor(repository: CachedParkingSourcesRepository);
|
|
6
|
+
validate: CustomValidator;
|
|
7
|
+
validateLegacy: CustomValidator;
|
|
8
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.PrimarySourceValidator = void 0;
|
|
25
|
+
const CachedParkingSourcesRepository_1 = require("../../../../helpers/data-access/CachedParkingSourcesRepository");
|
|
26
|
+
const ModuleContainerToken_1 = require("../../../ioc/ModuleContainerToken");
|
|
27
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
28
|
+
let PrimarySourceValidator = exports.PrimarySourceValidator = class PrimarySourceValidator {
|
|
29
|
+
constructor(repository) {
|
|
30
|
+
this.repository = repository;
|
|
31
|
+
this.validate = (value, options) => __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const allowedSources = yield this.repository.getV3Sources();
|
|
33
|
+
if (value instanceof Array) {
|
|
34
|
+
return value.every((source) => allowedSources.includes(source));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return allowedSources.includes(value);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
this.validateLegacy = (value, options) => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const allowedSources = yield this.repository.getLegacySources();
|
|
42
|
+
if (value instanceof Array) {
|
|
43
|
+
return value.every((source) => allowedSources.includes(source));
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return allowedSources.includes(value);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.PrimarySourceValidator = PrimarySourceValidator = __decorate([
|
|
52
|
+
(0, tsyringe_1.injectable)(),
|
|
53
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.CachedParkingSourcesRepository)),
|
|
54
|
+
__metadata("design:paramtypes", [CachedParkingSourcesRepository_1.CachedParkingSourcesRepository])
|
|
55
|
+
], PrimarySourceValidator);
|
|
56
|
+
//# sourceMappingURL=PrimarySourceValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrimarySourceValidator.js","sourceRoot":"","sources":["../../../../../src/output-gateway/routers/v3/helpers/PrimarySourceValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mHAAqG;AACrG,4EAAoE;AAEpE,iEAAwE;AAGjE,IAAM,sBAAsB,oCAA5B,MAAM,sBAAsB;IAC/B,YACiE,UAAkD;QAA1C,eAAU,GAAV,UAAU,CAAgC;QAG5G,aAAQ,GAAoB,CAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YAE5D,IAAI,KAAK,YAAY,KAAK,EAAE;gBACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3E;iBAAM;gBACH,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACzC;QACL,CAAC,CAAA,CAAC;QAEK,mBAAc,GAAoB,CAAO,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAEhE,IAAI,KAAK,YAAY,KAAK,EAAE;gBACxB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3E;iBAAM;gBACH,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACzC;QACL,CAAC,CAAA,CAAC;IApBC,CAAC;CAqBP,CAAA;iCAxBY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCAAqB,+DAA8B;GAF1G,sBAAsB,CAwBlC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IParkingTariffPeriod } from "../../../../schema-definitions/models/interfaces/tariff/IParkingTariffPeriod";
|
|
2
|
+
export interface IV3Charge {
|
|
3
|
+
id: string;
|
|
4
|
+
charge: string;
|
|
5
|
+
charge_type: string;
|
|
6
|
+
charge_order_index: number;
|
|
7
|
+
charge_interval: number;
|
|
8
|
+
max_iterations_of_charge: number;
|
|
9
|
+
min_iterations_of_charge: number;
|
|
10
|
+
valid_from: string;
|
|
11
|
+
valid_to: string;
|
|
12
|
+
periods_of_time: IParkingTariffPeriod[];
|
|
13
|
+
}
|
|
14
|
+
export interface IV3ChargeBand {
|
|
15
|
+
primary_source: string;
|
|
16
|
+
primary_source_id: string;
|
|
17
|
+
maximum_duration: number;
|
|
18
|
+
valid_from: string;
|
|
19
|
+
valid_to: string;
|
|
20
|
+
last_updated: Date;
|
|
21
|
+
last_modified_at_source: Date;
|
|
22
|
+
charges: Array<Partial<IV3Charge>>;
|
|
23
|
+
}
|
|
24
|
+
export interface IV3ParkingTariffDto {
|
|
25
|
+
id: string;
|
|
26
|
+
charge_bands: Array<Partial<IV3ChargeBand>>;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IV3ParkingTariffDto.js","sourceRoot":"","sources":["../../../../../src/output-gateway/transformations/interfaces/v3/IV3ParkingTariffDto.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IParkingWithLocation } from "../../../schema-definitions/models/interfaces/IParking";
|
|
2
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
|
+
import { IGeoJSONFeature } from "@golemio/core/dist/output-gateway/Geo";
|
|
4
|
+
export declare class ParkingDtoTransformation extends AbstractTransformation<IParkingWithLocation, IGeoJSONFeature> {
|
|
5
|
+
name: string;
|
|
6
|
+
transformToFeatureCollection: (elements: IParkingWithLocation[]) => import("@golemio/core/dist/output-gateway/Geo").IGeoJSONFeatureCollection;
|
|
7
|
+
protected transformInternal: (element: IParkingWithLocation) => IGeoJSONFeature;
|
|
8
|
+
private transformLocation;
|
|
9
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkingDtoTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
|
|
6
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
7
|
+
class ParkingDtoTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = "ParkingDtoTransformation";
|
|
11
|
+
this.transformToFeatureCollection = (elements) => {
|
|
12
|
+
try {
|
|
13
|
+
return (0, Geo_1.buildGeojsonFeatureCollection)(this.transformArray(elements));
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
throw new golemio_errors_1.GeneralError("Transformation error", this.name, err, 500);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
this.transformInternal = (element) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const properties = {
|
|
22
|
+
id: element.id,
|
|
23
|
+
primary_source: element.source,
|
|
24
|
+
primary_source_id: element.source_id,
|
|
25
|
+
name: element.name,
|
|
26
|
+
valid_from: element.valid_from,
|
|
27
|
+
centroid: (element === null || element === void 0 ? void 0 : element.centroid)
|
|
28
|
+
? {
|
|
29
|
+
type: (_a = element === null || element === void 0 ? void 0 : element.centroid) === null || _a === void 0 ? void 0 : _a.type,
|
|
30
|
+
coordinates: (_b = element === null || element === void 0 ? void 0 : element.centroid) === null || _b === void 0 ? void 0 : _b.coordinates,
|
|
31
|
+
}
|
|
32
|
+
: undefined,
|
|
33
|
+
last_updated_at: element.updated_at,
|
|
34
|
+
last_modified_at_source: element.date_modified,
|
|
35
|
+
space: (0, Geo_1.buildGeojsonFeatureCollection)(element.parking_locations.map(this.transformLocation)),
|
|
36
|
+
tariff: element.tariff_id,
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
geometry: {
|
|
40
|
+
coordinates: element.location.coordinates,
|
|
41
|
+
type: element.location.type,
|
|
42
|
+
},
|
|
43
|
+
properties: properties,
|
|
44
|
+
type: "Feature",
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
this.transformLocation = (element) => {
|
|
48
|
+
const properties = {
|
|
49
|
+
id: element.id,
|
|
50
|
+
capacity: element.total_spot_number,
|
|
51
|
+
filter: "blue",
|
|
52
|
+
access_dedicated_to: element.special_access ? [element.special_access] : [],
|
|
53
|
+
address: element.address,
|
|
54
|
+
restriction: [], // Not implemented for TSKv2
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
geometry: {
|
|
58
|
+
coordinates: element.location.coordinates,
|
|
59
|
+
type: element.location.type,
|
|
60
|
+
},
|
|
61
|
+
properties: properties,
|
|
62
|
+
type: "Feature",
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ParkingDtoTransformation = ParkingDtoTransformation;
|
|
68
|
+
//# sourceMappingURL=ParkingDtoTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingDtoTransformation.ts"],"names":[],"mappings":";;;AAEA,6GAA0G;AAC1G,+DAAuG;AACvG,6EAAwE;AAExE,MAAa,wBAAyB,SAAQ,+CAA6D;IAA3G;;QACW,SAAI,GAAW,0BAA0B,CAAC;QAE1C,iCAA4B,GAAG,CAAC,QAAgC,EAAE,EAAE;YACvE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAA6B,EAAE,EAAE;;YAC5D,MAAM,UAAU,GAAG;gBACf,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,SAAS;gBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;oBACvB,CAAC,CAAC;wBACI,IAAI,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,IAAI;wBAC7B,WAAW,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,WAAW;qBAC9C;oBACH,CAAC,CAAC,SAAS;gBACf,eAAe,EAAE,OAAO,CAAC,UAAU;gBACnC,uBAAuB,EAAE,OAAO,CAAC,aAAa;gBAC9C,KAAK,EAAE,IAAA,mCAA6B,EAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC3F,MAAM,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC;YAEF,OAAO;gBACH,QAAQ,EAAE;oBACN,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;oBACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B;gBACD,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,SAAS;aACC,CAAC;QACzB,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,OAAyB,EAAE,EAAE;YACtD,MAAM,UAAU,GAAG;gBACf,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,QAAQ,EAAE,OAAO,CAAC,iBAAiB;gBACnC,MAAM,EAAE,MAAM;gBACd,mBAAmB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC3E,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,EAAE,EAAE,4BAA4B;aAChD,CAAC;YAEF,OAAO;gBACH,QAAQ,EAAE;oBACN,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;oBACzC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;iBAC9B;gBACD,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,SAAS;aACC,CAAC;QACzB,CAAC,CAAC;IACN,CAAC;CAAA;AA3DD,4DA2DC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IParkingMachine } from "../../../schema-definitions/models/interfaces/IParkingMachine";
|
|
2
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
|
+
import { IGeoJSONFeature } from "@golemio/core/dist/output-gateway/Geo";
|
|
4
|
+
export declare class ParkingMachinesDtoTransformation extends AbstractTransformation<IParkingMachine, IGeoJSONFeature> {
|
|
5
|
+
name: string;
|
|
6
|
+
transformToFeatureCollection: (elements: IParkingMachine[]) => import("@golemio/core/dist/output-gateway/Geo").IGeoJSONFeatureCollection;
|
|
7
|
+
protected transformInternal: (element: IParkingMachine) => IGeoJSONFeature;
|
|
8
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkingMachinesDtoTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const Geo_1 = require("@golemio/core/dist/output-gateway/Geo");
|
|
6
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
7
|
+
class ParkingMachinesDtoTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = "ParkingMachinesDtoTransformation";
|
|
11
|
+
this.transformToFeatureCollection = (elements) => {
|
|
12
|
+
try {
|
|
13
|
+
return (0, Geo_1.buildGeojsonFeatureCollection)(this.transformArray(elements));
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
throw new golemio_errors_1.GeneralError("Transformation error", this.name, err, 500);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
this.transformInternal = (element) => {
|
|
20
|
+
return (0, Geo_1.buildGeojsonFeature)({
|
|
21
|
+
id: element.id,
|
|
22
|
+
primary_source: element.source,
|
|
23
|
+
primary_source_id: element.id,
|
|
24
|
+
code: element.code,
|
|
25
|
+
machine_type: element.type,
|
|
26
|
+
valid_from: element.validFrom,
|
|
27
|
+
tariff_id: element.tariffId,
|
|
28
|
+
lon: element.location.coordinates[0],
|
|
29
|
+
lat: element.location.coordinates[1],
|
|
30
|
+
}, "lon", "lat", true);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ParkingMachinesDtoTransformation = ParkingMachinesDtoTransformation;
|
|
35
|
+
//# sourceMappingURL=ParkingMachinesDtoTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingMachinesDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,+DAA4H;AAE5H,6EAAwE;AAExE,MAAa,gCAAiC,SAAQ,+CAAwD;IAA9G;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAElD,iCAA4B,GAAG,CAAC,QAA2B,EAAE,EAAE;YAClE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE;YACvD,OAAO,IAAA,yBAAmB,EACtB;gBACI,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,EAAE;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/C,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD,EACD,KAAK,EACL,KAAK,EACL,IAAI,CACP,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA7BD,4EA6BC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IParkingTariffDto } from "../../../schema-definitions/models/interfaces/IParkingTariffDto";
|
|
2
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
|
+
import { IV3ParkingTariffDto } from "../interfaces/v3/IV3ParkingTariffDto";
|
|
4
|
+
export declare class ParkingTariffDtoTransformation extends AbstractTransformation<IParkingTariffDto[], Array<Partial<IV3ParkingTariffDto>>> {
|
|
5
|
+
name: string;
|
|
6
|
+
protected transformInternal: (elements: IParkingTariffDto[]) => IV3ParkingTariffDto[];
|
|
7
|
+
private transformToChargeBands;
|
|
8
|
+
private transformToCharges;
|
|
9
|
+
private minDate;
|
|
10
|
+
private maxDate;
|
|
11
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkingTariffDtoTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const luxon_1 = require("luxon");
|
|
6
|
+
class ParkingTariffDtoTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.name = "ParkingTariffDtoTransformation";
|
|
10
|
+
this.transformInternal = (elements) => {
|
|
11
|
+
const groupedById = elements.reduce((acc, curr) => {
|
|
12
|
+
if (!acc[curr.tariff_id]) {
|
|
13
|
+
acc[curr.tariff_id] = [];
|
|
14
|
+
}
|
|
15
|
+
acc[curr.tariff_id].push(curr);
|
|
16
|
+
return acc;
|
|
17
|
+
}, {});
|
|
18
|
+
return Object.keys(groupedById).map((key) => {
|
|
19
|
+
const result = {
|
|
20
|
+
id: key,
|
|
21
|
+
charge_bands: this.transformToChargeBands(groupedById[key]),
|
|
22
|
+
};
|
|
23
|
+
return result;
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
transformToChargeBands(sameTariff) {
|
|
28
|
+
const groupedChargeBands = sameTariff.reduce((acc, curr) => {
|
|
29
|
+
if (!acc[curr.charge_band_name]) {
|
|
30
|
+
acc[curr.charge_band_name] = [];
|
|
31
|
+
}
|
|
32
|
+
acc[curr.charge_band_name].push(curr);
|
|
33
|
+
return acc;
|
|
34
|
+
}, {});
|
|
35
|
+
return Object.keys(groupedChargeBands).map((key) => {
|
|
36
|
+
const element = groupedChargeBands[key][0];
|
|
37
|
+
const charbandValidFrom = this.minDate(groupedChargeBands[key].map((element) => element.valid_from));
|
|
38
|
+
const charbandValidTo = this.maxDate(groupedChargeBands[key].map((element) => element.valid_to));
|
|
39
|
+
return {
|
|
40
|
+
primary_source: element.source,
|
|
41
|
+
primary_source_id: element.tariff_id,
|
|
42
|
+
maximum_duration: element.maximum_duration_seconds,
|
|
43
|
+
valid_from: charbandValidFrom,
|
|
44
|
+
valid_to: charbandValidTo,
|
|
45
|
+
last_updated: element.updated_at,
|
|
46
|
+
last_modified_at_source: element.last_updated,
|
|
47
|
+
charges: this.transformToCharges(groupedChargeBands[key]),
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
transformToCharges(elements) {
|
|
52
|
+
return elements.map((element) => {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
return {
|
|
55
|
+
id: element.tariff_id,
|
|
56
|
+
charge: element.charge,
|
|
57
|
+
charge_type: element.charge_type,
|
|
58
|
+
charge_order_index: element.charge_order_index,
|
|
59
|
+
charge_interval: element.charge_interval,
|
|
60
|
+
max_iterations_of_charge: element.max_iterations_of_charge,
|
|
61
|
+
min_iterations_of_charge: element.min_iterations_of_charge,
|
|
62
|
+
valid_from: (_a = element.valid_from) === null || _a === void 0 ? void 0 : _a.toISOString(),
|
|
63
|
+
valid_to: (_b = element.valid_to) === null || _b === void 0 ? void 0 : _b.toISOString(),
|
|
64
|
+
periods_of_time: element.periods_of_time,
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
minDate(isoStrings) {
|
|
69
|
+
isoStrings = isoStrings.filter((el) => el !== null);
|
|
70
|
+
if (isoStrings.length === 0) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return luxon_1.DateTime.min(...isoStrings.map((el) => luxon_1.DateTime.fromJSDate(el)))
|
|
74
|
+
.toJSDate()
|
|
75
|
+
.toISOString();
|
|
76
|
+
}
|
|
77
|
+
maxDate(isoStrings) {
|
|
78
|
+
isoStrings = isoStrings.filter((el) => el !== null);
|
|
79
|
+
if (isoStrings.length === 0) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return luxon_1.DateTime.max(...isoStrings.map((el) => luxon_1.DateTime.fromJSDate(el)))
|
|
83
|
+
.toJSDate()
|
|
84
|
+
.toISOString();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.ParkingTariffDtoTransformation = ParkingTariffDtoTransformation;
|
|
88
|
+
//# sourceMappingURL=ParkingTariffDtoTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingTariffDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingTariffDtoTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InputParkingSourceSchema = void 0;
|
|
4
|
+
exports.InputParkingSourceSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
source: { type: "string" },
|
|
8
|
+
open_data: { type: "boolean" },
|
|
9
|
+
api_v3_allowed: { type: "boolean" },
|
|
10
|
+
legacy_api_allowed: { type: "boolean" },
|
|
11
|
+
payment_url: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
12
|
+
contact: { oneOf: [{ type: "object" }, { type: "null", nullable: true }] },
|
|
13
|
+
},
|
|
14
|
+
required: ["source", "open_data", "api_v3_allowed", "legacy_api_allowed"],
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=InputParkingSourceSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputParkingSourceSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/InputParkingSourceSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAmC;IACpE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;QAC9E,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;KAC7E;IACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;IACzE,oBAAoB,EAAE,KAAK;CAC9B,CAAC"}
|
|
@@ -1,4 +1,112 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
declare const parkingstariffDtoSchema: {
|
|
2
|
+
type: string;
|
|
3
|
+
items: {
|
|
4
|
+
type: string;
|
|
5
|
+
properties: {
|
|
6
|
+
tariff_id: {
|
|
7
|
+
type: string;
|
|
8
|
+
};
|
|
9
|
+
source: {
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
last_updated: {
|
|
13
|
+
type: string;
|
|
14
|
+
};
|
|
15
|
+
payment_mode: {
|
|
16
|
+
type: string;
|
|
17
|
+
};
|
|
18
|
+
payment_additional_description: {
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
free_of_charge: {
|
|
22
|
+
type: string;
|
|
23
|
+
};
|
|
24
|
+
url_link_address: {
|
|
25
|
+
type: string;
|
|
26
|
+
};
|
|
27
|
+
charge_band_name: {
|
|
28
|
+
type: string;
|
|
29
|
+
};
|
|
30
|
+
accepts_payment_card: {
|
|
31
|
+
type: string;
|
|
32
|
+
};
|
|
33
|
+
accepts_cash: {
|
|
34
|
+
type: string;
|
|
35
|
+
};
|
|
36
|
+
accepts_mobile_payment: {
|
|
37
|
+
type: string;
|
|
38
|
+
};
|
|
39
|
+
accepts_litacka: {
|
|
40
|
+
type: string;
|
|
41
|
+
};
|
|
42
|
+
charge_currency: {
|
|
43
|
+
type: string;
|
|
44
|
+
};
|
|
45
|
+
charge: {
|
|
46
|
+
type: string;
|
|
47
|
+
};
|
|
48
|
+
charge_type: {
|
|
49
|
+
type: string;
|
|
50
|
+
};
|
|
51
|
+
charge_order_index: {
|
|
52
|
+
type: string;
|
|
53
|
+
};
|
|
54
|
+
charge_interval: {
|
|
55
|
+
type: string;
|
|
56
|
+
};
|
|
57
|
+
max_iterations_of_charge: {
|
|
58
|
+
type: string;
|
|
59
|
+
};
|
|
60
|
+
min_iterations_of_charge: {
|
|
61
|
+
type: string;
|
|
62
|
+
};
|
|
63
|
+
start_time_of_period: {
|
|
64
|
+
type: string;
|
|
65
|
+
};
|
|
66
|
+
end_time_of_period: {
|
|
67
|
+
type: string;
|
|
68
|
+
};
|
|
69
|
+
allowed_vehicle_type: {
|
|
70
|
+
type: string;
|
|
71
|
+
};
|
|
72
|
+
allowed_fuel_type: {
|
|
73
|
+
type: string;
|
|
74
|
+
};
|
|
75
|
+
valid_from: {
|
|
76
|
+
type: string;
|
|
77
|
+
format: string;
|
|
78
|
+
};
|
|
79
|
+
valid_to: {
|
|
80
|
+
type: string;
|
|
81
|
+
format: string;
|
|
82
|
+
};
|
|
83
|
+
maximum_duration_seconds: {
|
|
84
|
+
type: string;
|
|
85
|
+
};
|
|
86
|
+
periods_of_time: {
|
|
87
|
+
type: string;
|
|
88
|
+
items: {
|
|
89
|
+
type: string;
|
|
90
|
+
properties: {
|
|
91
|
+
day_in_week: {
|
|
92
|
+
type: string;
|
|
93
|
+
};
|
|
94
|
+
start: {
|
|
95
|
+
type: string;
|
|
96
|
+
};
|
|
97
|
+
end: {
|
|
98
|
+
type: string;
|
|
99
|
+
};
|
|
100
|
+
ph: {
|
|
101
|
+
type: string;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
required: string[];
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
required: string[];
|
|
109
|
+
additionalProperties: boolean;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
4
112
|
export { parkingstariffDtoSchema as ParkingsTariffDtoSchema };
|
|
@@ -29,6 +29,22 @@ const parkingstariffDtoSchema = {
|
|
|
29
29
|
end_time_of_period: { type: "string" },
|
|
30
30
|
allowed_vehicle_type: { type: "string" },
|
|
31
31
|
allowed_fuel_type: { type: "string" },
|
|
32
|
+
valid_from: { type: "string", format: "date-time" },
|
|
33
|
+
valid_to: { type: "string", format: "date-time" },
|
|
34
|
+
maximum_duration_seconds: { type: "number" },
|
|
35
|
+
periods_of_time: {
|
|
36
|
+
type: "array",
|
|
37
|
+
items: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
day_in_week: { type: "string" },
|
|
41
|
+
start: { type: "string" },
|
|
42
|
+
end: { type: "string" },
|
|
43
|
+
ph: { type: "string" },
|
|
44
|
+
},
|
|
45
|
+
required: ["day_in_week", "start", "end", "ph"],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
32
48
|
},
|
|
33
49
|
required: ["tariff_id", "source", "charge_order_index"],
|
|
34
50
|
additionalProperties: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingTariffDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingTariffDtoSchema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ParkingTariffDtoSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/ParkingTariffDtoSchema.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,8BAA8B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpC,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3C,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;YACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;YACjD,wBAAwB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,eAAe,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACvB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACzB;oBACD,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;iBAClD;aACJ;SACJ;QACD,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC;QACvD,oBAAoB,EAAE,KAAK;KAC9B;CACJ,CAAC;AAEkC,0DAAuB"}
|