@golemio/parkings 1.7.4 → 1.7.5-dev.1130865810

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 (67) hide show
  1. package/db/migrations/postgresql/20240107151449-smart4city.js +53 -0
  2. package/db/migrations/postgresql/sqls/20240107151449-smart4city-down.sql +1 -0
  3. package/db/migrations/postgresql/sqls/20240107151449-smart4city-up.sql +8 -0
  4. package/dist/integration-engine/ParkingInterface.d.ts +3 -3
  5. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +3 -1
  6. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +6 -2
  7. package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -1
  8. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +3 -1
  9. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +2 -0
  10. package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -1
  11. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +4 -0
  12. package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js.map +1 -1
  13. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.d.ts +11 -0
  14. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js +44 -0
  15. package/dist/integration-engine/datasources/smart4city/Smart4CityListDataSourceProvider.js.map +1 -0
  16. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.d.ts +11 -0
  17. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js +49 -0
  18. package/dist/integration-engine/datasources/smart4city/Smart4CityLocationDataSourceProvider.js.map +1 -0
  19. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.d.ts +10 -0
  20. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js +52 -0
  21. package/dist/integration-engine/datasources/smart4city/SmartCityListDatasourceCache.js.map +1 -0
  22. package/dist/integration-engine/ioc/Di.js +12 -0
  23. package/dist/integration-engine/ioc/Di.js.map +1 -1
  24. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +6 -0
  25. package/dist/integration-engine/ioc/ModuleContainerToken.js +8 -0
  26. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  27. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.d.ts +20 -0
  28. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.js +80 -0
  29. package/dist/integration-engine/transformations/Smart4CityLocationTransformation.js.map +1 -0
  30. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.d.ts +10 -0
  31. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js +35 -0
  32. package/dist/integration-engine/transformations/Smart4CityMeasurementTransformation.js.map +1 -0
  33. package/dist/integration-engine/workers/NewParkingsWorker.d.ts +1 -1
  34. package/dist/integration-engine/workers/NewParkingsWorker.js +3 -0
  35. package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
  36. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.d.ts +6 -0
  37. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js +21 -0
  38. package/dist/integration-engine/workers/schemas/Smart4CityTaskTypeSchema.js.map +1 -0
  39. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.d.ts +6 -0
  40. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js +21 -0
  41. package/dist/integration-engine/workers/schemas/UpdateSmart4CitySchema.js.map +1 -0
  42. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.d.ts +17 -0
  43. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js +72 -0
  44. package/dist/integration-engine/workers/tasks/GenerateSmart4CityTaskListTask.js.map +1 -0
  45. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.d.ts +19 -0
  46. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.js +114 -0
  47. package/dist/integration-engine/workers/tasks/UpdateSmart4CityLocationsTask.js.map +1 -0
  48. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.d.ts +12 -0
  49. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js +90 -0
  50. package/dist/integration-engine/workers/tasks/UpdateSmart4CityMeasurementsTask.js.map +1 -0
  51. package/dist/schema-definitions/datasources/ParkingMeasurementsDtoSchema.js +2 -2
  52. package/dist/schema-definitions/datasources/ParkingMeasurementsDtoSchema.js.map +1 -1
  53. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.d.ts +3 -0
  54. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js +20 -0
  55. package/dist/schema-definitions/datasources/Smart4CityListJsonSchema.js.map +1 -0
  56. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.d.ts +3 -0
  57. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js +22 -0
  58. package/dist/schema-definitions/datasources/Smart4CityLocationJsonSchema.js.map +1 -0
  59. package/dist/schema-definitions/datasources/interfaces/IParkingsMeasurementDto.d.ts +2 -2
  60. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.d.ts +8 -0
  61. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js +3 -0
  62. package/dist/schema-definitions/datasources/interfaces/ISmart4CityList.js.map +1 -0
  63. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.d.ts +10 -0
  64. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js +3 -0
  65. package/dist/schema-definitions/datasources/interfaces/ISmart4CityLocation.js.map +1 -0
  66. package/docs/implementation-documentation.md +73 -1
  67. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISmart4CityLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISmart4CityLocation.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/ISmart4CityLocation.ts"],"names":[],"mappings":""}
@@ -11,6 +11,7 @@ Modul slouží k ukládání a poskytování informací o parkování.
11
11
  - IPR (Praha)
12
12
  - IPT/OICT
13
13
  - TSK (Praha) API v2
14
+ - Smart4City
14
15
 
15
16
  ## Vstupní data
16
17
 
@@ -29,7 +30,7 @@ Modul slouží k ukládání a poskytování informací o parkování.
29
30
 
30
31
  ### Data aktivně stahujeme
31
32
 
32
- Data stahujeme pravidelně od IPR, TSK a z nového API TSK (značené jako v2).
33
+ Data stahujeme pravidelně od IPR, TSK, z nového API TSK (značené jako v2) a Smart4City.
33
34
 
34
35
  Pro ZTP parkoviště se z API se stahuje JSON z https://services5.arcgis.com/SBTXIEUGWbqzUecw/arcgis/rest/services/DOP_CUR_DOP_TSK_STANI_ZTP_B/FeatureServer/0/query?outFields=*&where=1%3D1&f=geojson
