@golemio/parkings 1.3.0-dev.754841914 → 1.3.0-dev.762574566

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.
Files changed (118) hide show
  1. package/db/example/00_clear_test_data.sql +1 -0
  2. package/db/example/03_tsk_measurements_for_legacy_endpoints.sql +35 -0
  3. package/db/example/99_refresh_views.sql +1 -0
  4. package/db/migrations/postgresql/20230127010432-tsk-view-for-legacy-parking-endpoints.js +53 -0
  5. package/db/migrations/postgresql/sqls/20230127010432-tsk-view-for-legacy-parking-endpoints-down.sql +2 -0
  6. package/db/migrations/postgresql/sqls/20230127010432-tsk-view-for-legacy-parking-endpoints-up.sql +40 -0
  7. package/dist/integration-engine/ParkingsWorker.d.ts +5 -9
  8. package/dist/integration-engine/ParkingsWorker.js +45 -181
  9. package/dist/integration-engine/ParkingsWorker.js.map +1 -1
  10. package/dist/integration-engine/data-access/TskAverageOccupancyRepository.d.ts +8 -0
  11. package/dist/integration-engine/data-access/TskAverageOccupancyRepository.js +41 -0
  12. package/dist/integration-engine/data-access/TskAverageOccupancyRepository.js.map +1 -0
  13. package/dist/integration-engine/datasources/StaticTariffsDataSourceFactory.d.ts +4 -0
  14. package/dist/integration-engine/datasources/StaticTariffsDataSourceFactory.js +17 -0
  15. package/dist/integration-engine/datasources/StaticTariffsDataSourceFactory.js.map +1 -0
  16. package/dist/integration-engine/index.d.ts +3 -1
  17. package/dist/integration-engine/index.js +4 -1
  18. package/dist/integration-engine/index.js.map +1 -1
  19. package/dist/integration-engine/models/ParkingTariffsModel.d.ts +4 -0
  20. package/dist/integration-engine/models/ParkingTariffsModel.js +18 -0
  21. package/dist/integration-engine/models/ParkingTariffsModel.js.map +1 -0
  22. package/dist/integration-engine/models/ParkingsModel.d.ts +2 -0
  23. package/dist/integration-engine/models/ParkingsModel.js +26 -4
  24. package/dist/integration-engine/models/ParkingsModel.js.map +1 -1
  25. package/dist/integration-engine/queueDefinitions.js +10 -39
  26. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  27. package/dist/integration-engine/tasks/UpdateStaticTariffsTask.d.ts +17 -0
  28. package/dist/integration-engine/tasks/UpdateStaticTariffsTask.js +47 -0
  29. package/dist/integration-engine/tasks/UpdateStaticTariffsTask.js.map +1 -0
  30. package/dist/integration-engine/transformations/StaticTariffsMatcher.d.ts +8 -0
  31. package/dist/integration-engine/transformations/StaticTariffsMatcher.js +32 -0
  32. package/dist/integration-engine/transformations/StaticTariffsMatcher.js.map +1 -0
  33. package/dist/integration-engine/transformations/StaticTariffsTransformation.d.ts +8 -0
  34. package/dist/integration-engine/transformations/StaticTariffsTransformation.js +60 -0
  35. package/dist/integration-engine/transformations/StaticTariffsTransformation.js.map +1 -0
  36. package/dist/integration-engine/workers/StaticTariffsWorker.d.ts +5 -0
  37. package/dist/integration-engine/workers/StaticTariffsWorker.js +22 -0
  38. package/dist/integration-engine/workers/StaticTariffsWorker.js.map +1 -0
  39. package/dist/output-gateway/ParkingsRouter.js.map +1 -1
  40. package/dist/output-gateway/data-access/TskAverageOccupancyRepository.d.ts +6 -0
  41. package/dist/output-gateway/data-access/TskAverageOccupancyRepository.js +21 -0
  42. package/dist/output-gateway/data-access/TskAverageOccupancyRepository.js.map +1 -0
  43. package/dist/output-gateway/data-access/TskDistrictsRepository.d.ts +6 -0
  44. package/dist/output-gateway/data-access/TskDistrictsRepository.js +21 -0
  45. package/dist/output-gateway/data-access/TskDistrictsRepository.js.map +1 -0
  46. package/dist/output-gateway/data-access/TskParkingLotsRepository.d.ts +16 -0
  47. package/dist/output-gateway/data-access/TskParkingLotsRepository.js +152 -0
  48. package/dist/output-gateway/data-access/TskParkingLotsRepository.js.map +1 -0
  49. package/dist/output-gateway/data-access/helpers/TskFeatureMapper.d.ts +11 -0
  50. package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js +42 -0
  51. package/dist/output-gateway/data-access/helpers/TskFeatureMapper.js.map +1 -0
  52. package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.d.ts +33 -0
  53. package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.js +3 -0
  54. package/dist/output-gateway/data-access/interfaces/ITskParkingLotFeature.js.map +1 -0
  55. package/dist/output-gateway/index.d.ts +1 -0
  56. package/dist/output-gateway/index.js +1 -0
  57. package/dist/output-gateway/index.js.map +1 -1
  58. package/dist/output-gateway/models/ParkingsLocationModel.js +2 -2
  59. package/dist/output-gateway/models/ParkingsLocationModel.js.map +1 -1
  60. package/dist/output-gateway/models/ParkingsMeasurementsModels.d.ts +6 -1
  61. package/dist/output-gateway/models/ParkingsMeasurementsModels.js +58 -3
  62. package/dist/output-gateway/models/ParkingsMeasurementsModels.js.map +1 -1
  63. package/dist/output-gateway/models/ParkingsModel.js +9 -9
  64. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  65. package/dist/output-gateway/models/ParkingsTariffsModel.js +2 -2
  66. package/dist/output-gateway/models/ParkingsTariffsModel.js.map +1 -1
  67. package/dist/output-gateway/models/helpers/DetailAttributesHelper.js +7 -7
  68. package/dist/output-gateway/models/helpers/DetailAttributesHelper.js.map +1 -1
  69. package/dist/output-gateway/models/index.js +2 -2
  70. package/dist/output-gateway/models/index.js.map +1 -1
  71. package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.d.ts +15 -0
  72. package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.js +3 -0
  73. package/dist/output-gateway/models/interfaces/TskMeasurementsInterfaces.js.map +1 -0
  74. package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.d.ts +12 -0
  75. package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.js +49 -0
  76. package/dist/output-gateway/routers/TskParkingLotsLegacyRouter.js.map +1 -0
  77. package/dist/schema-definitions/Parkomats.d.ts +23 -23
  78. package/dist/schema-definitions/datasources/IStaticParkingTariff.d.ts +18 -0
  79. package/dist/schema-definitions/datasources/IStaticParkingTariff.js +3 -0
  80. package/dist/schema-definitions/datasources/IStaticParkingTariff.js.map +1 -0
  81. package/dist/schema-definitions/datasources/IStaticParkingsTariffCharge.d.ts +10 -0
  82. package/dist/schema-definitions/datasources/IStaticParkingsTariffCharge.js +3 -0
  83. package/dist/schema-definitions/datasources/IStaticParkingsTariffCharge.js.map +1 -0
  84. package/dist/schema-definitions/datasources/PaymentMethodTypes.d.ts +1 -0
  85. package/dist/schema-definitions/datasources/PaymentMethodTypes.js +3 -0
  86. package/dist/schema-definitions/datasources/PaymentMethodTypes.js.map +1 -0
  87. package/dist/schema-definitions/datasources/StaticTariffsJsonSchema.d.ts +11 -0
  88. package/dist/schema-definitions/datasources/StaticTariffsJsonSchema.js +123 -0
  89. package/dist/schema-definitions/datasources/StaticTariffsJsonSchema.js.map +1 -0
  90. package/dist/schema-definitions/datasources/ZtpParkingsJsonSchema.d.ts +1 -5
  91. package/dist/schema-definitions/datasources/ZtpParkingsJsonSchema.js.map +1 -1
  92. package/dist/schema-definitions/index.d.ts +134 -140
  93. package/dist/schema-definitions/index.js +29 -79
  94. package/dist/schema-definitions/index.js.map +1 -1
  95. package/dist/schema-definitions/models/TskAverageOccupancyModel.d.ts +8 -0
  96. package/dist/schema-definitions/models/TskAverageOccupancyModel.js +16 -0
  97. package/dist/schema-definitions/models/TskAverageOccupancyModel.js.map +1 -0
  98. package/dist/schema-definitions/models/TskDistrictsModel.d.ts +8 -0
  99. package/dist/schema-definitions/models/TskDistrictsModel.js +16 -0
  100. package/dist/schema-definitions/models/TskDistrictsModel.js.map +1 -0
  101. package/dist/schema-definitions/models/index.d.ts +2 -0
  102. package/dist/schema-definitions/models/index.js +19 -0
  103. package/dist/schema-definitions/models/index.js.map +1 -0
  104. package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.d.ts +7 -0
  105. package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.js +3 -0
  106. package/dist/schema-definitions/models/interfaces/ITskAverageOccupancyModel.js.map +1 -0
  107. package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.d.ts +4 -0
  108. package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.js +3 -0
  109. package/dist/schema-definitions/models/interfaces/ITskDistrictsModel.js.map +1 -0
  110. package/docs/implementation-documentation.md +49 -16
  111. package/package.json +3 -7
  112. package/db/example/mongo_data/dataplatform/parkings.bson +0 -0
  113. package/db/example/mongo_data/dataplatform/parkings.metadata.json +0 -1
  114. package/db/example/mongo_data/dataplatform/parkings_history.bson +0 -0
  115. package/db/example/mongo_data/dataplatform/parkings_history.metadata.json +0 -1
  116. package/dist/integration-engine/ParkingsTransformation.d.ts +0 -9
  117. package/dist/integration-engine/ParkingsTransformation.js +0 -105
  118. package/dist/integration-engine/ParkingsTransformation.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ export declare type AverageOccupancy = {
2
+ [K in string]: Record<string, number>;
3
+ };
4
+ export interface ITskAverageOccupancyModel {
5
+ source_id: string;
6
+ average_occupancy: AverageOccupancy;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITskAverageOccupancyModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITskAverageOccupancyModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/ITskAverageOccupancyModel.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ITskDistrictsModel {
2
+ source_id: string;
3
+ district?: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITskDistrictsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITskDistrictsModel.js","sourceRoot":"","sources":["../../../../src/schema-definitions/models/interfaces/ITskDistrictsModel.ts"],"names":[],"mappings":""}
@@ -6,9 +6,10 @@ Modul slouží k ukládání a poskytování informací o parkování.
6
6
 
7
7
  **Dostupní poskytovatelé**:
8
8
 
9
- - Korid (Liberec)
10
- - TSK (Praha)
11
- - IPR (Praha)
9
+ - Korid (Liberec)
10
+ - TSK (Praha)
11
+ - IPR (Praha)
12
+ - IPT/OICT
12
13
 
13
14
  ## Vstupní data
14
15
 
@@ -27,6 +28,8 @@ Data stahujeme pravidelně od IPR, TSK.
27
28
 
28
29
  Pro ZTP parkoviště se z API se stahuje JSON z https://opendata.iprpraha.cz/CUR/DOP/DOP_TSK_Stani_ZTP_b/WGS_84/DOP_TSK_Stani_ZTP_b.json
29
30
 
31
+ Pro statické (ručně zadané) tarify se stahuje JSON ze zdroje IPT.
32
+
30
33
  #### Zóny placeného stání
31
34
 
32
35
  Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, které mají přesnější geometrii.
@@ -119,10 +122,12 @@ Zóny placeného stání používají 2 datové zdroje - TSK a Opendata IPR, kte
119
122
  - dataplatform.parkings.saveParkingLotsPrague
120
123
  - dataplatform.parkings.saveParkingLotsMeasurementsPrague
121
124
 
125
+ Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického zdroje IPT.
122
126
 
123
127
  ## Zpracování dat / transformace
124
128
 
125
129
  Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vychází z centroidu geometrie daného parkoviště a získává se z Photon API metodou `GeocodeApi.getAddressByLatLngFromPhoton` v modulu Core.
130
+ Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického zdroje IPT.
126
131
 
127
132
  ### Worker *ParkingsWorker*
128
133
 
@@ -224,20 +229,20 @@ Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vyc
224
229
  - data modely
225
230
  - parkingsModel -> (schéma public) `parkings`
226
231
 
227
- ### Legacy mongo modely
228
-
229
- **CronJob and Worker method refreshDataInDB**
230
-
231
- `cron.dataplatform.parkings.refreshDataInDB` ("`0 */5 * * * *`" Dev a Prod)
232
-
233
- Datasource TSKParkings, Transformovaná data jsou uložena v tabulce `parkings.parkings`
234
-
235
- Na základě dat metoda generuje 3 události RabbitMQ:
236
-
237
- - RabbitMQ send Message `saveDataToHistory`
238
- - RabbitMQ send Message `updateAddressAndDistrict`
239
- - RabbitMQ send Message `updateAverageOccupancy`
232
+ ### Worker *StaticTariffsWorker* a *UpdateStaticTariffsTask*
240
233
 
234
+ - vstupní rabbitmq fronta:
235
+ - název: `updateStaticTariffs`
236
+ - bez parametrů
237
+ - datový zdroj
238
+ - JSON stahovaný ze zdroje IPT
239
+ - [příklad vstupních dat](../test/integration-engine/data/StaticParkingTariffsData.json)
240
+ - transformace
241
+ - mapování na `IParkingTariff`
242
+ - `relations` mapuje `StaticTariffsMatcher` tak, že do příslušného `IParking` doplní id tarifu, pokud je toto null
243
+ - data modely
244
+ - parkingsModel -> (schéma public) `parkings`
245
+ - parkingTariffsmodel -> (schéma public) `parkings_tariffs`
241
246
 
242
247
  ## Uložení dat
243
248
 
@@ -296,3 +301,31 @@ Na základě dat metoda generuje 3 události RabbitMQ:
296
301
  - implementováno dodatečně
297
302
  - response header (`Link`) obsahuje metadata k předchozí a následující stránce
298
303
  - implementována možnost dotazování pomocí parametrů `limit` a `offset`
304
+
305
+ #### _/parkings_
306
+
307
+ #### _/parkings/:id_
308
+
309
+ _:warning: Deprecated, vyžijte /parking nebo /parking/detail_
310
+
311
+ - zdrojové tabulky
312
+ - parkings
313
+ - parkings_measurements_actual
314
+ - v_tsk_districts
315
+ - parkings
316
+ - common.citydistricts
317
+ - v_tsk_average_occupancy
318
+ - parkings_measurements_part
319
+ - implementováno dodatečně
320
+ - zpětně kompatibilní s Mongo GeoJSON routerem
321
+ - navrácí pouze `tsk` data
322
+
323
+ #### _/parkings/history_
324
+
325
+ _:warning: Deprecated, využijte /parking/measurements_
326
+
327
+ - zdrojové tabulky
328
+ - parkings_measurements_part
329
+ - implementováno dodatečně
330
+ - zpětně kompatibilní s Mongo GeoJSON history routerem
331
+ - navrácí pouze `tsk` data
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/parkings",
3
- "version": "1.3.0-dev.754841914",
3
+ "version": "1.3.0-dev.762574566",
4
4
  "description": "Golemio Parkings Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,16 +26,13 @@
26
26
  },
27
27
  "engines": {
28
28
  "node": ">=16.0.0",
29
- "npm": ">=8.0.0",
30
- "yarn": "Use npm!"
29
+ "npm": ">=8.0.0"
31
30
  },
32
31
  "devDependencies": {
33
32
  "@commitlint/cli": "^11.0.0",
34
33
  "@commitlint/config-conventional": "^11.0.0",
35
- "@golemio/city-districts": "1.0.5",
36
34
  "@golemio/cli": "1.3.3",
37
35
  "@golemio/core": "1.3.0",
38
- "@golemio/db-common": "1.0.2",
39
36
  "@golemio/eslint-config": "^1.1.0",
40
37
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
41
38
  "@types/chai": "4.2.3",
@@ -67,8 +64,7 @@
67
64
  "typescript": "4.7.2"
68
65
  },
69
66
  "peerDependencies": {
70
- "@golemio/city-districts": "^1.0.0",
71
- "@golemio/core": "^1.1.1"
67
+ "@golemio/core": "~1.0"
72
68
  },
73
69
  "dependencies": {
74
70
  "@turf/turf": "^6.5.0",
@@ -1 +0,0 @@
1
- {"options":{},"indexes":[{"v":2,"key":{"_id":1},"name":"_id_","ns":"dataplatform.parkings"},{"v":2,"key":{"properties.id":1},"name":"properties.id_1","ns":"dataplatform.parkings"},{"v":2,"key":{"geometry":"2dsphere"},"name":"geometry_2dsphere","ns":"dataplatform.parkings","2dsphereIndexVersion":3}],"uuid":"1287505494814388928cce8449194875"}
@@ -1 +0,0 @@
1
- {"options":{},"indexes":[{"v":2,"key":{"_id":1},"name":"_id_","ns":"dataplatform.parkings_history"},{"v":2,"key":{"id":1},"name":"id_1","ns":"dataplatform.parkings_history"},{"v":2,"key":{"updated_at":-1},"name":"updated_at_-1","ns":"dataplatform.parkings_history"}],"uuid":"3e7132cbd2874a4da7cc1251017758ce"}
@@ -1,9 +0,0 @@
1
- import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
2
- export declare class ParkingsTransformation extends BaseTransformation implements ITransformation {
3
- name: string;
4
- private transformationDate;
5
- constructor(transformationDate: Date);
6
- protected transformElement: (element: any) => Promise<any>;
7
- protected transformHistoryElement: (element: any) => Promise<any>;
8
- private getMPLAPaymentShortName;
9
- }
@@ -1,105 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ParkingsTransformation = void 0;
13
- const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
14
- const config_1 = require("@golemio/core/dist/integration-engine/config");
15
- const index_1 = require("../schema-definitions/index");
16
- class ParkingsTransformation extends transformations_1.BaseTransformation {
17
- constructor(transformationDate) {
18
- super();
19
- this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
20
- const res = {
21
- geometry: {
22
- coordinates: [parseFloat(element.lng), parseFloat(element.lat)],
23
- type: "Point",
24
- },
25
- properties: {
26
- id: element.id,
27
- last_updated: !isNaN(parseInt(element.lastUpdated, 10)) ? parseInt(element.lastUpdated, 10) : null,
28
- name: element.name,
29
- num_of_free_places: !isNaN(parseInt(element.numOfFreePlaces, 10)) ? parseInt(element.numOfFreePlaces, 10) : null,
30
- num_of_taken_places: !isNaN(parseInt(element.numOfTakenPlaces, 10))
31
- ? parseInt(element.numOfTakenPlaces, 10)
32
- : null,
33
- parking_type: element.pr
34
- ? { description: "P+R parkoviště", id: 1 }
35
- : { description: "placené parkoviště", id: 2 },
36
- payment_link: `${config_1.config.PARKINGS_PAYMENT_URL}?shortname=${this.getMPLAPaymentShortName(element.id)}`,
37
- payment_shortname: this.getMPLAPaymentShortName(element.id),
38
- total_num_of_places: !isNaN(parseInt(element.totalNumOfPlaces, 10))
39
- ? parseInt(element.totalNumOfPlaces, 10)
40
- : null,
41
- date_modified: this.transformationDate.getTime(),
42
- },
43
- type: "Feature",
44
- };
45
- if (!res.properties.payment_shortname) {
46
- delete res.properties.payment_link;
47
- delete res.properties.payment_shortname;
48
- }
49
- return res;
50
- });
51
- this.transformHistoryElement = (element) => __awaiter(this, void 0, void 0, function* () {
52
- const res = {
53
- id: element.properties.id,
54
- last_updated: element.properties.last_updated,
55
- num_of_free_places: element.properties.num_of_free_places,
56
- num_of_taken_places: element.properties.num_of_taken_places,
57
- total_num_of_places: element.properties.total_num_of_places,
58
- updated_at: this.transformationDate.getTime(),
59
- };
60
- if (!res.total_num_of_places) {
61
- // null || undefined || 0
62
- return null;
63
- }
64
- return res;
65
- });
66
- this.getMPLAPaymentShortName = (id) => {
67
- switch (id) {
68
- case 534002:
69
- return "139"; // Holešovice
70
- case 534004:
71
- return "142"; // Rajska Zahrada
72
- case 534007:
73
- return "141"; // Radotín
74
- case 534008:
75
- return "144"; // Zličín 1
76
- case 534009:
77
- return "145"; // Zličín 2
78
- case 534010:
79
- return "143"; // Skalka 2
80
- case 534011:
81
- return "147"; // Černý most
82
- case 534012:
83
- return "143"; // Skalka 1
84
- case 534014:
85
- return "121"; // Ládví
86
- case 534015:
87
- return "122"; // Depo Hostivař
88
- case 534016:
89
- return "123"; // Letňany
90
- case 534017:
91
- return "106"; // Westfield Chodov
92
- case 5340171:
93
- return "106"; // Chodov A
94
- case 5340172:
95
- return "106"; // Chodov E
96
- default:
97
- return null;
98
- }
99
- };
100
- this.name = index_1.Parkings.name;
101
- this.transformationDate = transformationDate;
102
- }
103
- }
104
- exports.ParkingsTransformation = ParkingsTransformation;
105
- //# sourceMappingURL=ParkingsTransformation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParkingsTransformation.js","sourceRoot":"","sources":["../../src/integration-engine/ParkingsTransformation.ts"],"names":[],"mappings":"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"}