@golemio/pid 6.0.3-dev.2954837172 → 6.1.0-rc.2962175727

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 (116) hide show
  1. package/db/example/00_clear_test_data.sql +6 -0
  2. package/db/example/03_ropidgtfs_dump.sql +0 -5
  3. package/db/example/04_ropidvymi_example.sql +40 -0
  4. package/db/example/07_tmp_example.sql +4 -0
  5. package/db/example/19_train_trip_with_cis_platform_code.sql +1 -2
  6. package/dist/integration-engine/index.d.ts +1 -0
  7. package/dist/integration-engine/index.js +5 -0
  8. package/dist/integration-engine/index.js.map +1 -1
  9. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.d.ts +21 -0
  10. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js +81 -0
  11. package/dist/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.js.map +1 -0
  12. package/dist/integration-engine/ropid-vymi/index.d.ts +2 -0
  13. package/dist/integration-engine/ropid-vymi/index.js +3 -0
  14. package/dist/integration-engine/ropid-vymi/index.js.map +1 -0
  15. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.d.ts +9 -0
  16. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js +37 -0
  17. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.js.map +1 -0
  18. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.d.ts +9 -0
  19. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js +29 -0
  20. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.js.map +1 -0
  21. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.d.ts +7 -0
  22. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js +21 -0
  23. package/dist/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.js.map +1 -0
  24. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.d.ts +8 -0
  25. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js +30 -0
  26. package/dist/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.js.map +1 -0
  27. package/dist/integration-engine/ropid-vymi/models/index.d.ts +4 -0
  28. package/dist/integration-engine/ropid-vymi/models/index.js +5 -0
  29. package/dist/integration-engine/ropid-vymi/models/index.js.map +1 -0
  30. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.d.ts +5 -0
  31. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.js +14 -0
  32. package/dist/integration-engine/ropid-vymi/workers/RopidVYMIWorker.js.map +1 -0
  33. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.d.ts +8 -0
  34. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.js +19 -0
  35. package/dist/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.js.map +1 -0
  36. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.d.ts +17 -0
  37. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.js +94 -0
  38. package/dist/integration-engine/ropid-vymi/workers/tasks/FetchAndProcessEventsTask.js.map +1 -0
  39. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.d.ts +11 -0
  40. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js +72 -0
  41. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiHelper.js.map +1 -0
  42. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.d.ts +5 -0
  43. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.js +7 -0
  44. package/dist/integration-engine/ropid-vymi/workers/tasks/helpers/RopidVYMIApiOutputLevel.js.map +1 -0
  45. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.d.ts +5 -0
  46. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.js +2 -0
  47. package/dist/integration-engine/ropid-vymi/workers/tasks/interfaces/IEventFetchOutput.js.map +1 -0
  48. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.d.ts +6 -0
  49. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.js +27 -0
  50. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.js.map +1 -0
  51. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.d.ts +47 -0
  52. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.js +200 -0
  53. package/dist/integration-engine/ropid-vymi/workers/tasks/schema/RopidVYMIEventValidationSchema.js.map +1 -0
  54. package/dist/integration-engine/shared/RopidMetadataModel.d.ts +2 -1
  55. package/dist/integration-engine/shared/RopidMetadataModel.js +1 -0
  56. package/dist/integration-engine/shared/RopidMetadataModel.js.map +1 -1
  57. package/dist/integration-engine/vehicle-positions/ioc/Di.js +2 -2
  58. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  59. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +1 -1
  60. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +1 -1
  61. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  62. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.d.ts +2 -0
  63. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js +51 -0
  64. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertCauseMapper.js.map +1 -0
  65. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.d.ts +6 -0
  66. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js +93 -0
  67. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -0
  68. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.d.ts +4 -1
  69. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js +11 -3
  70. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js.map +1 -1
  71. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +4 -1
  72. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -1
  73. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.d.ts +14 -0
  74. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js +82 -0
  75. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/transformations/AlertsTransformation.js.map +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +3 -8
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +31 -41
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
  79. package/dist/schema-definitions/index.d.ts +1 -0
  80. package/dist/schema-definitions/index.js +1 -0
  81. package/dist/schema-definitions/index.js.map +1 -1
  82. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.d.ts +151 -0
  83. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js +152 -0
  84. package/dist/schema-definitions/ropid-vymi/RopidVYMIOutputSchemas.js.map +1 -0
  85. package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.d.ts +58 -0
  86. package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js +74 -0
  87. package/dist/schema-definitions/ropid-vymi/RopidVYMISDMA.js.map +1 -0
  88. package/dist/schema-definitions/ropid-vymi/index.d.ts +52 -0
  89. package/dist/schema-definitions/ropid-vymi/index.js +171 -0
  90. package/dist/schema-definitions/ropid-vymi/index.js.map +1 -0
  91. package/dist/schema-definitions/vehicle-positions/models/views/index.d.ts +0 -1
  92. package/dist/schema-definitions/vehicle-positions/models/views/index.js +0 -1
  93. package/dist/schema-definitions/vehicle-positions/models/views/index.js.map +1 -1
  94. package/docs/assets/pid_vymi_erd.png +0 -0
  95. package/docs/cache/types/redis.md +2 -2
  96. package/docs/implementation_documentation.md +62 -3
  97. package/docs/processing/input_realtime_data/http_mpvnet.md +0 -8
  98. package/package.json +6 -6
  99. package/db/migrations/postgresql/20261009120000-case-insensitive-assigned-stop-id.js +0 -16
  100. package/db/migrations/postgresql/20261012120000-cis-stop-platforms-view.js +0 -16
  101. package/db/migrations/postgresql/20261013120000-drop-ropidvymi-tables.js +0 -16
  102. package/db/migrations/postgresql/sqls/20261009120000-case-insensitive-assigned-stop-id-down.sql +0 -65
  103. package/db/migrations/postgresql/sqls/20261009120000-case-insensitive-assigned-stop-id-up.sql +0 -66
  104. package/db/migrations/postgresql/sqls/20261012120000-cis-stop-platforms-view-down.sql +0 -5
  105. package/db/migrations/postgresql/sqls/20261012120000-cis-stop-platforms-view-up.sql +0 -33
  106. package/db/migrations/postgresql/sqls/20261013120000-drop-ropidvymi-tables-down.sql +0 -119
  107. package/db/migrations/postgresql/sqls/20261013120000-drop-ropidvymi-tables-up.sql +0 -7
  108. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/CisStopPlatformRepository.d.ts +0 -12
  109. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/CisStopPlatformRepository.js +0 -47
  110. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/views/CisStopPlatformRepository.js.map +0 -1
  111. package/dist/schema-definitions/vehicle-positions/models/views/CisStopPlatformModel.d.ts +0 -17
  112. package/dist/schema-definitions/vehicle-positions/models/views/CisStopPlatformModel.js +0 -22
  113. package/dist/schema-definitions/vehicle-positions/models/views/CisStopPlatformModel.js.map +0 -1
  114. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/ICisStopPlatformDto.d.ts +0 -6
  115. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/ICisStopPlatformDto.js +0 -2
  116. package/dist/schema-definitions/vehicle-positions/models/views/interfaces/ICisStopPlatformDto.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ DROP TABLE IF EXISTS "tmp"."ropidvymi_events";