35
36
  Pro parkovací zony se stahuje z https://services5.arcgis.com/SBTXIEUGWbqzUecw/arcgis/rest/services/DOP_CUR_DOP_ZPS_USEKY_P/FeatureServer/0/query?outFields=*&where=1%3D1&f=geojson
@@ -205,6 +206,36 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
205
206
  - názvy rabbitmq front
206
207
  - dataplatform.parkings.saveMrParkitData
207
208
 
209
+ #### _Smart4City_
210
+
211
+ - zdroj dat (seznam měst)
212
+ - url: config.datasources.parkings.Smart4City.ApiBaseUrl
213
+ - formát dat
214
+ - protokol: http
215
+ - datový typ: json
216
+ - validační schéma: [smart4CityListJsonSchema](../src/schema-definitions/datasources/Smart4CityListJsonSchema.ts)
217
+ - příklad vstupnich dat: [smart4CityListInputDataFixture](../test/integration-engine/data/Smart4CityListInputDataFixture.ts)
218
+ - frekvence stahování
219
+ - cron definice:
220
+ - cron.dataplatform.parkings.generateSmart4CityTaskList
221
+ - rabin: locations `0 0 5 * * *` / measurements `0 */1 * * * *`
222
+ - prod: locations `0 0 5 * * *` / measurements `0 */1 * * * *`
223
+ - názvy rabbitmq front
224
+ - dataplatform.parkings.generateSmart4CityTaskList
225
+
226
+ - zdroj dat (data měst)
227
+ - url: config.datasources.parkings.Smart4City.ApiBaseUrl + /`{city code}` + "/parkinglocations"
228
+ - formát dat
229
+ - protokol: http
230
+ - datový typ: json
231
+ - validační schéma: [smart4CityLocationJsonSchema](../src/schema-definitions/datasources/Smart4CityLocationJsonSchema.ts)
232
+ - příklad vstupnich dat: [smart4CityInputDataFixture](../test/integration-engine/data/Smart4CityInputDataFixture.ts)
233
+ - frekvence stahování
234
+ - dle `cron.dataplatform.parkings.generateSmart4CityTaskList`
235
+ - názvy rabbitmq front
236
+ - dataplatform.parkings.updateSmart4CityLocations
237
+ - dataplatform.parkings.updateSmart4CityMeasurements
238
+
208
239
  ## Zpracování dat / transformace
209
240
 
210
241
  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.
@@ -254,6 +285,47 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
254
285
  - parkingsLocationModel -> (schéma parkings) `parkings_location`
255
286
  - parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
256
287
 
288
+ #### Task _GenerateSmart4CityTaskListTask_
289
+
290
+ - vstupní rabbitmq fronta
291
+ - název: `dataplatform.parkings.generateSmart4CityTaskList`
292
+ - parametry:
293
+ - type: `locations`/`measurements`
294
+ - závislé fronty
295
+ - název: `dataplatform.parkings.updateSmart4CityLocations` & `dataplatform.parkings.updateSmart4CityMeasurements`
296
+ - parametry:
297
+ - code: `kod města` napr. `nymburk`
298
+ - datové zdroje
299
+ - Smart4City - seznam měst (http)
300
+
301
+ #### Task _UpdateSmart4CityLocationsTask_
302
+
303
+ - vstupní rabbitmq fronta
304
+ - název: `dataplatform.parkings.updateSmart4CityLocations`
305
+ - parametry:
306
+ - code: `kod města` napr. `nymburk`
307
+ - datové zdroje
308
+ - Smart4City - data měst (http)
309
+ - transformace
310
+ - [Smart4CityLocationTransformation](../src/integration-engine/transformations/Smart4CityLocationTransformation.ts) - transformace parkovišť, lokací i measurementů (pro každou garáž nálezí vždy jeden business objekt od každého)
311
+ - data modely
312
+ - parkingsModel -> (schéma parkings) `parkings`
313
+ - parkingsLocationModel -> (schéma parkings) `parkings_location`
314
+
315
+
316
+ #### Task _UpdateSmart4CityMeasurementsTask_
317
+
318
+ - vstupní rabbitmq fronta
319
+ - název: `dataplatform.parkings.updateSmart4CityMeasurements`
320
+ - parametry:
321
+ - code: `kod města` napr. `nymburk`
322
+ - datové zdroje
323
+ - Smart4City - data měst (http)
324
+ - transformace
325
+ - [Smart4CityMeasurementTransformation](../src/integration-engine/transformations/Smart4CityMeasurementTransformation.ts) - transformace parkovišť, lokací i measurementů (pro každou garáž nálezí vždy jeden business objekt od každého)
326
+ - data modely
327
+ - parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
328
+
257
329
  ### Worker _ParkingsWorker_
258
330
 
259
331
  #### _saveParkingLotsPrague_
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/parkings",
3
- "version": "1.7.4",
3
+ "version": "1.7.5-dev.1130865810",
4
4
  "description": "Golemio Parkings Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -79,4 +79,4 @@
79
79
  "@turf/turf": "^6.5.0",
80
80
  "uuid-by-string": "^3.0.2"
81
81
  }
82
- }
82
+ }