@golemio/pid 3.10.0 → 3.10.1-dev.1744371488

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 (87) hide show
  1. package/db/example/00_clear_test_data.sql +2 -1
  2. package/db/example/03_ropidgtfs_dump.sql +50 -50
  3. package/db/example/21_ropid_departures_presets_ropidgtfs_stops.sql +6 -0
  4. package/db/migrations/postgresql/20250312125125-create-presets-ropidgtfs-stops-table.js +53 -0
  5. package/db/migrations/postgresql/20250320145302-create-get-stops-by-asw-fnc.js +53 -0
  6. package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-down.sql +1 -0
  7. package/db/migrations/postgresql/sqls/20250312125125-create-presets-ropidgtfs-stops-table-up.sql +7 -0
  8. package/db/migrations/postgresql/sqls/20250320145302-create-get-stops-by-asw-fnc-down.sql +1 -0
  9. package/db/migrations/postgresql/sqls/20250320145302-create-get-stops-by-asw-fnc-up.sql +13 -0
  10. package/dist/helpers/GtfsStopParser.d.ts +6 -0
  11. package/dist/helpers/GtfsStopParser.js +44 -0
  12. package/dist/helpers/GtfsStopParser.js.map +1 -0
  13. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
  14. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  15. package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.d.ts +13 -0
  16. package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.js +39 -0
  17. package/dist/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.js.map +1 -0
  18. package/dist/integration-engine/jis/transformations/JISInfotextsTransformation.js +2 -2
  19. package/dist/integration-engine/jis/transformations/JISInfotextsTransformation.js.map +1 -1
  20. package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.d.ts +2 -0
  21. package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.js +15 -6
  22. package/dist/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.js.map +1 -1
  23. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.d.ts +8 -1
  24. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js +39 -5
  25. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js.map +1 -1
  26. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
  27. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  28. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +2 -0
  29. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +2 -0
  30. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  31. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +4 -2
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  38. package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.d.ts +8 -0
  39. package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.js +44 -0
  40. package/dist/output-gateway/pid/controllers/v3/V3DeparturesPresetController.js.map +1 -0
  41. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.d.ts +14 -0
  42. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.js +82 -0
  43. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetRepository.js.map +1 -0
  44. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.d.ts +13 -0
  45. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.js +39 -0
  46. package/dist/output-gateway/pid/data-access/RopidDeparturesPresetsRopidGTFSStopsRepository.js.map +1 -0
  47. package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.d.ts +6 -0
  48. package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.js +3 -0
  49. package/dist/output-gateway/pid/domain/DeparturesPresetInterfaces.js.map +1 -0
  50. package/dist/output-gateway/pid/ioc/Di.js +12 -0
  51. package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
  52. package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +6 -0
  53. package/dist/output-gateway/pid/ioc/OgPidToken.js +6 -0
  54. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  55. package/dist/output-gateway/pid/routers/v3/V3PIDRouter.d.ts +1 -0
  56. package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js +4 -0
  57. package/dist/output-gateway/pid/routers/v3/V3PIDRouter.js.map +1 -1
  58. package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.d.ts +9 -0
  59. package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.js +37 -0
  60. package/dist/output-gateway/pid/service/facade/RopidDeparturesPresetFacade.js.map +1 -0
  61. package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.d.ts +7 -0
  62. package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.js +30 -0
  63. package/dist/output-gateway/pid/service/transformations/RopidDeparturesPresetTransformation.js.map +1 -0
  64. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.d.ts +1 -3
  65. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js +4 -30
  66. package/dist/output-gateway/ropid-gtfs/models/GTFSStopModel.js.map +1 -1
  67. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js +2 -2
  68. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js.map +1 -1
  69. package/dist/schema-definitions/jis/datasources/interfaces/IJISInfotextStop.d.ts +1 -1
  70. package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.d.ts +12 -0
  71. package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.js +41 -0
  72. package/dist/schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel.js.map +1 -0
  73. package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.d.ts +4 -0
  74. package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.js +3 -0
  75. package/dist/schema-definitions/jis/models/interfaces/IPresetsGtfsStops.js.map +1 -0
  76. package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.d.ts +7 -0
  77. package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.js +3 -0
  78. package/dist/schema-definitions/jis/models/interfaces/IPresetsRopidGTFSStops.js.map +1 -0
  79. package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.d.ts +19 -0
  80. package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.js +64 -0
  81. package/dist/schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel.js.map +1 -0
  82. package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.d.ts +9 -0
  83. package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.js +3 -0
  84. package/dist/schema-definitions/ropid-departures-presets/models/interfaces/IRopidDeparturesPresets.js.map +1 -0
  85. package/docs/asyncapi.yaml +29 -10
  86. package/docs/openapi-output.yaml +39 -0
  87. package/package.json +3 -3
@@ -34,7 +34,8 @@ TRUNCATE
34
34
  "ropidgtfs_precomputed_trip_schedule_actual",
35
35
  "ropidgtfs_precomputed_services_calendar_actual",
36
36
  "ropidgtfs_precomputed_minmax_stop_sequences_actual",
37
- "ropidgtfs_precomputed_departures";
37
+ "ropidgtfs_precomputed_departures",
38
+ "ropid_departures_presets_ropidgtfs_stops";
38
39
 
39
40
  ALTER SEQUENCE ropid_departures_directions_id_seq RESTART;
40
41
  ALTER SEQUENCE ropid_departures_presets_id_seq RESTART;