1
2
  SET TIME ZONE "europe/prague";
2
3
  TRUNCATE
3
4
  "jis_events_ropidgtfs_routes",
@@ -20,6 +21,10 @@ TRUNCATE
20
21
  "ropidgtfs_trips_actual",
21
22
  "ropidgtfs_run_numbers_actual",
22
23
  "ropidgtfs_metro_railtrack_gps",
24
+ "ropidvymi_events",
25
+ "ropidvymi_events_stops",
26
+ "ropidvymi_events_routes",
27
+ "ropidvymi_metadata",
23
28
  "vehiclepositions_positions",
24
29
  "vehiclepositions_trips",
25
30
  "vehiclepositions_runs_messages",
@@ -43,5 +48,6 @@ ALTER SEQUENCE ropid_departures_directions_id_seq RESTART;
43
48
  ALTER SEQUENCE ropid_departures_presets_id_seq RESTART;
44
49
  ALTER SEQUENCE ropid_departures_preset_logs_id_seq RESTART;
45
50
  ALTER SEQUENCE ropidgtfs_metadata_id_seq RESTART;
51
+ ALTER SEQUENCE ropidvymi_metadata_id_seq RESTART;
46
52
  ALTER SEQUENCE vehiclepositions_positions_id_seq RESTART;
47
53
  ALTER SEQUENCE vehiclepositions_runs_messages_id_seq RESTART;
@@ -52,11 +52,6 @@ INSERT INTO ropidgtfs_stops_actual (location_type, parent_station, platform_code
52
52
  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") VALUES (0, 'U462S1', '2', 'U462Z102P', 50.09583, 14.34836, 'Nádraží Veleslavín', '', 1, 'P', -1, '2020-12-04 12:30:26.312286+01', 'integration-engine', NULL, NULL, NULL, 'U462L3', NULL, NULL, NULL);
53
53
  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") VALUES (0, 'U306S1', '', 'U306Z102P', 50.07541, 14.34152, 'Nemocnice Motol', '', 1, 'P', -1, '2020-12-04 12:30:26.312286+01', 'integration-engine', NULL, NULL, NULL, 'U306L0', NULL, NULL, NULL);
54
54
  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") VALUES (1, '', '', 'U306S1', 50.07541, 14.34152, 'Nemocnice Motol', '', 1, 'P', -1, '2020-12-04 12:30:26.312286+01', 'integration-engine', NULL, NULL, NULL, '', NULL, NULL, NULL);
55
- 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")
56
- VALUES
57
- (0,NULL,E'B',E'U663Z2P',50.04958,14.43489,E'Sídliště Pankrác',NULL,0,E'P',-1,E'2021-07-28 06:11:05.443+02',NULL,-1,E'2021-07-28 06:11:05.443+02',NULL,NULL,NULL,NULL,NULL),
58
- (0,NULL,E'A',E'U21Z1P',50.14287,14.50652,E'Sídliště Letňany',NULL,0,E'P',-1,E'2021-07-31 05:55:13.036+02',NULL,-1,E'2021-07-31 05:55:13.036+02',NULL,NULL,NULL,NULL,NULL),
59
- (0,NULL,E'B',E'U21Z2P',50.14257,14.50659,E'Sídliště Letňany',NULL,0,E'P',-1,E'2021-07-31 05:55:13.037+02',NULL,-1,E'2021-07-31 05:55:13.037+02',NULL,NULL,NULL,NULL,NULL);
60
55
 
61
56
  INSERT INTO ropidgtfs_cis_stop_groups_actual (avg_jtsk_x,avg_jtsk_y,avg_lat,avg_lon,cis,district_code,full_name,idos_category,idos_name,municipality,name,node,unique_name,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
62
57
  (-739208.1,-1044513.56,50.0785027,14.4739637,27902,'AB','Želivského','301003','Želivského','Praha','Želivského',921,'Želivského',NULL,'2024-10-31 05:23:06.850',NULL,NULL,'2024-10-31 05:23:06.850',NULL);
@@ -0,0 +1,40 @@
1
+ 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")
2
+ VALUES
3
+ (0,NULL,E'B',E'U663Z2P',50.04958,14.43489,E'Sídliště Pankrác',NULL,0,E'P',-1,E'2021-07-28 06:11:05.443+02',NULL,-1,E'2021-07-28 06:11:05.443+02',NULL,NULL,NULL,NULL,NULL),
4
+ (0,NULL,E'A',E'U21Z1P',50.14287,14.50652,E'Sídliště Letňany',NULL,0,E'P',-1,E'2021-07-31 05:55:13.036+02',NULL,-1,E'2021-07-31 05:55:13.036+02',NULL,NULL,NULL,NULL,NULL),
5
+ (0,NULL,E'B',E'U21Z2P',50.14257,14.50659,E'Sídliště Letňany',NULL,0,E'P',-1,E'2021-07-31 05:55:13.037+02',NULL,-1,E'2021-07-31 05:55:13.037+02',NULL,NULL,NULL,NULL,NULL);
6
+
7
+ WITH init_values AS (
8
+ SELECT NOW()::DATE AS now_date,
9
+ make_timestamptz(
10
+ DATE_PART('year', NOW())::INT,
11
+ DATE_PART('month', NOW())::INT,
12
+ DATE_PART('day', NOW())::INT,
13
+ 10,0,'0','Europe/Prague'
14
+ ) as start_datetime,
15
+ make_timestamptz(
16
+ DATE_PART('year', NOW())::INT,
17
+ DATE_PART('month', NOW())::INT,
18
+ DATE_PART('day', NOW())::INT,
19
+ 18,0,'0','Europe/Prague'
20
+ ) as end_datetime
21
+ )
22
+ INSERT INTO "ropidvymi_events"("vymi_id","vymi_id_dtb","state","ropid_created_at","ropid_created_by","ropid_updated_at","ropid_updated_by","record_type","event_type","channels","title","time_from","time_to_type","time_to","expiration_date","transportation_type","priority","cause","link","ropid_action","dpp_action","description","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by")
23
+ VALUES
24
+ (83,3,1,E'2019-12-09T11:02:35.000+01:00',E'KubatO',E'2019-12-09T11:02:36.000+01:00',E'KubatO',1,268435456,0,E'Sídliště Pankrác: trvalé přemístění zastávky',(SELECT start_datetime FROM init_values),5,NULL,NULL,4,2,NULL,NULL,NULL,E'<html>\n<head>\n <title></title>\n</head>\n<body style="font-family: Tahoma">\n<p>Ve&nbsp;směru Pankr&aacute;c se&nbsp;přemisťuje zast&aacute;vka <strong>S&iacute;dli&scaron;tě Pankr&aacute;c</strong>, a&nbsp;to&nbsp;v&nbsp;ulici Pujmanov&eacute; o&nbsp;přibližně 60&nbsp;metrů po&nbsp;směru j&iacute;zdy, do&nbsp;čela nově vybudovan&eacute;ho z&aacute;livu, 40&nbsp;metrů za&nbsp;přechod pro&nbsp;chodce, přibližně 65&nbsp;metrů před&nbsp; křižovatku s&nbsp;ulic&iacute; Hvězdovou.</p>\n</body>\n</html>\n',E'Z důvodu výstavby domu na křižovatce ulic Milevská a Pujmanové dochází od středy 11. prosince 2019 (od zahájení denního provozu) k trvalému přemístění zastávky Sídliště Pankrác ve směru Pankrác pro linky číslo 134, 188 a 193.',NULL,E'2021-07-07 13:48:06.51+02',NULL,NULL,E'2021-07-28 09:04:08.305+02',NULL),
25
+ (71,3,1,E'2019-11-26T14:24:15.000+01:00',E'KubatO',E'2020-01-02T09:21:33.000+01:00',E'VituP',1,1040187392,0,E'Trvalé změny PID od 1. prosince 2019',(SELECT start_datetime FROM init_values),5,NULL,NULL,4,2,E'Zlepšení dopravní obsluhy',NULL,NULL,E'<html>\n<head>\n <title></title>\n</head>\n<body style="font-family: Tahoma">\n<h2>Zav&aacute;děj&iacute; se&nbsp;nov&eacute; linky</h2>\n\n<ul>\n <li>č&iacute;slo <strong>153</strong> v&nbsp;trase <em>U&nbsp;Zvonu &ndash; Mr&aacute;zovka &ndash; Malvazinky &ndash; Laurov&aacute; &ndash; Radlick&aacute; &ndash; D&iacute;vč&iacute; hrady &ndash; Nad&nbsp;Konv&aacute;řkou</em></li>\n <li>č&iacute;slo <strong>171</strong> v&nbsp;trase <em>Depo Hostivař &ndash; Tepl&aacute;rna Male&scaron;ice &ndash; Kyje &ndash; Čern&yacute; Most &ndash; N&aacute;draž&iacute; Horn&iacute; Počernice &ndash; Třebe&scaron;ovsk&aacute; &ndash; Ve&nbsp;Žl&iacute;bku</em></li>\n <li>č&iacute;slo <strong>204</strong> v&nbsp;trase <em>Obchodn&iacute; centrum Čern&yacute; Most &ndash; N&aacute;draž&iacute; Horn&iacute; Počernice &ndash; &Scaron;kola Doln&iacute; Počernice &ndash; Doln&iacute; Počernice &ndash; Obchodn&iacute; centrum &Scaron;těrboholy &ndash; Doln&iacute; Měcholupy &ndash; N&aacute;draž&iacute; Horn&iacute; Měcholupy &ndash; Nov&eacute; Petrovice &ndash; S&iacute;dli&scaron;tě Petrovice</em></li>\n <li>č&iacute;slo <strong>242</strong> v&nbsp;trase <em>Zbraslavsk&eacute; n&aacute;měst&iacute; &ndash; Žabovřesky &ndash; Na&nbsp;Lhotk&aacute;ch &ndash; &Scaron;kola Lipence &ndash; Lipence &ndash; Doln&iacute; Černo&scaron;ice</em></li>\n</ul>\n\n<h2>Změny tras linek</h2>\n\n<ul>\n <li>č&iacute;slo <strong>146</strong> nově v&nbsp;trase <em>Želivsk&eacute;ho &ndash; Třebe&scaron;&iacute;n &ndash; Habrov&aacute; &ndash; Spojovac&iacute; &ndash; Mezitraťov&aacute;</em></li>\n <li>č&iacute;slo <strong>156</strong> nově v&nbsp;trase <em>N&aacute;draž&iacute; Hole&scaron;ovice &ndash; Strossmayerovo n&aacute;měst&iacute; &ndash; Veletržn&iacute; pal&aacute;c &ndash; Obchodn&iacute; centrum Stromovka &ndash; Veletržn&iacute; pal&aacute;c &ndash; Řez&aacute;čovo n&aacute;měst&iacute; &ndash; N&aacute;draž&iacute; Hole&scaron;ovice</em> (již&nbsp;od&nbsp;21.&nbsp;listopadu 2019)</li>\n <li>č&iacute;slo <strong>182</strong> je&nbsp;prodloužena do&nbsp;trasy <em>Opatov &ndash; Prosek &ndash; Letňany &ndash; Kbely &ndash; Vinoř </em></li>\n <li>č&iacute;slo <strong>185</strong> je&nbsp;zkr&aacute;cena do&nbsp;trasy<em> Letňany &ndash; Vinořsk&yacute; hřbitov </em></li>\n <li>č&iacute;slo <strong>194</strong> je&nbsp;prodloužena do&nbsp;trasy <em>Florenc &ndash; Malostransk&aacute; &ndash; Malostransk&eacute; n&aacute;měst&iacute; &ndash; Nemocnice pod&nbsp;Petř&iacute;nem</em></li>\n <li>č&iacute;slo <strong>223</strong> je&nbsp;zkr&aacute;cena do&nbsp;trasy <em>Breitcetlova &ndash; Čern&yacute; Most &ndash; Ratibořick&aacute; </em></li>\n <li>č&iacute;slo <strong>224</strong> nově v&nbsp;trase <em>Ve&nbsp;Žl&iacute;bku &ndash; Ratibořick&aacute; &ndash; Chvaly &ndash; Obchodn&iacute; centrum Čern&yacute; Most &ndash; Novoz&aacute;meck&aacute; &ndash; Doln&iacute; Počernice &ndash; Dolnopočernick&yacute; hřbitov</em></li>\n <li>č&iacute;slo <strong>243</strong> je&nbsp;zkr&aacute;cena do&nbsp;trasy <em>Lipence &ndash; Kaz&iacute;n </em></li>\n <li>č&iacute;slo <strong>302</strong> nově v&nbsp;trase <em>Českomoravsk&aacute; &ndash; Vysočansk&aacute; &ndash; Prosek &ndash; Přezletice, Kocanda &ndash; Veleň </em></li>\n</ul>\n\n<p>Ru&scaron;&iacute; se&nbsp;linka č&iacute;slo <strong>192</strong>.</p>\n\n<h2>Doch&aacute;z&iacute; ke&nbsp;změně n&aacute;zvu zast&aacute;vky:</h2>\n\n<p><strong>Krausova</strong> &ndash; nov&yacute; n&aacute;zev: <strong>S&iacute;dli&scaron;tě Letňany</strong></p>\n\n<p>D&aacute;le doch&aacute;z&iacute; tak&eacute; k&nbsp;&uacute;prav&aacute;m j&iacute;zdn&iacute;ch ř&aacute;dů někter&yacute;ch linek, změn&aacute;m charakteru někter&yacute;ch zast&aacute;vek a&nbsp;dal&scaron;&iacute;m d&iacute;lč&iacute;m změn&aacute;m.</p>\n\n<p>Od&nbsp;15.&nbsp;prosince 2019 doch&aacute;z&iacute; k&nbsp;dal&scaron;&iacute;m trval&yacute;m změn&aacute;m v&nbsp;souvislosti s&nbsp;integrac&iacute; Rakovnicka do&nbsp;syst&eacute;mu PID. K&nbsp;těm&nbsp;nejv&yacute;razněj&scaron;&iacute;m, kter&eacute; se&nbsp;dotknou linek obsluhuj&iacute;c&iacute;ch &uacute;zem&iacute; Prahy, patř&iacute; zaveden&iacute; nov&yacute;ch linek:</p>\n\n<ul>\n <li>č&iacute;slo <strong>304</strong> v&nbsp;trase <em>Kukulova &ndash; Nemocnice Motol &ndash; Zlič&iacute;n &ndash; Stochov &ndash; Nov&eacute; Stra&scaron;ec&iacute; &ndash; Rakovn&iacute;k, Autobusov&aacute; stanice</em></li>\n <li>č&iacute;slo <strong>305</strong> v&nbsp;trase <em>Zlič&iacute;n &ndash; Velk&aacute; Dobr&aacute; &ndash; Tuchlovice &ndash; L&aacute;ny &ndash; Nov&eacute; Stra&scaron;ec&iacute; &ndash; Řevničov &ndash; Li&scaron;any &ndash; Lužn&aacute; &ndash; Rakovn&iacute;k, Autobusov&aacute; stanice</em></li>\n <li>č&iacute;slo <strong>365</strong> v&nbsp;trase <em>Motol &ndash; Nemocnice Motol &ndash; Hostivice &ndash; Jeneč &ndash; Unho&scaron;ť, N&aacute;měst&iacute; &ndash; Velk&aacute; Dobr&aacute; &ndash; Doksy &ndash; Kamenn&eacute; Žehrovice &ndash; Tuchlovice &ndash; Stochov, N&aacute;měst&iacute;</em></li>\n <li>č&iacute;slo <strong>404</strong> v&nbsp;trase <em>Zlič&iacute;n &ndash; Stochov &ndash; L&aacute;ny &ndash; Rakovn&iacute;k, Autobusov&aacute; stanice </em></li>\n</ul>\n</body>\n</html>\n',E'Od neděle 1. prosince 2019 dochází v provozu PID k několika trvalým změnám a úpravám. K nejpodstatnějším na území hl. m. Prahy patří především následující změny v provozu autobusů:',NULL,E'2021-07-07 13:48:06.308+02',NULL,NULL,E'2021-07-31 20:43:07.74+02',NULL),
26
+ (13581,1,1,E'2021-07-19T09:02:23.000+02:00',E'disp_i',E'2021-07-19T09:15:53.000+02:00',E'disp_i',1,524288,0,E'Právnická fakulta',(SELECT start_datetime FROM init_values),2,NULL,NULL,6,2,E'Uzavřená komunikace',NULL,NULL,NULL,E'Odklon přes zastávku Malostranská.',NULL,E'2021-07-19 09:18:17.17+02',NULL,NULL,E'2021-07-19 10:14:16.643+02',NULL),
27
+ (6942,1,1,E'2021-07-19T09:02:23.000+02:00',E'disp_i',E'2021-07-19T09:15:53.000+02:00',E'disp_i',1,524288,0,E'EXP Právnická fakulta',E'2042-07-07 13:48:06.381+02',2,NULL,NULL,6,2,E'Uzavřená komunikace',NULL,NULL,NULL,E'Odklon přes zastávku Malostranská.',NULL,E'2021-07-19 09:18:17.17+02',NULL,NULL,E'2021-07-19 10:14:16.643+02',NULL);
28
+
29
+ INSERT INTO "ropidvymi_events_stops"("event_id","gtfs_stop_id","vymi_id","vymi_id_dtb","node_number","stop_number","stop_type","valid_from","valid_to","text","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by")
30
+ VALUES
31
+ (83,NULL,1,3,663,2,9,'2021-01-07 13:48:06.521+02','2023-01-07 13:48:06.521+02',E'text sample 1',NULL,E'2021-07-07 13:48:06.521+02',NULL,NULL,E'2021-07-27 14:44:09.529+02',NULL),
32
+ (71,NULL,1,3,21,1,11,NULL,NULL,E'text sample 2',NULL,E'2021-07-07 13:48:06.382+02',NULL,NULL,E'2021-07-31 18:44:07.943+02',NULL),
33
+ (71,NULL,2,3,21,2,11,NULL,NULL,E'text sample 3',NULL,E'2021-07-07 13:48:06.381+02',NULL,NULL,E'2021-07-31 18:44:07.942+02',NULL),
34
+ (6942,NULL,2,3,21,2,11,NULL,NULL,E'text sample 4',NULL,E'2021-07-07 13:48:06.381+02',NULL,NULL,E'2021-07-31 18:44:07.942+02',NULL);
35
+
36
+ INSERT INTO "ropidvymi_events_routes"("event_id","gtfs_route_id","vymi_id","vymi_id_dtb","number","name","route_type","valid_from","valid_to","text","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by")
37
+ VALUES
38
+ (83,NULL,1,3,152,E'152',14,NULL,NULL,E'text sample 1',NULL,E'2021-07-07 13:48:06.518+02',NULL,NULL,E'2021-07-28 09:04:08.312+02',NULL),
39
+ (83,NULL,2,3,152,E'152',14,NULL,NULL,E'text sample 2',NULL,E'2021-07-07 13:48:06.519+02',NULL,NULL,E'2021-07-28 09:04:08.314+02',NULL),
40
+ (83,NULL,3,3,177,E'177',14,NULL,NULL,E'text sample 3',NULL,E'2021-07-07 13:48:06.52+02',NULL,NULL,E'2021-07-28 09:04:08.313+02',NULL);
@@ -0,0 +1,4 @@
1
+ -- events tmp table and data
2
+ CREATE TABLE "tmp"."ropidvymi_events" AS TABLE "ropidvymi_events";
3
+ INSERT INTO "tmp"."ropidvymi_events" (vymi_id,vymi_id_dtb,state,ropid_created_at,ropid_created_by,ropid_updated_at,ropid_updated_by,record_type,event_type,channels,title,time_from,time_to_type,time_to,expiration_date,transportation_type,priority,cause,link,ropid_action,dpp_action,description,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
4
+ (9292,3,1,'2019-11-22T12:20:21.000+01:00','Dummy1','2019-11-22T12:20:21.000+01:00','Dummy1',2,939524096,1026,'Trvalá změna trasy a zastávek linek číslo 182, 185 a 201','2019-12-01 03:31:00+00',5,NULL,NULL,4,2,NULL,NULL,NULL,'<p>Ve směru N&aacute;draž&iacute; Hole&scaron;ovice je linka vedena přes zast&aacute;vky:</p>','Z důvodu optimalizace dopravní obsluhy dochází od neděle 1. prosince 2019 (od zahájení denního provozu) k trvalé změně trasy a zastávek pro linky číslo 182, 185 a 201.',NULL,'2022-03-30 07:24:08.711+00',NULL,NULL,'2022-03-30 07:24:08.711+00',NULL);
@@ -1,7 +1,6 @@
1
1
  -- ropidgtfs_cis_stops_actual
2
2
  INSERT INTO ropidgtfs_cis_stops_actual (alt_idos_name,cis,id,jtsk_x,jtsk_y,lat,lon,platform,wheelchair_access,"zone",create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
3
- ('Praha hl.n.',5457076,'142/301',-741816.7,-1043640.06,50.0830956,14.4361944,NULL,'possible','P',NULL,'2024-02-06 05:23:14.828',NULL,NULL,'2024-02-06 05:23:14.828',NULL),
4
- ('Kolín',5453414,'2816/301',-687399.75,-1057319.25,50.0252457,15.21459,NULL,'possible','6',NULL,'2024-02-06 05:23:14.828',NULL,NULL,'2024-02-06 05:23:14.828',NULL);
3
+ ('Praha hl.n.',5457076,'142/301',-741816.7,-1043640.06,50.0830956,14.4361944,NULL,'possible','P',NULL,'2024-02-06 05:23:14.828',NULL,NULL,'2024-02-06 05:23:14.828',NULL);
5
4
 
6
5
  -- ropidgtfs_stops_actual
7
6
  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,level_id,stop_code,stop_desc,stop_timezone,asw_node_id,asw_stop_id,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
@@ -1,4 +1,5 @@
1
1
  import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers/index.js";
2
2
  export * as RopidGTFS from "./ropid-gtfs/index.js";
3
+ export * as RopidVYMI from "./ropid-vymi/index.js";
3
4
  export * as VehiclePositions from "./vehicle-positions/index.js";
4
5
  export declare const workers: Array<new () => AbstractWorker>;
@@ -2,8 +2,10 @@ import { DataRetentionWorker } from "./data-retention/index.js";
2
2
  import { JISWorker } from "./jis/index.js";
3
3
  import { PresetWorker } from "./ropid-gtfs/workers/presets/PresetWorker.js";
4
4
  import { TimetableWorker } from "./ropid-gtfs/workers/timetables/TimetableWorker.js";
5
+ import { RopidVYMIWorker } from "./ropid-vymi/workers/RopidVYMIWorker.js";
5
6
  import { DescriptorWorker, GtfsRealTimeWorker, RunsWorker, VPWorker } from "./vehicle-positions/index.js";
6
7
  export * as RopidGTFS from "./ropid-gtfs/index.js";
8
+ export * as RopidVYMI from "./ropid-vymi/index.js";
7
9
  export * as VehiclePositions from "./vehicle-positions/index.js";
8
10
  export const workers = [
9
11
  //#region Vehicle Positions
@@ -16,6 +18,9 @@ export const workers = [
16
18
  PresetWorker,
17
19
  TimetableWorker,
18
20
  //#endregion
21
+ //#region ROPID VYMI
22
+ RopidVYMIWorker,
23
+ //#endregion
19
24
  //#region Data Retention
20
25
  DataRetentionWorker,
21
26
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE1G,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAEjE,MAAM,CAAC,MAAM,OAAO,GAAoC;IACpD,2BAA2B;IAC3B,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,YAAY;IAEZ,oBAAoB;IACpB,YAAY;IACZ,eAAe;IACf,YAAY;IAEZ,wBAAwB;IACxB,mBAAmB;IACnB,YAAY;IAEZ,aAAa;IACb,SAAS;IACT,YAAY;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE1G,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AAEjE,MAAM,CAAC,MAAM,OAAO,GAAoC;IACpD,2BAA2B;IAC3B,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,YAAY;IAEZ,oBAAoB;IACpB,YAAY;IACZ,eAAe;IACf,YAAY;IAEZ,oBAAoB;IACpB,eAAe;IACf,YAAY;IAEZ,wBAAwB;IACxB,mBAAmB;IACnB,YAAY;IAEZ,aAAa;IACb,SAAS;IACT,YAAY;CACf,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation.js";
2
+ import { type IRopidVYMIEvent, type IRopidVYMIEventOutput, type IRopidVYMIEventRouteOutput, type IRopidVYMIEventStopOutput } from "#sch/ropid-vymi/index";
3
+ interface ITransformElementOutput {
4
+ event: IRopidVYMIEventOutput;
5
+ routes: IRopidVYMIEventRouteOutput[];
6
+ stops: IRopidVYMIEventStopOutput[];
7
+ }
8
+ interface ITransformedData extends Omit<ITransformElementOutput, "event"> {
9
+ events: IRopidVYMIEventOutput[];
10
+ }
11
+ export declare class RopidVYMIEventsTransformation extends AbstractTransformation<IRopidVYMIEvent, ITransformElementOutput> {
12
+ private static ROPID_DATE_TIME_FORMAT;
13
+ name: string;
14
+ constructor();
15
+ transform: (data: IRopidVYMIEvent[]) => ITransformedData;
16
+ protected transformInternal: (event: IRopidVYMIEvent) => ITransformElementOutput;
17
+ private transformRoutes;
18
+ private transformStops;
19
+ private formatRopidAuditDateTime;
20
+ }
21
+ export {};
@@ -0,0 +1,81 @@
1
+ import moment from "@golemio/core/dist/shared/moment-timezone.js";
2
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation.js";
3
+ import { HTMLUtils } from "#ie/shared/HTMLUtils";
4
+ import { RopidVYMI, } from "#sch/ropid-vymi/index";
5
+ export class RopidVYMIEventsTransformation extends AbstractTransformation {
6
+ constructor() {
7
+ super();
8
+ this.transform = (data) => {
9
+ const transformed = this.transformArray(data);
10
+ return {
11
+ events: transformed.map((t) => t.event),
12
+ routes: transformed.flatMap((t) => t.routes),
13
+ stops: transformed.flatMap((t) => t.stops),
14
+ };
15
+ };
16
+ this.transformInternal = (event) => {
17
+ return {
18
+ event: {
19
+ vymi_id: parseInt(event["@id"], 10),
20
+ vymi_id_dtb: parseInt(event["@id_dtb"], 10),
21
+ state: parseInt(event["@stav"], 10),
22
+ ropid_created_at: this.formatRopidAuditDateTime(event["@pa_01"]),
23
+ ropid_created_by: event["@pa_02"].trimEnd(),
24
+ ropid_updated_at: this.formatRopidAuditDateTime(event["@pa_03"]),
25
+ ropid_updated_by: event["@pa_04"].trimEnd(),
26
+ record_type: parseInt(event["@typ_zaznamu"], 10),
27
+ event_type: event["@typ_udalost"] ? parseInt(event["@typ_udalost"], 10) : null,
28
+ channels: parseInt(event["@kanaly"], 10),
29
+ title: event["@nazev"],
30
+ time_from: moment.tz(event["@cas_od"], "Europe/Prague").toISOString(),
31
+ time_to_type: parseInt(event["@typ_do"], 10),
32
+ time_to: event["@cas_do"] ? moment.tz(event["@cas_do"], "Europe/Prague").toISOString() : null,
33
+ expiration_date: event["@zobrazit_do"] ? moment.tz(event["@zobrazit_do"], "Europe/Prague").toISOString() : null,
34
+ transportation_type: parseInt(event["@druh_dopr"], 10),
35
+ priority: event["@priorita"] ? parseInt(event["@priorita"], 10) : null,
36
+ cause: event["@duvod"] ?? null,
37
+ link: event["@link"] ?? null,
38
+ ropid_action: event["@opatr_ropid"] ?? null,
39
+ dpp_action: event["@opatr_dpp"] ?? null,
40
+ description: event["@popis"] ?? null,
41
+ },
42
+ routes: this.transformRoutes(parseInt(event["@id"], 10), event["linky-zmena"]),
43
+ stops: this.transformStops(parseInt(event["@id"], 10), event["zastavky-zmena"]),
44
+ };
45
+ };
46
+ this.transformRoutes = (eventId, routes = []) => {
47
+ return routes.map((route) => ({
48
+ event_id: eventId,
49
+ gtfs_route_id: null, // Filled by gtfs_trigger before inserting data
50
+ vymi_id: parseInt(route["@id"], 10),
51
+ vymi_id_dtb: parseInt(route["@id_dtb"], 10),
52
+ number: parseInt(route["@cislo"], 10),
53
+ name: route["@nazev"],
54
+ route_type: parseInt(route["@linka_typ"], 10),
55
+ valid_from: route["@plati_od"] ?? null,
56
+ valid_to: route["@plati_do"] ?? null,
57
+ text: HTMLUtils.outputPlainText(route["#text"]),
58
+ }));
59
+ };
60
+ this.transformStops = (eventId, stops = []) => {
61
+ return stops.map((stop) => ({
62
+ event_id: eventId,
63
+ gtfs_stop_id: null, // Filled by gtfs_trigger before inserting data
64
+ vymi_id: parseInt(stop["@id"], 10),
65
+ vymi_id_dtb: parseInt(stop["@id_dtb"], 10),
66
+ node_number: parseInt(stop["@uzelCislo"], 10),
67
+ stop_number: parseInt(stop["@zastCislo"], 10),
68
+ stop_type: parseInt(stop["@zast_typ"], 10),
69
+ valid_from: stop["@plati_od"] ?? null,
70
+ valid_to: stop["@plati_do"] ?? null,
71
+ text: HTMLUtils.outputPlainText(stop["#text"]),
72
+ }));
73
+ };
74
+ this.name = RopidVYMI.events.name;
75
+ }
76
+ formatRopidAuditDateTime(dateStr) {
77
+ return moment.tz(dateStr, RopidVYMIEventsTransformation.ROPID_DATE_TIME_FORMAT, "Europe/Prague").toISOString();
78
+ }
79
+ }
80
+ RopidVYMIEventsTransformation.ROPID_DATE_TIME_FORMAT = "YYYYMMDD HH:mm:ss";
81
+ //# sourceMappingURL=RopidVYMIEventsTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIEventsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./models/index.js";
2
+ export * from "./RopidVYMIEventsTransformation.js";
@@ -0,0 +1,3 @@
1
+ export * from "./models/index.js";
2
+ export * from "./RopidVYMIEventsTransformation.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-vymi/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type IRopidVYMIEventOutput } from "#sch/ropid-vymi/index";
2
+ import { type IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
3
+ /**
4
+ * Custom Postgres model for Ropid VYMI Events
5
+ */
6
+ export declare class RopidVYMIEventsModel extends PostgresModel implements IModel {
7
+ constructor(addAuditAttributes?: boolean);
8
+ getCurrentAlerts(currentDate: Date): Promise<IRopidVYMIEventOutput[]>;
9
+ }
@@ -0,0 +1,37 @@
1
+ import { PG_SCHEMA } from "#sch/const";
2
+ import { RopidVYMI } from "#sch/ropid-vymi/index";
3
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
4
+ import GolemioValidatorCore from "@golemio/core/dist/shared/golemio-validator.js";
5
+ const { JSONSchemaValidator } = GolemioValidatorCore;
6
+ import SequelizeCore from "@golemio/core/dist/shared/sequelize.js";
7
+ const { Op } = SequelizeCore;
8
+ /**
9
+ * Custom Postgres model for Ropid VYMI Events
10
+ */
11
+ export class RopidVYMIEventsModel extends PostgresModel {
12
+ constructor(addAuditAttributes = false) {
13
+ super(RopidVYMI.events.name + "Model", {
14
+ hasTmpTable: true,
15
+ outputSequelizeAttributes: RopidVYMI.events.outputSequelizeAttributes,
16
+ pgTableName: RopidVYMI.events.pgTableName,
17
+ pgSchema: PG_SCHEMA,
18
+ savingType: "insertOnly",
19
+ addAuditAttributes: addAuditAttributes,
20
+ }, new JSONSchemaValidator(RopidVYMI.events.name + "ModelValidator", RopidVYMI.events.outputJsonSchema));
21
+ }
22
+ getCurrentAlerts(currentDate) {
23
+ return this.find({
24
+ where: {
25
+ record_type: 1,
26
+ expiration_date: {
27
+ [Op.or]: {
28
+ [Op.eq]: null,
29
+ [Op.gte]: currentDate,
30
+ },
31
+ },
32
+ },
33
+ raw: true,
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=RopidVYMIEventsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIEventsModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIEventsModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAA8B,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAe,aAAa,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,MAAM,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,CAAC;AACrD,OAAO,aAAa,MAAM,wCAAwC,CAAC;AACnE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC;AAE7B;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACnD,YAAY,qBAA8B,KAAK;QAC3C,KAAK,CACD,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,EAC/B;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB;YACrE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW;YACzC,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,kBAAkB;SACzC,EACD,IAAI,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACvG,CAAC;IACN,CAAC;IAEM,gBAAgB,CAAC,WAAiB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE;gBACH,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE;oBACb,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACL,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI;wBACb,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW;qBACxB;iBACJ;aACJ;YACD,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { type IRopidVYMIEventRouteOutput } from "#sch/ropid-vymi/index";
2
+ import { type IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
3
+ /**
4
+ * Custom Postgres model for Ropid VYMI Events Routes
5
+ */
6
+ export declare class RopidVYMIEventsRoutesModel extends PostgresModel implements IModel {
7
+ constructor(addAuditAttributes?: boolean);
8
+ findByEventId(eventId: number): Promise<IRopidVYMIEventRouteOutput[]>;
9
+ }
@@ -0,0 +1,29 @@
1
+ import { PG_SCHEMA } from "#sch/const";
2
+ import { RopidVYMI } from "#sch/ropid-vymi/index";
3
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
4
+ import GolemioValidatorCore from "@golemio/core/dist/shared/golemio-validator.js";
5
+ const { JSONSchemaValidator } = GolemioValidatorCore;
6
+ /**
7
+ * Custom Postgres model for Ropid VYMI Events Routes
8
+ */
9
+ export class RopidVYMIEventsRoutesModel extends PostgresModel {
10
+ constructor(addAuditAttributes = false) {
11
+ super(RopidVYMI.eventsRoutes.name + "Model", {
12
+ hasTmpTable: true,
13
+ outputSequelizeAttributes: RopidVYMI.eventsRoutes.outputSequelizeAttributes,
14
+ pgTableName: RopidVYMI.eventsRoutes.pgTableName,
15
+ pgSchema: PG_SCHEMA,
16
+ savingType: "insertOnly",
17
+ addAuditAttributes: addAuditAttributes,
18
+ }, new JSONSchemaValidator(RopidVYMI.eventsRoutes.name + "ModelValidator", RopidVYMI.eventsRoutes.outputJsonSchema));
19
+ }
20
+ async findByEventId(eventId) {
21
+ return await this.find({
22
+ where: {
23
+ event_id: eventId,
24
+ },
25
+ raw: true,
26
+ });
27
+ }
28
+ }
29
+ //# sourceMappingURL=RopidVYMIEventsRoutesModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIEventsRoutesModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIEventsRoutesModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAmC,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAe,aAAa,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,MAAM,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IACzD,YAAY,qBAA8B,KAAK;QAC3C,KAAK,CACD,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,OAAO,EACrC;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,SAAS,CAAC,YAAY,CAAC,yBAAyB;YAC3E,WAAW,EAAE,SAAS,CAAC,YAAY,CAAC,WAAW;YAC/C,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,kBAAkB;SACzC,EACD,IAAI,mBAAmB,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,gBAAgB,EAAE,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CACnH,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACtC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE;gBACH,QAAQ,EAAE,OAAO;aACpB;YACD,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { type IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
2
+ /**
3
+ * Custom Postgres model for Ropid VYMI Events Stops
4
+ */
5
+ export declare class RopidVYMIEventsStopsModel extends PostgresModel implements IModel {
6
+ constructor(addAuditAttributes?: boolean);
7
+ }
@@ -0,0 +1,21 @@
1
+ import { PG_SCHEMA } from "#sch/const";
2
+ import { RopidVYMI } from "#sch/ropid-vymi/index";
3
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models/index.js";
4
+ import GolemioValidatorCore from "@golemio/core/dist/shared/golemio-validator.js";
5
+ const { JSONSchemaValidator } = GolemioValidatorCore;
6
+ /**
7
+ * Custom Postgres model for Ropid VYMI Events Stops
8
+ */
9
+ export class RopidVYMIEventsStopsModel extends PostgresModel {
10
+ constructor(addAuditAttributes = false) {
11
+ super(RopidVYMI.eventsStops.name + "Model", {
12
+ hasTmpTable: true,
13
+ outputSequelizeAttributes: RopidVYMI.eventsStops.outputSequelizeAttributes,
14
+ pgTableName: RopidVYMI.eventsStops.pgTableName,
15
+ pgSchema: PG_SCHEMA,
16
+ savingType: "insertOnly",
17
+ addAuditAttributes: addAuditAttributes,
18
+ }, new JSONSchemaValidator(RopidVYMI.eventsStops.name + "ModelValidator", RopidVYMI.eventsStops.outputJsonSchema));
19
+ }
20
+ }
21
+ //# sourceMappingURL=RopidVYMIEventsStopsModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIEventsStopsModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIEventsStopsModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAe,aAAa,EAAE,MAAM,uDAAuD,CAAC;AACnG,OAAO,oBAAoB,MAAM,gDAAgD,CAAC;AAClF,MAAM,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAAa;IACxD,YAAY,qBAA8B,KAAK;QAC3C,KAAK,CACD,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,EACpC;YACI,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,SAAS,CAAC,WAAW,CAAC,yBAAyB;YAC1E,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW;YAC9C,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,YAAY;YACxB,kBAAkB,EAAE,kBAAkB;SACzC,EACD,IAAI,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,GAAG,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CACjH,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { RopidMetadataModel } from "#ie/shared/index";
2
+ export declare enum DatasetEnum {
3
+ EVENTS = "EVENTS"
4
+ }
5
+ export declare class RopidVYMIMetadataModel extends RopidMetadataModel {
6
+ constructor();
7
+ getDigest: (dataset: string) => Promise<any | null>;
8
+ }
@@ -0,0 +1,30 @@
1
+ import { log } from "@golemio/core/dist/integration-engine/helpers/index.js";
2
+ import { RopidMetadataModel, MetaDatasetInfoKeyEnum, MetaTypeEnum } from "#ie/shared/index";
3
+ import { RopidVYMI } from "#sch/ropid-vymi/index";
4
+ export var DatasetEnum;
5
+ (function (DatasetEnum) {
6
+ DatasetEnum["EVENTS"] = "EVENTS";
7
+ })(DatasetEnum || (DatasetEnum = {}));
8
+ export class RopidVYMIMetadataModel extends RopidMetadataModel {
9
+ constructor() {
10
+ super(RopidVYMI);
11
+ this.getDigest = async (dataset) => {
12
+ try {
13
+ const result = await this.sequelizeModel.findOne({
14
+ order: [["version", "DESC"]],
15
+ where: {
16
+ dataset,
17
+ key: MetaDatasetInfoKeyEnum.DIGEST,
18
+ type: MetaTypeEnum.DATASET_INFO,
19
+ },
20
+ });
21
+ return result?.dataValues?.value || null;
22
+ }
23
+ catch (err) {
24
+ log.warn(err);
25
+ return null;
26
+ }
27
+ };
28
+ }
29
+ }
30
+ //# sourceMappingURL=RopidVYMIMetadataModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIMetadataModel.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/RopidVYMIMetadataModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,wDAAwD,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACnB,gCAAiB,CAAA;AACrB,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAED,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC1D;QACI,KAAK,CAAC,SAAS,CAAC,CAAC;QAGd,cAAS,GAAG,KAAK,EAAE,OAAe,EAAuB,EAAE;YAC9D,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7C,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC5B,KAAK,EAAE;wBACH,OAAO;wBACP,GAAG,EAAE,sBAAsB,CAAC,MAAM;wBAClC,IAAI,EAAE,YAAY,CAAC,YAAY;qBAClC;iBACJ,CAAC,CAAC;gBACH,OAAO,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;IAjBF,CAAC;CAkBJ"}
@@ -0,0 +1,4 @@
1
+ export * from "./RopidVYMIEventsModel.js";
2
+ export * from "./RopidVYMIEventsRoutesModel.js";
3
+ export * from "./RopidVYMIEventsStopsModel.js";
4
+ export * from "./RopidVYMIMetadataModel.js";
@@ -0,0 +1,5 @@
1
+ export * from "./RopidVYMIEventsModel.js";
2
+ export * from "./RopidVYMIEventsRoutesModel.js";
3
+ export * from "./RopidVYMIEventsStopsModel.js";
4
+ export * from "./RopidVYMIMetadataModel.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers/index.js";
2
+ export declare class RopidVYMIWorker extends AbstractWorker {
3
+ protected name: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,14 @@
1
+ import { RopidVYMI } from "#sch/ropid-vymi/index";
2
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers/index.js";
3
+ import { CheckForNewEventsTask } from "./tasks/CheckForNewEventsTask.js";
4
+ import { FetchAndProcessEventsTask } from "./tasks/FetchAndProcessEventsTask.js";
5
+ export class RopidVYMIWorker extends AbstractWorker {
6
+ constructor() {
7
+ super();
8
+ this.name = RopidVYMI.name.toLowerCase();
9
+ // Register tasks
10
+ this.registerTask(new CheckForNewEventsTask(this.getQueuePrefix()));
11
+ this.registerTask(new FetchAndProcessEventsTask(this.getQueuePrefix()));
12
+ }
13
+ }
14
+ //# sourceMappingURL=RopidVYMIWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidVYMIWorker.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-vymi/workers/RopidVYMIWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAK1C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/index.js";
2
+ export declare class CheckForNewEventsTask extends AbstractEmptyTask {
3
+ readonly queueName = "checkForNewEvents";
4
+ readonly queueTtl: number;
5
+ private readonly modelVYMIMeta;
6
+ constructor(queuePrefix: string);
7
+ protected execute(): Promise<void>;
8
+ }
@@ -0,0 +1,19 @@
1
+ import { DatasetEnum, RopidVYMIMetadataModel } from "#ie/ropid-vymi/models/index";
2
+ import { AbstractEmptyTask, QueueManager } from "@golemio/core/dist/integration-engine/index.js";
3
+ import RopidVYMIApiHelper from "./helpers/RopidVYMIApiHelper.js";
4
+ export class CheckForNewEventsTask extends AbstractEmptyTask {
5
+ constructor(queuePrefix) {
6
+ super(queuePrefix);
7
+ this.queueName = "checkForNewEvents";
8
+ this.queueTtl = 1 * 60 * 1000; // 1 minute;
9
+ this.modelVYMIMeta = new RopidVYMIMetadataModel();
10
+ }
11
+ async execute() {
12
+ const lastDigest = await this.modelVYMIMeta.getDigest(DatasetEnum.EVENTS);
13
+ const { digest, data } = await RopidVYMIApiHelper.getInstance().getAllEvents();
14
+ if (digest !== lastDigest) {
15
+ await QueueManager.sendMessageToExchange(this.queuePrefix, "fetchAndProcessEvents", { digest, data });
16
+ }
17
+ }
18
+ }
19
+ //# sourceMappingURL=CheckForNewEventsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckForNewEventsTask.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-vymi/workers/tasks/CheckForNewEventsTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AAEjE,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAKxD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QALP,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QAKlD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACtD,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAE/E,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,17 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/index.js";
2
+ import { type IEventFetchOutput } from "./interfaces/IEventFetchOutput.js";
3
+ import { EventFetchOutputValidationSchema } from "./schema/EventFetchOutputValidationSchema.js";
4
+ export declare class FetchAndProcessEventsTask extends AbstractTask<IEventFetchOutput> {
5
+ readonly queueName = "fetchAndProcessEvents";
6
+ readonly queueTtl: number;
7
+ protected readonly schema: typeof EventFetchOutputValidationSchema;
8
+ private readonly modelVYMIEvents;
9
+ private readonly modelVYMIEventsRoutes;
10
+ private readonly modelVYMIEventsStops;
11
+ private readonly transformation;
12
+ private readonly modelVYMIMeta;
13
+ constructor(queueprefix: string);
14
+ protected execute: (content: IEventFetchOutput) => Promise<void>;
15
+ private prepareAndTransformEvents;
16
+ private prepareAndSaveEvents;
17
+ }