@@ -478,57 +478,57 @@ INSERT INTO "ropidgtfs_stops_actual"("location_type","parent_station","platform_
478
478
  VALUES
479
479
  (0,NULL,E'D',E'U474Z4P',50.11063,14.50247,E'Vysočanská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.629+02',NULL,-1,E'2021-04-14 05:40:41.629+02',NULL,NULL,NULL,NULL,NULL, '474');
480
480
 
481
- INSERT INTO "ropidgtfs_stops_actual"("location_type","parent_station","platform_code","stop_id","stop_lat","stop_lon","stop_name","stop_url","wheelchair_boarding","zone_id","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","level_id","stop_code","stop_desc","stop_timezone")
481
+ INSERT INTO "ropidgtfs_stops_actual"("location_type","parent_station","platform_code","stop_id","stop_lat","stop_lon","stop_name","stop_url","wheelchair_boarding","zone_id","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","level_id","stop_code","stop_desc","stop_timezone", "asw_node_id", "asw_stop_id")
482
482
  VALUES
483
- (0,NULL,E'F',E'U106Z6P',50.02823,14.50805,E'Opatov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.542+02',NULL,-1,E'2021-04-14 05:40:41.542+02',NULL,NULL,NULL,NULL,NULL),
484
- (0,NULL,E'C',E'U1116Z3P',50.03073,14.48755,E'Petýrkova',NULL,0,E'P',-1,E'2021-04-14 05:40:41.733+02',NULL,-1,E'2021-04-14 05:40:41.733+02',NULL,NULL,NULL,NULL,NULL),
485
- (0,NULL,E'A',E'U1222Z1P',50.07265,14.50826,E'Donatellova',NULL,0,E'P',-1,E'2021-04-14 05:40:41.741+02',NULL,-1,E'2021-04-14 05:40:41.741+02',NULL,NULL,NULL,NULL,NULL),
486
- (0,NULL,E'E',E'U134Z5P',50.10285,14.5032,E'Nádraží Libeň',NULL,0,E'P',-1,E'2021-04-14 05:40:41.549+02',NULL,-1,E'2021-04-14 05:40:41.549+02',NULL,NULL,NULL,NULL,NULL),
487
- (0,NULL,E'A',E'U13Z1P',50.0954,14.49626,E'Balkán',NULL,0,E'P',-1,E'2021-04-14 05:40:41.412+02',NULL,-1,E'2021-04-14 05:40:41.412+02',NULL,NULL,NULL,NULL,NULL),
488
- (0,NULL,E'B',E'U160Z2P',50.05013,14.52643,E'Hostivařské náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.555+02',NULL,-1,E'2021-04-14 05:40:41.555+02',NULL,NULL,NULL,NULL,NULL),
489
- (0,NULL,E'B',E'U166Z2P',50.04775,14.5196,E'Toulcův dvůr',NULL,0,E'P',-1,E'2021-04-14 05:40:41.556+02',NULL,-1,E'2021-04-14 05:40:41.556+02',NULL,NULL,NULL,NULL,NULL),
490
- (0,NULL,E'B',E'U195Z2P',50.04479,14.51247,E'Přeštická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.564+02',NULL,-1,E'2021-04-14 05:40:41.564+02',NULL,NULL,NULL,NULL,NULL),
491
- (0,NULL,E'B',E'U225Z2P',50.09941,14.49641,E'K Žižkovu',NULL,0,E'P',-1,E'2021-04-14 05:40:41.571+02',NULL,-1,E'2021-04-14 05:40:41.571+02',NULL,NULL,NULL,NULL,NULL),
492
- (0,NULL,E'A',E'U267Z1P',50.12467,14.44914,E'Služská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.592+02',NULL,-1,E'2021-04-14 05:40:41.592+02',NULL,NULL,NULL,NULL,NULL),
493
- (0,NULL,E'A',E'U330Z1P',50.1366,14.43015,E'Libeňská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.603+02',NULL,-1,E'2021-04-14 05:40:41.603+02',NULL,NULL,NULL,NULL,NULL),
494
- (0,NULL,E'B',E'U332Z2P',50.12587,14.4896,E'Střížkov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.603+02',NULL,-1,E'2021-04-14 05:40:41.603+02',NULL,NULL,NULL,NULL,NULL),
495
- (0,NULL,E'C',E'U344Z3P',50.0324,14.50763,E'Litochlebské náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.605+02',NULL,-1,E'2021-04-14 05:40:41.605+02',NULL,NULL,NULL,NULL,NULL),
496
- (0,NULL,E'A',E'U345Z1P',50.13213,14.4279,E'Katovická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.605+02',NULL,-1,E'2021-04-14 05:40:41.605+02',NULL,NULL,NULL,NULL,NULL),
497
- (0,NULL,E'C',E'U359Z3P',50.08562,14.51224,E'Malešické náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.606+02',NULL,-1,E'2021-04-14 05:40:41.606+02',NULL,NULL,NULL,NULL,NULL),
498
- (0,NULL,E'A',E'U371Z1P',50.12769,14.4168,E'Krakov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.608+02',NULL,-1,E'2021-04-14 05:40:41.608+02',NULL,NULL,NULL,NULL,NULL),
499
- (0,NULL,E'B',E'U409Z2P',50.04708,14.51556,E'Na Košíku',NULL,0,E'P',-1,E'2021-04-14 05:40:41.615+02',NULL,-1,E'2021-04-14 05:40:41.615+02',NULL,NULL,NULL,NULL,NULL),
500
- (0,NULL,E'B',E'U467Z2P',50.12922,14.48268,E'Třebenická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.628+02',NULL,-1,E'2021-04-14 05:40:41.628+02',NULL,NULL,NULL,NULL,NULL),
501
- (0,NULL,E'B',E'U510Z2P',50.10598,14.49209,E'Českomoravská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.637+02',NULL,-1,E'2021-04-14 05:40:41.638+02',NULL,NULL,NULL,NULL,NULL),
502
- (0,NULL,E'A',E'U511Z1P',50.13102,14.4231,E'Odra',NULL,0,E'P',-1,E'2021-04-14 05:40:41.638+02',NULL,-1,E'2021-04-14 05:40:41.638+02',NULL,NULL,NULL,NULL,NULL),
503
- (0,NULL,E'E',E'U52Z5P',50.03109,14.49152,E'Chodov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.521+02',NULL,-1,E'2021-04-14 05:40:41.521+02',NULL,NULL,NULL,NULL,NULL),
504
- (0,NULL,E'A',E'U543Z1P',50.1259,14.44278,E'Písečná',NULL,0,E'P',-1,E'2021-04-14 05:40:41.645+02',NULL,-1,E'2021-04-14 05:40:41.645+02',NULL,NULL,NULL,NULL,NULL),
505
- (0,NULL,E'A',E'U544Z1P',50.12757,14.43537,E'Čimický háj',NULL,0,E'P',-1,E'2021-04-14 05:40:41.645+02',NULL,-1,E'2021-04-14 05:40:41.645+02',NULL,NULL,NULL,NULL,NULL),
506
- (0,NULL,E'B',E'U574Z2P',50.09233,14.51215,E'Pod Táborem',NULL,0,E'P',-1,E'2021-04-14 05:40:41.648+02',NULL,-1,E'2021-04-14 05:40:41.648+02',NULL,NULL,NULL,NULL,NULL),
507
- (0,NULL,E'A',E'U581Z1P',50.13015,14.4309,E'Podhajská pole',NULL,0,E'P',-1,E'2021-04-14 05:40:41.648+02',NULL,-1,E'2021-04-14 05:40:41.648+02',NULL,NULL,NULL,NULL,NULL),
508
- (0,NULL,E'C',E'U596Z3P',50.05383,14.51945,E'Obchodní centrum Hostivař',NULL,0,E'P',-1,E'2021-04-14 05:40:41.65+02',NULL,-1,E'2021-04-14 05:40:41.65+02',NULL,NULL,NULL,NULL,NULL),
509
- (0,NULL,E'C',E'U603Z3P',50.1197,14.49765,E'Prosek',NULL,0,E'P',-1,E'2021-04-14 05:40:41.651+02',NULL,-1,E'2021-04-14 05:40:41.651+02',NULL,NULL,NULL,NULL,NULL),
510
- (0,NULL,E'B',E'U641Z2P',50.04617,14.52428,E'Selská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.655+02',NULL,-1,E'2021-04-14 05:40:41.655+02',NULL,NULL,NULL,NULL,NULL),
511
- (0,NULL,E'A',E'U649Z1P',50.12746,14.41331,E'Poliklinika Mazurská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.657+02',NULL,-1,E'2021-04-14 05:40:41.657+02',NULL,NULL,NULL,NULL,NULL),
512
- (0,NULL,E'E',E'U660Z5P',50.08304,14.50967,E'Sídliště Malešice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.658+02',NULL,-1,E'2021-04-14 05:40:41.658+02',NULL,NULL,NULL,NULL,NULL),
513
- (0,NULL,E'B',E'U665Z2P',50.12293,14.49342,E'Sídliště Prosek',NULL,0,E'P',-1,E'2021-04-14 05:40:41.658+02',NULL,-1,E'2021-04-14 05:40:41.658+02',NULL,NULL,NULL,NULL,NULL),
514
- (0,NULL,E'D',E'U670Z4P',50.05718,14.51294,E'Sídliště Zahradní Město',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL),
515
- (0,NULL,E'D',E'U673Z4P',50.06455,14.50535,E'Na Padesátém',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL),
516
- (0,NULL,E'C',E'U675Z3P',50.12486,14.45538,E'Kobylisy',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL),
517
- (0,NULL,E'D',E'U694Z4P',50.09232,14.49801,E'Spojovací',NULL,0,E'P',-1,E'2021-04-14 05:40:41.664+02',NULL,-1,E'2021-04-14 05:40:41.664+02',NULL,NULL,NULL,NULL,NULL),
518
- (0,NULL,E'C',E'U740Z3P',50.12774,14.47612,E'Štěpničná',NULL,0,E'P',-1,E'2021-04-14 05:40:41.669+02',NULL,-1,E'2021-04-14 05:40:41.669+02',NULL,NULL,NULL,NULL,NULL),
519
- (0,NULL,E'A',E'U74Z1P',50.14072,14.43083,E'Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.525+02',NULL,-1,E'2021-04-14 05:40:41.525+02',NULL,NULL,NULL,NULL,NULL),
520
- (0,NULL,E'A',E'U774Z1P',50.02048,14.5077,E'U Dálnice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.673+02',NULL,-1,E'2021-04-14 05:40:41.673+02',NULL,NULL,NULL,NULL,NULL),
521
- (0,NULL,E'C',E'U78Z3P',50.12663,14.47023,E'Ládví',NULL,0,E'P',-1,E'2021-04-14 05:40:41.525+02',NULL,-1,E'2021-04-14 05:40:41.525+02',NULL,NULL,NULL,NULL,NULL),
522
- (0,NULL,E'A',E'U806Z1P',50.13387,14.43022,E'Řepínská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.679+02',NULL,-1,E'2021-04-14 05:40:41.679+02',NULL,NULL,NULL,NULL,NULL),
523
- (0,NULL,E'B',E'U827Z2P',50.07858,14.5082,E'Limuzská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.682+02',NULL,-1,E'2021-04-14 05:40:41.682+02',NULL,NULL,NULL,NULL,NULL),
524
- (0,NULL,E'A',E'U889Z1P',50.06078,14.50514,E'Zahradní Město',NULL,2,E'P',-1,E'2021-04-14 05:40:41.689+02',NULL,-1,E'2021-04-14 05:40:41.689+02',NULL,NULL,NULL,NULL,NULL),
525
- (0,NULL,E'D',E'U912Z4P',50.13062,14.41722,E'Zhořelecká',NULL,0,E'P',-1,E'2021-04-14 05:40:41.692+02',NULL,-1,E'2021-04-14 05:40:41.692+02',NULL,NULL,NULL,NULL,NULL),
526
- (0,NULL,E'A',E'U949Z1P',50.14319,14.43131,E'Sídliště Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.719+02',NULL,-1,E'2021-04-14 05:40:41.719+02',NULL,NULL,NULL,NULL,NULL),
527
- (0,NULL,E'B',E'U949Z2P',50.14492,14.4326,E'Sídliště Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.719+02',NULL,-1,E'2021-04-14 05:40:41.719+02',NULL,NULL,NULL,NULL,NULL),
528
- (0,NULL,E'D',E'U953Z7P',50.0681,14.50808,E'Skalka',NULL,0,E'P',-1,E'2021-04-14 05:40:41.72+02',NULL,-1,E'2021-04-14 05:40:41.72+02',NULL,NULL,NULL,NULL,NULL),
529
- (0,NULL,E'A',E'U972Z1P',50.02251,14.48917,E'U Kunratického lesa',NULL,0,E'P',-1,E'2021-04-14 05:40:41.721+02',NULL,-1,E'2021-04-14 05:40:41.721+02',NULL,NULL,NULL,NULL,NULL),
530
- (0,NULL,E'A',E'U982Z1P',50.02143,14.49371,E'Volha',NULL,0,E'P',-1,E'2021-04-14 05:40:41.722+02',NULL,-1,E'2021-04-14 05:40:41.722+02',NULL,NULL,NULL,NULL,NULL),
531
- (0,NULL,E'B',E'U99Z2P',50.03648,14.50855,E'Donovalská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.54+02',NULL,-1,E'2021-04-14 05:40:41.54+02',NULL,NULL,NULL,NULL,NULL);
483
+ (0,NULL,E'F',E'U106Z6P',50.02823,14.50805,E'Opatov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.542+02',NULL,-1,E'2021-04-14 05:40:41.542+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL ),
484
+ (0,NULL,E'C',E'U1116Z3P',50.03073,14.48755,E'Petýrkova',NULL,0,E'P',-1,E'2021-04-14 05:40:41.733+02',NULL,-1,E'2021-04-14 05:40:41.733+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
485
+ (0,NULL,E'A',E'U1222Z1P',50.07265,14.50826,E'Donatellova',NULL,0,E'P',-1,E'2021-04-14 05:40:41.741+02',NULL,-1,E'2021-04-14 05:40:41.741+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
486
+ (0,NULL,E'E',E'U134Z5P',50.10285,14.5032,E'Nádraží Libeň',NULL,0,E'P',-1,E'2021-04-14 05:40:41.549+02',NULL,-1,E'2021-04-14 05:40:41.549+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
487
+ (0,NULL,E'A',E'U13Z1P',50.0954,14.49626,E'Balkán',NULL,0,E'P',-1,E'2021-04-14 05:40:41.412+02',NULL,-1,E'2021-04-14 05:40:41.412+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
488
+ (0,NULL,E'B',E'U160Z2P',50.05013,14.52643,E'Hostivařské náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.555+02',NULL,-1,E'2021-04-14 05:40:41.555+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
489
+ (0,NULL,E'B',E'U166Z2P',50.04775,14.5196,E'Toulcův dvůr',NULL,0,E'P',-1,E'2021-04-14 05:40:41.556+02',NULL,-1,E'2021-04-14 05:40:41.556+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
490
+ (0,NULL,E'B',E'U195Z2P',50.04479,14.51247,E'Přeštická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.564+02',NULL,-1,E'2021-04-14 05:40:41.564+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
491
+ (0,NULL,E'B',E'U225Z2P',50.09941,14.49641,E'K Žižkovu',NULL,0,E'P',-1,E'2021-04-14 05:40:41.571+02',NULL,-1,E'2021-04-14 05:40:41.571+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
492
+ (0,NULL,E'A',E'U267Z1P',50.12467,14.44914,E'Služská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.592+02',NULL,-1,E'2021-04-14 05:40:41.592+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
493
+ (0,NULL,E'A',E'U330Z1P',50.1366,14.43015,E'Libeňská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.603+02',NULL,-1,E'2021-04-14 05:40:41.603+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
494
+ (0,NULL,E'B',E'U332Z2P',50.12587,14.4896,E'Střížkov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.603+02',NULL,-1,E'2021-04-14 05:40:41.603+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
495
+ (0,NULL,E'C',E'U344Z3P',50.0324,14.50763,E'Litochlebské náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.605+02',NULL,-1,E'2021-04-14 05:40:41.605+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
496
+ (0,NULL,E'A',E'U345Z1P',50.13213,14.4279,E'Katovická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.605+02',NULL,-1,E'2021-04-14 05:40:41.605+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
497
+ (0,NULL,E'C',E'U359Z3P',50.08562,14.51224,E'Malešické náměstí',NULL,0,E'P',-1,E'2021-04-14 05:40:41.606+02',NULL,-1,E'2021-04-14 05:40:41.606+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
498
+ (0,NULL,E'A',E'U371Z1P',50.12769,14.4168,E'Krakov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.608+02',NULL,-1,E'2021-04-14 05:40:41.608+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
499
+ (0,NULL,E'B',E'U409Z2P',50.04708,14.51556,E'Na Košíku',NULL,0,E'P',-1,E'2021-04-14 05:40:41.615+02',NULL,-1,E'2021-04-14 05:40:41.615+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
500
+ (0,NULL,E'B',E'U467Z2P',50.12922,14.48268,E'Třebenická',NULL,0,E'P',-1,E'2021-04-14 05:40:41.628+02',NULL,-1,E'2021-04-14 05:40:41.628+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
501
+ (0,NULL,E'B',E'U510Z2P',50.10598,14.49209,E'Českomoravská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.637+02',NULL,-1,E'2021-04-14 05:40:41.638+02',NULL,NULL,NULL,NULL,NULL, 510, 2),
502
+ (0,NULL,E'A',E'U511Z1P',50.13102,14.4231,E'Odra',NULL,0,E'P',-1,E'2021-04-14 05:40:41.638+02',NULL,-1,E'2021-04-14 05:40:41.638+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
503
+ (0,NULL,E'E',E'U52Z5P',50.03109,14.49152,E'Chodov',NULL,0,E'P',-1,E'2021-04-14 05:40:41.521+02',NULL,-1,E'2021-04-14 05:40:41.521+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
504
+ (0,NULL,E'A',E'U543Z1P',50.1259,14.44278,E'Písečná',NULL,0,E'P',-1,E'2021-04-14 05:40:41.645+02',NULL,-1,E'2021-04-14 05:40:41.645+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
505
+ (0,NULL,E'A',E'U544Z1P',50.12757,14.43537,E'Čimický háj',NULL,0,E'P',-1,E'2021-04-14 05:40:41.645+02',NULL,-1,E'2021-04-14 05:40:41.645+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
506
+ (0,NULL,E'B',E'U574Z2P',50.09233,14.51215,E'Pod Táborem',NULL,0,E'P',-1,E'2021-04-14 05:40:41.648+02',NULL,-1,E'2021-04-14 05:40:41.648+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
507
+ (0,NULL,E'A',E'U581Z1P',50.13015,14.4309,E'Podhajská pole',NULL,0,E'P',-1,E'2021-04-14 05:40:41.648+02',NULL,-1,E'2021-04-14 05:40:41.648+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
508
+ (0,NULL,E'C',E'U596Z3P',50.05383,14.51945,E'Obchodní centrum Hostivař',NULL,0,E'P',-1,E'2021-04-14 05:40:41.65+02',NULL,-1,E'2021-04-14 05:40:41.65+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
509
+ (0,NULL,E'C',E'U603Z3P',50.1197,14.49765,E'Prosek',NULL,0,E'P',-1,E'2021-04-14 05:40:41.651+02',NULL,-1,E'2021-04-14 05:40:41.651+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
510
+ (0,NULL,E'B',E'U641Z2P',50.04617,14.52428,E'Selská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.655+02',NULL,-1,E'2021-04-14 05:40:41.655+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
511
+ (0,NULL,E'A',E'U649Z1P',50.12746,14.41331,E'Poliklinika Mazurská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.657+02',NULL,-1,E'2021-04-14 05:40:41.657+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
512
+ (0,NULL,E'E',E'U660Z5P',50.08304,14.50967,E'Sídliště Malešice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.658+02',NULL,-1,E'2021-04-14 05:40:41.658+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
513
+ (0,NULL,E'B',E'U665Z2P',50.12293,14.49342,E'Sídliště Prosek',NULL,0,E'P',-1,E'2021-04-14 05:40:41.658+02',NULL,-1,E'2021-04-14 05:40:41.658+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
514
+ (0,NULL,E'D',E'U670Z4P',50.05718,14.51294,E'Sídliště Zahradní Město',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
515
+ (0,NULL,E'D',E'U673Z4P',50.06455,14.50535,E'Na Padesátém',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
516
+ (0,NULL,E'C',E'U675Z3P',50.12486,14.45538,E'Kobylisy',NULL,0,E'P',-1,E'2021-04-14 05:40:41.659+02',NULL,-1,E'2021-04-14 05:40:41.659+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
517
+ (0,NULL,E'D',E'U694Z4P',50.09232,14.49801,E'Spojovací',NULL,0,E'P',-1,E'2021-04-14 05:40:41.664+02',NULL,-1,E'2021-04-14 05:40:41.664+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
518
+ (0,NULL,E'C',E'U740Z3P',50.12774,14.47612,E'Štěpničná',NULL,0,E'P',-1,E'2021-04-14 05:40:41.669+02',NULL,-1,E'2021-04-14 05:40:41.669+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
519
+ (0,NULL,E'A',E'U74Z1P',50.14072,14.43083,E'Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.525+02',NULL,-1,E'2021-04-14 05:40:41.525+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
520
+ (0,NULL,E'A',E'U774Z1P',50.02048,14.5077,E'U Dálnice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.673+02',NULL,-1,E'2021-04-14 05:40:41.673+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
521
+ (0,NULL,E'C',E'U78Z3P',50.12663,14.47023,E'Ládví',NULL,0,E'P',-1,E'2021-04-14 05:40:41.525+02',NULL,-1,E'2021-04-14 05:40:41.525+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
522
+ (0,NULL,E'A',E'U806Z1P',50.13387,14.43022,E'Řepínská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.679+02',NULL,-1,E'2021-04-14 05:40:41.679+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
523
+ (0,NULL,E'B',E'U827Z2P',50.07858,14.5082,E'Limuzská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.682+02',NULL,-1,E'2021-04-14 05:40:41.682+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
524
+ (0,NULL,E'A',E'U889Z1P',50.06078,14.50514,E'Zahradní Město',NULL,2,E'P',-1,E'2021-04-14 05:40:41.689+02',NULL,-1,E'2021-04-14 05:40:41.689+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
525
+ (0,NULL,E'D',E'U912Z4P',50.13062,14.41722,E'Zhořelecká',NULL,0,E'P',-1,E'2021-04-14 05:40:41.692+02',NULL,-1,E'2021-04-14 05:40:41.692+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
526
+ (0,NULL,E'A',E'U949Z1P',50.14319,14.43131,E'Sídliště Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.719+02',NULL,-1,E'2021-04-14 05:40:41.719+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
527
+ (0,NULL,E'B',E'U949Z2P',50.14492,14.4326,E'Sídliště Čimice',NULL,0,E'P',-1,E'2021-04-14 05:40:41.719+02',NULL,-1,E'2021-04-14 05:40:41.719+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
528
+ (0,NULL,E'D',E'U953Z7P',50.0681,14.50808,E'Skalka',NULL,0,E'P',-1,E'2021-04-14 05:40:41.72+02',NULL,-1,E'2021-04-14 05:40:41.72+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
529
+ (0,NULL,E'A',E'U972Z1P',50.02251,14.48917,E'U Kunratického lesa',NULL,0,E'P',-1,E'2021-04-14 05:40:41.721+02',NULL,-1,E'2021-04-14 05:40:41.721+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
530
+ (0,NULL,E'A',E'U982Z1P',50.02143,14.49371,E'Volha',NULL,0,E'P',-1,E'2021-04-14 05:40:41.722+02',NULL,-1,E'2021-04-14 05:40:41.722+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL),
531
+ (0,NULL,E'B',E'U99Z2P',50.03648,14.50855,E'Donovalská',NULL,0,E'P',-1,E'2021-04-14 05:40:41.54+02',NULL,-1,E'2021-04-14 05:40:41.54+02',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
532
532
 
533
533
 
534
534
  INSERT INTO "ropidgtfs_cis_stops_actual"("alt_idos_name","cis","id","jtsk_x","jtsk_y","lat","lon","platform","created_at","wheelchair_access","zone","create_batch_id","created_by","update_batch_id","updated_at","updated_by")
@@ -0,0 +1,6 @@
1
+
2
+ INSERT INTO ropid_departures_presets (route_name,api_version,route,url_query_params,note,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by,is_testing) VALUES
3
+ ('Haje-testovaci',2,'/pid/departureboards','minutesAfter=180&limit=8&mode=departures&filter=routeHeadingOnceNoGapFill&order=real&aswIds=285_1','Testovací tabule pro Haje',NULL,now(),NULL,NULL,now(),NULL,false);
4
+
5
+ INSERT INTO ropid_departures_presets_ropidgtfs_stops (preset_id, stop_id, created_at, updated_at) VALUES
6
+ (3,'U286Z1P', now(), now())
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20250312125125-create-presets-ropidgtfs-stops-table-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20250312125125-create-presets-ropidgtfs-stops-table-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20250320145302-create-get-stops-by-asw-fnc-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20250320145302-create-get-stops-by-asw-fnc-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1 @@
1
+ DROP TABLE ropid_departures_presets_ropidgtfs_stops
@@ -0,0 +1,7 @@
1
+ CREATE TABLE ropid_departures_presets_ropidgtfs_stops (
2
+ preset_id INT NOT NULL,
3
+ stop_id varchar(50) NOT NULL,
4
+ created_at timestamptz NOT NULL,
5
+ updated_at timestamptz NOT NULL,
6
+ CONSTRAINT ropid_departures_presets_ropidgtfs_stops_pk PRIMARY KEY (preset_id, stop_id)
7
+ );
@@ -0,0 +1 @@
1
+ DROP function get_ropidgtfs_stops_by_asw(int, varchar)
@@ -0,0 +1,13 @@
1
+ CREATE OR REPLACE FUNCTION get_ropidgtfs_stops_by_asw(aswnodeid INT, platformcode varchar)
2
+ RETURNS TEXT AS $$
3
+ DECLARE
4
+ stop_ids TEXT;
5
+ BEGIN
6
+ SELECT STRING_AGG(stop_id::TEXT, ', ') INTO stop_ids
7
+ FROM ropidgtfs_stops
8
+ WHERE asw_node_id = aswnodeid
9
+ AND platform_code = platformcode;
10
+
11
+ RETURN stop_ids;
12
+ END;
13
+ $$ LANGUAGE plpgsql;
@@ -0,0 +1,6 @@
1
+ import { WhereOptions } from "@golemio/core/dist/shared/sequelize";
2
+ export declare class GtfsStopParser {
3
+ prepareAswWhereOptions(aswIds: string[]): WhereOptions[];
4
+ private isValidInteger;
5
+ private validateAswId;
6
+ }
@@ -0,0 +1,44 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.GtfsStopParser = void 0;
10
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
11
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
12
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
13
+ const const_1 = require("../const");
14
+ let GtfsStopParser = exports.GtfsStopParser = class GtfsStopParser {
15
+ prepareAswWhereOptions(aswIds) {
16
+ let aswWhereOptions = [];
17
+ for (const aswId of aswIds) {
18
+ let aswIdLike = aswId.replaceAll("_", "/");
19
+ if (aswIdLike.slice(-1) === "/") {
20
+ aswIdLike = aswIdLike.slice(0, -1);
21
+ }
22
+ const [nodeId, stopId] = aswIdLike.split("/");
23
+ if (!nodeId) {
24
+ continue;
25
+ }
26
+ this.validateAswId(aswId, nodeId, stopId);
27
+ aswWhereOptions.push(sequelize_1.Sequelize.and(sequelize_1.Sequelize.where(sequelize_1.Sequelize.col("asw_node_id"), "=", nodeId), stopId && sequelize_1.Sequelize.where(sequelize_1.Sequelize.col("asw_stop_id"), "=", stopId)));
28
+ }
29
+ return aswWhereOptions;
30
+ }
31
+ isValidInteger(value) {
32
+ return value >= const_1.PG_INT_MIN && value <= const_1.PG_INT_MAX;
33
+ }
34
+ validateAswId(aswId, nodeId, stopId) {
35
+ const nodeIdNum = Number(nodeId);
36
+ if (!this.isValidInteger(nodeIdNum) || (stopId && !this.isValidInteger(Number(stopId)))) {
37
+ throw new golemio_errors_1.GeneralError(`Invalid ASW ID: ${aswId}`, this.constructor.name, `Invalid ASW ID: ${aswId}`, 400);
38
+ }
39
+ }
40
+ };
41
+ exports.GtfsStopParser = GtfsStopParser = __decorate([
42
+ (0, tsyringe_1.injectable)()
43
+ ], GtfsStopParser);
44
+ //# sourceMappingURL=GtfsStopParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GtfsStopParser.js","sourceRoot":"","sources":["../../src/helpers/GtfsStopParser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6EAAwE;AACxE,mEAA8E;AAC9E,iEAAgE;AAChE,oCAAmD;AAG5C,IAAM,cAAc,4BAApB,MAAM,cAAc;IAChB,sBAAsB,CAAC,MAAgB;QAC1C,IAAI,eAAe,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,IAAI,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAE3C,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC7B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACtC;YAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,EAAE;gBACT,SAAS;aACZ;YAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAE1C,eAAe,CAAC,IAAI,CAChB,qBAAS,CAAC,GAAG,CACT,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAC1D,MAAM,IAAI,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CACvE,CACJ,CAAC;SACL;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,cAAc,CAAC,KAAa;QAChC,OAAO,KAAK,IAAI,kBAAU,IAAI,KAAK,IAAI,kBAAU,CAAC;IACtD,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrF,MAAM,IAAI,6BAAY,CAAC,mBAAmB,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;SAC9G;IACL,CAAC;CACJ,CAAA;yBAvCY,cAAc;IAD1B,IAAA,qBAAU,GAAE;GACA,cAAc,CAuC1B"}
@@ -20,7 +20,6 @@ class VehiclePositionsController extends controllers_1.BaseController {
20
20
  const dataBatches = this.splitData(inputData);
21
21
  for (const batch of dataBatches) {
22
22
  await this.sendMessageToExchange("input." + this.queuePrefix + ".saveDataToDB", JSON.stringify(batch), {
23
- persistent: true,
24
23
  timestamp: new Date().getTime(),
25
24
  });
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAtCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAoCJ;AAlDD,gEAkDC"}
1
+ {"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QArCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAmCJ;AAjDD,gEAiDC"}
@@ -0,0 +1,13 @@
1
+ import { RopidDeparturesPresetsRopidGTFSStopsModel } from "../../../schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel";
2
+ import { ILogger } from "@golemio/core/dist/helpers";
3
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
4
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
5
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
6
+ import { ModelStatic } from "@golemio/core/dist/shared/sequelize";
7
+ export declare class RopidDeparturesPresetsRopidGTFSStopsRepository extends AbstractValidatableRepository {
8
+ validator: JSONSchemaValidator;
9
+ schema: string;
10
+ tableName: string;
11
+ sequelizeModel: ModelStatic<RopidDeparturesPresetsRopidGTFSStopsModel>;
12
+ constructor(connector: IDatabaseConnector, logger: ILogger);
13
+ }
@@ -0,0 +1,39 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RopidDeparturesPresetsRopidGTFSStopsRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const RopidDeparturesPresetsRopidGTFSStopsModel_1 = require("../../../schema-definitions/jis/models/RopidDeparturesPresetsRopidGTFSStopsModel");
18
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
19
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
+ let RopidDeparturesPresetsRopidGTFSStopsRepository = exports.RopidDeparturesPresetsRopidGTFSStopsRepository = class RopidDeparturesPresetsRopidGTFSStopsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
23
+ constructor(connector, logger) {
24
+ super(connector, logger);
25
+ this.schema = const_1.PG_SCHEMA;
26
+ this.tableName = RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.tableName;
27
+ this.validator = new golemio_validator_1.JSONSchemaValidator("RopidDeparturesPresetsRopidGTFSStopsRepository", RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.jsonSchema);
28
+ this.sequelizeModel = connector
29
+ .getConnection()
30
+ .define(this.tableName, RopidDeparturesPresetsRopidGTFSStopsModel_1.RopidDeparturesPresetsRopidGTFSStopsModel.attributeModel, { schema: this.schema });
31
+ }
32
+ };
33
+ exports.RopidDeparturesPresetsRopidGTFSStopsRepository = RopidDeparturesPresetsRopidGTFSStopsRepository = __decorate([
34
+ (0, tsyringe_1.injectable)(),
35
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
36
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
37
+ __metadata("design:paramtypes", [Object, Object])
38
+ ], RopidDeparturesPresetsRopidGTFSStopsRepository);
39
+ //# sourceMappingURL=RopidDeparturesPresetsRopidGTFSStopsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidDeparturesPresetsRopidGTFSStopsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,gJAAsH;AAGtH,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,8CAA8C,4DAApD,MAAM,8CAA+C,SAAQ,6DAA6B;IAM7F,YAAiD,SAA6B,EAA4B,MAAe;QACrH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QALtB,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,qFAAyC,CAAC,SAAS,CAAC;QAKnE,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CACpC,gDAAgD,EAChD,qFAAyC,CAAC,UAAU,CACvD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qFAAyC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnH,CAAC;CACJ,CAAA;yDAhBY,8CAA8C;IAD1D,IAAA,qBAAU,GAAE;IAOI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IAAiC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GANhG,8CAA8C,CAgB1D"}
@@ -24,9 +24,9 @@ let JISInfotextsTransformation = exports.JISInfotextsTransformation = class JISI
24
24
  created_timestamp: new Date(data.created_timestamp),
25
25
  updated_timestamp: new Date(data.last_modified_timestamp),
26
26
  };
27
- const infotextsRopidGTFSStops = data.informed_entity?.stops?.map(({ stop_id }) => ({
27
+ const infotextsRopidGTFSStops = data.informed_entity?.stops?.map(({ id }) => ({
28
28
  infotext_id: data.id,
29
- stop_id,
29
+ stop_id: id,
30
30
  })) ?? [];
31
31
  return {
32
32
  infotext,
@@ -1 +1 @@
1
- {"version":3,"file":"JISInfotextsTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISInfotextsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAKA,6GAA0G;AAC1G,iEAAgE;AASzD,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,+CAAiD;IAA1F;;QACI,SAAI,GAAG,4BAA4B,CAAC;QAEjC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC5D,CAAC;YACF,MAAM,uBAAuB,GACzB,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/C,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO;aACV,CAAC,CAAC,IAAI,EAAE,CAAC;YACd,OAAO;gBACH,QAAQ;gBACR,uBAAuB;aAC1B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;qCAxBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;GACA,0BAA0B,CAwBtC"}
1
+ {"version":3,"file":"JISInfotextsTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISInfotextsTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAKA,6GAA0G;AAC1G,iEAAgE;AASzD,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,+CAAiD;IAA1F;;QACI,SAAI,GAAG,4BAA4B,CAAC;QAEjC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,QAAQ,GAAG;gBACb,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBACnD,iBAAiB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;aAC5D,CAAC;YACF,MAAM,uBAAuB,GACzB,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1C,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,OAAO,EAAE,EAAE;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACd,OAAO;gBACH,QAAQ;gBACR,uBAAuB;aAC1B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;qCAxBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;GACA,0BAA0B,CAwBtC"}
@@ -1,4 +1,6 @@
1
+ import { RopidDeparturesPresetsModel } from "../../../schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel";
1
2
  import { PostgresModel } from "@golemio/core/dist/integration-engine";
2
3
  export declare class DeparturePresetsRepository extends PostgresModel {
3
4
  constructor();
5
+ getAll: () => Promise<RopidDeparturesPresetsModel[]>;
4
6
  }
@@ -2,19 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeparturePresetsRepository = void 0;
4
4
  const const_1 = require("../../../schema-definitions/const");
5
- const ropid_departures_presets_1 = require("../../../schema-definitions/ropid-departures-presets");
6
- const integration_engine_1 = require("@golemio/core/dist/integration-engine");
5
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
6
+ const RopidDeparturesPresetsModel_1 = require("../../../schema-definitions/ropid-departures-presets/models/RopidDeparturesPresetsModel");
7
7
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
8
9
  class DeparturePresetsRepository extends integration_engine_1.PostgresModel {
9
10
  constructor() {
10
- super(ropid_departures_presets_1.RopidDeparturesPresets.name + "Model", {
11
+ super("DeparturePresetsRepository", {
11
12
  hasTmpTable: true,
12
- outputSequelizeAttributes: ropid_departures_presets_1.RopidDeparturesPresets.outputSequelizeAttributes,
13
- pgTableName: ropid_departures_presets_1.RopidDeparturesPresets.pgTableName,
13
+ outputSequelizeAttributes: RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.attributeModel,
14
+ pgTableName: RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.tableName,
14
15
  pgSchema: const_1.PG_SCHEMA,
15
16
  savingType: "insertOnly",
16
17
  addAuditAttributes: true,
17
- }, new golemio_validator_1.JSONSchemaValidator(ropid_departures_presets_1.RopidDeparturesPresets.name + "ModelValidator", ropid_departures_presets_1.RopidDeparturesPresets.outputJsonSchema));
18
+ }, new golemio_validator_1.JSONSchemaValidator("DeparturePresetsRepository", RopidDeparturesPresetsModel_1.RopidDeparturesPresetsModel.jsonSchema));
19
+ this.getAll = async () => {
20
+ try {
21
+ return this.sequelizeModel.findAll();
22
+ }
23
+ catch (err) {
24
+ throw new golemio_errors_1.GeneralError("Database error", "DeparturePresetsRepository", err, 500);
25
+ }
26
+ };
18
27
  }
19
28
  }
20
29
  exports.DeparturePresetsRepository = DeparturePresetsRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"DeparturePresetsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,mGAAuE;AACvE,8EAAsE;AACtE,mFAAkF;AAElF,MAAa,0BAA2B,SAAQ,kCAAa;IACzD;QACI,KAAK,CACD,iDAAsB,CAAC,IAAI,GAAG,OAAO,EACrC;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,iDAAsB,CAAC,yBAAyB;YAC3E,WAAW,EAAE,iDAAsB,CAAC,WAAW;YAC/C,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,IAAI;SAC3B,EACD,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,gBAAgB,EAAE,iDAAsB,CAAC,gBAAgB,CAAC,CACnH,CAAC;IACN,CAAC;CACJ;AAfD,gEAeC"}
1
+ {"version":3,"file":"DeparturePresetsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/DeparturePresetsRepository.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,6EAAwE;AACxE,yIAA+G;AAC/G,mFAAkF;AAClF,8EAAsE;AAEtE,MAAa,0BAA2B,SAAQ,kCAAa;IACzD;QACI,KAAK,CACD,4BAA4B,EAC5B;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,yDAA2B,CAAC,cAAc;YACrE,WAAW,EAAE,yDAA2B,CAAC,SAAS;YAClD,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,IAAI;SAC3B,EACD,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,yDAA2B,CAAC,UAAU,CAAC,CAChG,CAAC;QAGC,WAAM,GAAG,KAAK,IAA4C,EAAE;YAC/D,IAAI;gBACA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACpF;QACL,CAAC,CAAC;IARF,CAAC;CASJ;AAvBD,gEAuBC"}
@@ -3,11 +3,18 @@ import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
3
3
  import { RopidGtfsMetadataRepository } from "../RopidGtfsMetadataRepository";
4
4
  import { DeparturePresetsRepository } from "../data-access/DeparturePresetsRepository";
5
5
  import { RopidDeparturesPresetsTransformation } from "../transformations/RopidDeparturesPresetsTransformation";
6
+ import { RopidGTFSStopsModel } from "../RopidGTFSStopsModel";
7
+ import { RopidDeparturesPresetsRopidGTFSStopsRepository } from "../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository";
8
+ import { GtfsStopParser } from "../../../helpers/GtfsStopParser";
6
9
  export declare class DeparturePresetsFacade {
7
10
  private metadataRepository;
11
+ private ropidGTFSStopsModel;
8
12
  private departurePresetsRepository;
13
+ private ropidDeparturesPresetsRopidGTFSStopsRepository;
9
14
  private transformationDeparturesPresets;
15
+ private gtfsStopParser;
10
16
  private logger;
11
- constructor(metadataRepository: RopidGtfsMetadataRepository, departurePresetsRepository: DeparturePresetsRepository, transformationDeparturesPresets: RopidDeparturesPresetsTransformation, logger: ILogger);
17
+ constructor(metadataRepository: RopidGtfsMetadataRepository, ropidGTFSStopsModel: RopidGTFSStopsModel, departurePresetsRepository: DeparturePresetsRepository, ropidDeparturesPresetsRopidGTFSStopsRepository: RopidDeparturesPresetsRopidGTFSStopsRepository, transformationDeparturesPresets: RopidDeparturesPresetsTransformation, gtfsStopParser: GtfsStopParser, logger: ILogger);
12
18
  handleNewDeparturePresets(data: IRopidDeparturesPreset[], lastModified: string): Promise<void>;
19
+ private mapPresetsToGtfsStops;
13
20
  }
@@ -22,11 +22,17 @@ const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
22
22
  const DeparturePresetsRepository_1 = require("../data-access/DeparturePresetsRepository");
23
23
  const RopidGtfsContainerToken_1 = require("../ioc/RopidGtfsContainerToken");
24
24
  const RopidDeparturesPresetsTransformation_1 = require("../transformations/RopidDeparturesPresetsTransformation");
25
+ const RopidGTFSStopsModel_1 = require("../RopidGTFSStopsModel");
26
+ const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository");
27
+ const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
25
28
  let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePresetsFacade {
26
- constructor(metadataRepository, departurePresetsRepository, transformationDeparturesPresets, logger) {
29
+ constructor(metadataRepository, ropidGTFSStopsModel, departurePresetsRepository, ropidDeparturesPresetsRopidGTFSStopsRepository, transformationDeparturesPresets, gtfsStopParser, logger) {
27
30
  this.metadataRepository = metadataRepository;
31
+ this.ropidGTFSStopsModel = ropidGTFSStopsModel;
28
32
  this.departurePresetsRepository = departurePresetsRepository;
33
+ this.ropidDeparturesPresetsRopidGTFSStopsRepository = ropidDeparturesPresetsRopidGTFSStopsRepository;
29
34
  this.transformationDeparturesPresets = transformationDeparturesPresets;
35
+ this.gtfsStopParser = gtfsStopParser;
30
36
  this.logger = logger;
31
37
  }
32
38
  async handleNewDeparturePresets(data, lastModified) {
@@ -58,21 +64,49 @@ let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePre
58
64
  });
59
65
  await this.metadataRepository.checkSavedRows(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
60
66
  await this.metadataRepository.replaceTmpTables(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
67
+ const mappedPresetsWithGtfsStops = await this.mapPresetsToGtfsStops();
68
+ await this.ropidDeparturesPresetsRopidGTFSStopsRepository.sequelizeModel.bulkCreate(mappedPresetsWithGtfsStops);
61
69
  }
62
70
  catch (err) {
63
71
  this.logger.error(err);
64
72
  await this.metadataRepository.rollbackFailedSaving(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
65
73
  }
66
74
  }
75
+ async mapPresetsToGtfsStops() {
76
+ const presets = await this.departurePresetsRepository.getAll();
77
+ const mappedPresetsWithGtfsStops = [];
78
+ for (const preset of presets) {
79
+ const params = new URLSearchParams(preset.url_query_params);
80
+ const aswIds = params.getAll("aswIds");
81
+ const WhereOptions = this.gtfsStopParser.prepareAswWhereOptions(aswIds);
82
+ for (const WhereOption of WhereOptions) {
83
+ const stop = await this.ropidGTFSStopsModel.findOne({
84
+ where: WhereOption,
85
+ });
86
+ if (!stop) {
87
+ this.logger.warn(WhereOption, `cannot find gtfs stop with where options`);
88
+ continue;
89
+ }
90
+ mappedPresetsWithGtfsStops.push({ preset_id: preset.id, stop_id: stop.stop_id });
91
+ }
92
+ }
93
+ return mappedPresetsWithGtfsStops;
94
+ }
67
95
  };
68
96
  exports.DeparturePresetsFacade = DeparturePresetsFacade = __decorate([
69
97
  (0, tsyringe_1.injectable)(),
70
98
  __param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
71
- __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository)),
72
- __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.RopidDeparturesPresetsTransformation)),
73
- __param(3, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
99
+ __param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel)),
100
+ __param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository)),
101
+ __param(3, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidDeparturesPresetsRopidGTFSStopsRepository)),
102
+ __param(4, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.RopidDeparturesPresetsTransformation)),
103
+ __param(5, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser)),
104
+ __param(6, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
74
105
  __metadata("design:paramtypes", [RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository,
106
+ RopidGTFSStopsModel_1.RopidGTFSStopsModel,
75
107
  DeparturePresetsRepository_1.DeparturePresetsRepository,
76
- RopidDeparturesPresetsTransformation_1.RopidDeparturesPresetsTransformation, Object])
108
+ RopidDeparturesPresetsRopidGTFSStopsRepository_1.RopidDeparturesPresetsRopidGTFSStopsRepository,
109
+ RopidDeparturesPresetsTransformation_1.RopidDeparturesPresetsTransformation,
110
+ GtfsStopParser_1.GtfsStopParser, Object])
77
111
  ], DeparturePresetsFacade);
78
112
  //# sourceMappingURL=DeparturePresetsFacade.js.map