@golemio/pid 2.3.3-dev.677483558 → 2.3.3-dev.683577796

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 (96) hide show
  1. package/db/example/00_clear_test_data.sql +1 -0
  2. package/db/example/10_cancelledTrip_example.sql +1 -1
  3. package/db/example/12_metro_line_A_gtfs_trips.sql +128 -0
  4. package/dist/const.d.ts +1 -0
  5. package/dist/const.js +1 -0
  6. package/dist/const.js.map +1 -1
  7. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +1 -1
  8. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.d.ts +3 -1
  10. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +33 -2
  11. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/IAggregatedRailtrackGPSData.d.ts +11 -0
  13. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/IAggregatedRailtrackGPSData.js +3 -0
  14. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/IAggregatedRailtrackGPSData.js.map +1 -0
  15. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.d.ts +1 -7
  16. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js +9 -34
  17. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.d.ts +17 -0
  19. package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.js +30 -0
  20. package/dist/integration-engine/vehicle-positions/helpers/DateTimeUtils.js.map +1 -0
  21. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.d.ts +24 -0
  22. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js +73 -0
  23. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/AbstractGTFSTripRunManager.js.map +1 -0
  24. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.d.ts +11 -0
  25. package/dist/integration-engine/vehicle-positions/helpers/{GtfsTripManager.js → gtfs-trip-run/GTFSTripCommonRunManager.js} +26 -47
  26. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripCommonRunManager.js.map +1 -0
  27. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.d.ts +10 -0
  28. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js +70 -0
  29. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripMetroRunManager.js.map +1 -0
  30. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.d.ts +8 -0
  31. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js +23 -0
  32. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/GTFSTripRunManagerFactory.js.map +1 -0
  33. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.d.ts +6 -0
  34. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js +3 -0
  35. package/dist/integration-engine/vehicle-positions/helpers/gtfs-trip-run/interfaces/IDelayMessage.js.map +1 -0
  36. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.d.ts +3 -1
  37. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js +14 -3
  38. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +3 -1
  40. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js +15 -5
  41. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  42. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.d.ts +3 -1
  43. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.js +24 -15
  44. package/dist/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.d.ts +5 -2
  46. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js +16 -13
  47. package/dist/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.js.map +1 -1
  48. package/dist/integration-engine/vehicle-positions/transformations/index.d.ts +0 -1
  49. package/dist/integration-engine/vehicle-positions/transformations/index.js +0 -1
  50. package/dist/integration-engine/vehicle-positions/transformations/index.js.map +1 -1
  51. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +2 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  53. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +2 -2
  54. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
  55. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.d.ts +18 -0
  56. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js +69 -0
  57. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +1 -0
  58. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +1 -0
  59. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +13 -6
  60. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/{data-access → workers/runs/tasks/data-access}/MetroRunsMessagesRepository.d.ts +1 -1
  62. package/dist/integration-engine/vehicle-positions/{data-access → workers/runs/tasks/data-access}/MetroRunsMessagesRepository.js +2 -2
  63. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/MetroRunsMessagesRepository.js.map +1 -0
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.d.ts +4 -0
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.js +18 -0
  66. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/data-access/RunTripsRedisRepository.js.map +1 -0
  67. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.d.ts +8 -0
  68. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.js +21 -0
  69. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/helpers/MetroRouteHelper.js.map +1 -0
  70. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.d.ts +11 -0
  71. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.js +3 -0
  72. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IMetroRunInputForProcessing.js.map +1 -0
  73. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.d.ts +5 -0
  74. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.js +3 -0
  75. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/interfaces/IProcessMetroRunsMessagesInput.js.map +1 -0
  76. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.d.ts +6 -0
  77. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.js +63 -0
  78. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.js.map +1 -0
  79. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.d.ts +21 -0
  80. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js +78 -0
  81. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js.map +1 -0
  82. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.d.ts +13 -0
  83. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.js +43 -0
  84. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.js.map +1 -0
  85. package/docs/openapi-output.yaml +1 -0
  86. package/package.json +3 -3
  87. package/db/example/12_metro_runs_messages.sql +0 -5
  88. package/dist/integration-engine/vehicle-positions/data-access/MetroRunsMessagesRepository.js.map +0 -1
  89. package/dist/integration-engine/vehicle-positions/data-access/index.d.ts +0 -1
  90. package/dist/integration-engine/vehicle-positions/data-access/index.js +0 -18
  91. package/dist/integration-engine/vehicle-positions/data-access/index.js.map +0 -1
  92. package/dist/integration-engine/vehicle-positions/helpers/GtfsTripManager.d.ts +0 -19
  93. package/dist/integration-engine/vehicle-positions/helpers/GtfsTripManager.js.map +0 -1
  94. package/dist/integration-engine/vehicle-positions/transformations/MetroRunsMessagesTransformation.d.ts +0 -6
  95. package/dist/integration-engine/vehicle-positions/transformations/MetroRunsMessagesTransformation.js +0 -40
  96. package/dist/integration-engine/vehicle-positions/transformations/MetroRunsMessagesTransformation.js.map +0 -1
@@ -12,6 +12,7 @@ TRUNCATE
12
12
  "ropidgtfs_stops_actual",
13
13
  "ropidgtfs_trips_actual",
14
14
  "ropidgtfs_run_numbers_actual",
15
+ "ropidgtfs_metro_railtrack_gps",
15
16
  "ropidvymi_events",
16
17
  "ropidvymi_events_stops",
17
18
  "ropidvymi_events_routes",
@@ -2,4 +2,4 @@ INSERT INTO vehiclepositions_trips (cis_line_id,cis_trip_number,sequence_id,cis_
2
2
  (NULL,NULL,20,NULL,concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,'L9','9','9_4832_220502',concat(CURRENT_DATE,'T07:39:00+02:00_9_4832_220502_9366'),concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,NULL,NULL,'07:39:00',extract(epoch from concat(CURRENT_DATE,'T05:39:00Z')::timestamp)*1000,2,true,NULL,NULL,NULL,NULL,'DP PRAHA','9','DP PRAHA',9366,'Sídliště Řepy',NULL,0,NULL,811532745,TRUE,1658730720000,NULL);
3
3
 
4
4
  INSERT INTO vehiclepositions_positions (id, created_at,delay,delay_stop_arrival,delay_stop_departure,next_stop_id,shape_dist_traveled,is_canceled,lat,lng,origin_time,origin_timestamp,tracking,trips_id,create_batch_id,created_by,update_batch_id,updated_at,updated_by,bearing,cis_last_stop_id,cis_last_stop_sequence,last_stop_id,last_stop_sequence,next_stop_sequence,speed,last_stop_arrival_time,last_stop_departure_time,next_stop_arrival_time,next_stop_departure_time,asw_last_stop_id,state_process,state_position,this_stop_id,this_stop_sequence,tcp_event,last_stop_headsign,last_stop_name,next_stop_name,this_stop_name,valid_to) VALUES
5
- (811532745,concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,0,NULL,NULL,'U694Z1P',0,TRUE,50.06769,14.33621,'06:38:55',1658723935000,0,concat(CURRENT_DATE,'T07:39:00+02:00_9_4832_220502_9366'),NULL,NULL,NULL,concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,1658727540000,1658727540000,'06940002','processed','canceled','03940001',NULL,'P',NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T07:00:00Z')::timestamp)*1000);
5
+ (811532745,concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,0,NULL,NULL,'U694Z1P',0,TRUE,50.06769,14.33621,'06:38:55',1658723935000,0,concat(CURRENT_DATE,'T07:39:00+02:00_9_4832_220502_9366'),NULL,NULL,NULL,concat(CURRENT_DATE,'T03:59:00Z')::timestamp with time zone,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,1658727540000,1658727540000,'06940002','processed','canceled','03940001',NULL,'P',NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T08:00:00Z')::timestamp)*1000);
@@ -0,0 +1,128 @@
1
+ WITH init_values AS (SELECT NOW()::DATE AS now_date)
2
+ INSERT INTO ropidgtfs_calendar_actual (end_date,friday,monday,saturday,service_id,start_date,sunday,thursday,tuesday,wednesday,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
3
+ (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'),1,1,0,'1111100-1',TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'),0,1,1,1,-1,'2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL),
4
+ (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'),1,1,0,'1111100-2',TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'),0,1,1,1,-1,'2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL);
5
+
6
+ INSERT INTO ropidgtfs_stops_actual (level_id,location_type,parent_station,platform_code,stop_code,stop_desc,stop_id,stop_lat,stop_lon,stop_name,stop_timezone,stop_url,wheelchair_boarding,zone_id,asw_node_id,asw_stop_id,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
7
+ ('U157L2',0,'U157S1','1',NULL,NULL,'U157Z101P',50.09831,14.36283,'Bořislavka',NULL,NULL,1,'P',157,101,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL),
8
+ ('U157L2',0,'U157S1','2',NULL,NULL,'U157Z102P',50.09837,14.36282,'Bořislavka',NULL,NULL,1,'P',157,102,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL),
9
+ ('U400L4',0,'U400S1','A1',NULL,NULL,'U400Z101P',50.0794,14.43159,'Muzeum',NULL,NULL,1,'P',400,101,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL),
10
+ ('U400L4',0,'U400S1','A2',NULL,NULL,'U400Z102P',50.07953,14.43178,'Muzeum',NULL,NULL,1,'P',400,102,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL),
11
+ ('U462L3',0,'U462S1','M1',NULL,NULL,'U462Z101P',50.09588,14.34829,'Nádraží Veleslavín',NULL,NULL,1,'P',462,101,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL),
12
+ ('U462L3',0,'U462S1','M2',NULL,NULL,'U462Z102P',50.09583,14.34836,'Nádraží Veleslavín',NULL,NULL,1,'P',462,102,-1,'2022-10-24 10:21:10.47+02',NULL,-1,'2022-10-24 10:21:10.47+02',NULL)
13
+ ON CONFLICT DO NOTHING;
14
+
15
+ INSERT INTO ropidgtfs_stop_times_actual (arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,stop_sequence,timepoint,trip_id,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
16
+ ('9:55:10',NULL,'9:55:10',NULL,'0','0',0.0,NULL,'U1071Z101P',1,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
17
+ ('9:57:10',NULL,'9:57:40',NULL,'0','0',1.142977,NULL,'U953Z102P',2,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
18
+ ('9:59:55',NULL,'10:00:25',NULL,'0','0',2.532413,NULL,'U713Z102P',3,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
19
+ ('10:02:05',NULL,'10:02:35',NULL,'0','0',3.768299,NULL,'U921Z102P',4,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
20
+ ('10:04:00',NULL,'10:04:20',NULL,'0','0',4.713793,NULL,'U118Z102P',5,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
21
+ ('10:05:35',NULL,'10:05:55',NULL,'0','0',5.577322,NULL,'U209Z102P',6,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
22
+ ('10:07:10',NULL,'10:07:30',NULL,'0','0',6.43347,NULL,'U476Z102P',7,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
23
+ ('10:08:45',NULL,'10:09:15',NULL,'0','0',7.240121,NULL,'U400Z102P',8,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
24
+ ('10:10:20',NULL,'10:10:50',NULL,'0','0',7.930907,NULL,'U1072Z102P',9,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
25
+ ('10:12:00',NULL,'10:12:20',NULL,'0','0',8.673048,NULL,'U703Z102P',10,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
26
+ ('10:13:25',NULL,'10:13:45',NULL,'0','0',9.448995,NULL,'U360Z102P',11,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
27
+ ('10:15:05',NULL,'10:15:35',NULL,'0','0',10.270193,NULL,'U163Z102P',12,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
28
+ ('10:16:55',NULL,'10:17:25',NULL,'0','0',11.099298,NULL,'U321Z102P',13,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
29
+ ('10:20:00',NULL,'10:20:20',NULL,'0','0',13.284389,NULL,'U157Z102P',14,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
30
+ ('10:21:50',NULL,'10:22:10',NULL,'0','0',14.377112,NULL,'U462Z102P',15,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
31
+ ('10:23:50',NULL,'10:24:20',NULL,'0','0',15.513008,NULL,'U507Z102P',16,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
32
+ ('10:26:20',NULL,'10:26:20',NULL,'0','0',17.037615,NULL,'U306Z102P',17,NULL,'991_77_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
33
+ ('10:32:35',NULL,'10:32:35',NULL,'0','0',0.0,NULL,'U306Z101P',1,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
34
+ ('10:34:25',NULL,'10:34:55',NULL,'0','0',1.476727,NULL,'U507Z101P',2,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
35
+ ('10:36:25',NULL,'10:36:45',NULL,'0','0',2.660696,NULL,'U462Z101P',3,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
36
+ ('10:38:10',NULL,'10:38:30',NULL,'0','0',3.754257,NULL,'U157Z101P',4,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
37
+ ('10:40:45',NULL,'10:41:15',NULL,'0','0',5.939039,NULL,'U321Z101P',5,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
38
+ ('10:42:25',NULL,'10:42:55',NULL,'0','0',6.768432,NULL,'U163Z101P',6,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
39
+ ('10:44:05',NULL,'10:44:25',NULL,'0','0',7.588778,NULL,'U360Z101P',7,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
40
+ ('10:45:30',NULL,'10:45:50',NULL,'0','0',8.364975,NULL,'U703Z101P',8,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
41
+ ('10:47:00',NULL,'10:47:30',NULL,'0','0',9.113977,NULL,'U1072Z101P',9,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
42
+ ('10:48:40',NULL,'10:49:10',NULL,'0','0',9.79675,NULL,'U400Z101P',10,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
43
+ ('10:50:30',NULL,'10:50:50',NULL,'0','0',10.604748,NULL,'U476Z101P',11,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
44
+ ('10:52:05',NULL,'10:52:25',NULL,'0','0',11.461495,NULL,'U209Z101P',12,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
45
+ ('10:53:45',NULL,'10:54:05',NULL,'0','0',12.322287,NULL,'U118Z101P',13,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
46
+ ('10:55:25',NULL,'10:55:55',NULL,'0','0',13.268853,NULL,'U921Z101P',14,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
47
+ ('10:57:40',NULL,'10:58:10',NULL,'0','0',14.488865,NULL,'U713Z101P',15,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
48
+ ('11:00:40',NULL,'11:00:40',NULL,'0','0',15.794289,NULL,'U953Z102P',16,NULL,'991_78_220321',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
49
+ ('11:02:40',NULL,'11:02:40',NULL,'0','0',0.0,NULL,'U953Z102P',1,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
50
+ ('11:04:55',NULL,'11:05:25',NULL,'0','0',1.389436,NULL,'U713Z102P',2,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
51
+ ('11:07:05',NULL,'11:07:35',NULL,'0','0',2.625322,NULL,'U921Z102P',3,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
52
+ ('11:09:00',NULL,'11:09:20',NULL,'0','0',3.570817,NULL,'U118Z102P',4,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
53
+ ('11:10:35',NULL,'11:10:55',NULL,'0','0',4.434345,NULL,'U209Z102P',5,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
54
+ ('11:12:10',NULL,'11:12:30',NULL,'0','0',5.290494,NULL,'U476Z102P',6,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
55
+ ('11:13:45',NULL,'11:14:15',NULL,'0','0',6.097144,NULL,'U400Z102P',7,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
56
+ ('11:15:20',NULL,'11:15:50',NULL,'0','0',6.78793,NULL,'U1072Z102P',8,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
57
+ ('11:17:00',NULL,'11:17:20',NULL,'0','0',7.530071,NULL,'U703Z102P',9,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
58
+ ('11:18:25',NULL,'11:18:45',NULL,'0','0',8.306018,NULL,'U360Z102P',10,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
59
+ ('11:20:05',NULL,'11:20:35',NULL,'0','0',9.127216,NULL,'U163Z102P',11,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
60
+ ('11:21:55',NULL,'11:22:25',NULL,'0','0',9.956321,NULL,'U321Z102P',12,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
61
+ ('11:25:00',NULL,'11:25:20',NULL,'0','0',12.141412,NULL,'U157Z102P',13,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
62
+ ('11:26:50',NULL,'11:27:10',NULL,'0','0',13.234135,NULL,'U462Z102P',14,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
63
+ ('11:28:50',NULL,'11:29:20',NULL,'0','0',14.370031,NULL,'U507Z102P',15,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
64
+ ('11:31:20',NULL,'11:31:20',NULL,'0','0',15.894638,NULL,'U306Z102P',16,NULL,'991_124_201230',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
65
+ ('10:04:35',NULL,'10:04:35',NULL,'0','0',0.0,NULL,'U306Z101P',1,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
66
+ ('10:06:25',NULL,'10:06:55',NULL,'0','0',1.476727,NULL,'U507Z101P',2,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
67
+ ('10:08:25',NULL,'10:08:45',NULL,'0','0',2.660696,NULL,'U462Z101P',3,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
68
+ ('10:10:10',NULL,'10:10:30',NULL,'0','0',3.754257,NULL,'U157Z101P',4,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
69
+ ('10:12:45',NULL,'10:13:15',NULL,'0','0',5.939039,NULL,'U321Z101P',5,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
70
+ ('10:14:25',NULL,'10:14:55',NULL,'0','0',6.768432,NULL,'U163Z101P',6,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
71
+ ('10:16:05',NULL,'10:16:25',NULL,'0','0',7.588778,NULL,'U360Z101P',7,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
72
+ ('10:17:30',NULL,'10:17:50',NULL,'0','0',8.364975,NULL,'U703Z101P',8,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
73
+ ('10:19:00',NULL,'10:19:30',NULL,'0','0',9.113977,NULL,'U1072Z101P',9,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
74
+ ('10:20:40',NULL,'10:21:10',NULL,'0','0',9.79675,NULL,'U400Z101P',10,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
75
+ ('10:22:30',NULL,'10:22:50',NULL,'0','0',10.604748,NULL,'U476Z101P',11,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
76
+ ('10:24:05',NULL,'10:24:25',NULL,'0','0',11.461495,NULL,'U209Z101P',12,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
77
+ ('10:25:45',NULL,'10:26:05',NULL,'0','0',12.322287,NULL,'U118Z101P',13,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
78
+ ('10:27:25',NULL,'10:27:55',NULL,'0','0',13.268853,NULL,'U921Z101P',14,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
79
+ ('10:29:40',NULL,'10:30:10',NULL,'0','0',14.488865,NULL,'U713Z101P',15,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
80
+ ('10:32:40',NULL,'10:32:40',NULL,'0','0',15.893049,NULL,'U953Z101P',16,NULL,'991_294_220901',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL);
81
+
82
+ INSERT INTO ropidgtfs_routes_actual (agency_id,is_night,is_regional,is_substitute_transport,route_color,route_desc,route_id,route_long_name,route_short_name,route_text_color,route_type,route_url,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
83
+ ('99','0','0','0','00A562',NULL,'L991','Nemocnice Motol - Petřiny - Skalka - Depo Hostivař','A','FFFFFF','1','https://pid.cz/linka/A',-1,'2022-10-24 10:18:51.722+02',NULL,-1,'2022-10-24 10:18:51.722+02',NULL)
84
+ ON CONFLICT DO NOTHING;
85
+
86
+ INSERT INTO ropidgtfs_trips_actual (bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_id,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
87
+ (1,NULL,1,0,'L991','1111100-2','L991V7','Skalka','991_294_220901',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL),
88
+ (1,NULL,0,0,'L991','1111100-1','L991V8','Nemocnice Motol','991_77_220901',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL),
89
+ (1,NULL,1,0,'L991','1111100-1','L991V6','Skalka','991_78_220321',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL),
90
+ (1,NULL,0,0,'L991','1111100-2','L991V1','Nemocnice Motol','991_124_201230',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL);
91
+
92
+ INSERT INTO ropidgtfs_run_numbers_actual (route_id,run_number,service_id,trip_id,vehicle_type,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
93
+ ('L991',5,'1111100-1','991_77_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
94
+ ('L991',5,'1111100-1','991_78_220321',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
95
+ ('L991',5,'1111100-1','991_124_201230',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
96
+ ('L991',8,'1111100-3','991_124_201230',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
97
+ ('L991',9,'1111100-1','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL),
98
+ ('L991',17,'1111100-3','991_294_220901',3,NULL,'2022-10-24 10:23:04.722+02',NULL,NULL,'2022-10-24 10:23:04.722+02',NULL);
99
+
100
+ INSERT INTO ropidgtfs_metro_railtrack_gps (track_id, route_name, coordinates, gtfs_stop_id) VALUES
101
+ ('1806', 'A', ST_PointFromText('POINT(14.36282 50.09837)', 4326), 'U157Z102P'),
102
+ ('1209', 'A', ST_PointFromText('POINT(14.43101 50.079954)', 4326), NULL),
103
+ ('1211', 'A', ST_PointFromText('POINT(14.429208 50.081053)', 4326), NULL);
104
+
105
+ WITH init_values AS (
106
+ SELECT CAST(current_date - INTERVAL '1 day' + INTERVAL '10 hour' AS TIMESTAMP WITH TIME ZONE) AT TIME ZONE 'Europe/Prague' AS origin_datetime
107
+ )
108
+ INSERT INTO vehiclepositions_metro_runs_messages (route_name, message_timestamp, train_set_number_scheduled, train_set_number_real, train_number, track_id, delay_origin, actual_position_timestamp_scheduled, created_at, updated_at) VALUES
109
+ ('A', concat(CURRENT_DATE,'T08:20:08Z')::timestamp, '5', '5', '182', '1806', 25, concat(CURRENT_DATE,'T08:20:33Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values)),
110
+ ('A', concat(CURRENT_DATE,'T08:20:13Z')::timestamp, '5', '5', '182', '1806', 25, concat(CURRENT_DATE,'T08:20:38Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values)),
111
+ ('A', concat(CURRENT_DATE,'T08:20:08Z')::timestamp, '9', '9', '175', '1211', -15, concat(CURRENT_DATE,'T08:19:53Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values)),
112
+ ('A', concat(CURRENT_DATE,'T08:20:13Z')::timestamp, '9', '9', '175', '1209', -15, concat(CURRENT_DATE,'T08:19:58Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values));
113
+
114
+ INSERT INTO vehiclepositions_trips (cis_line_id,cis_trip_number,sequence_id,cis_line_short_name,created_at,gtfs_route_id,gtfs_route_short_name,gtfs_trip_id,id,updated_at,start_cis_stop_id,start_cis_stop_platform_code,start_time,start_timestamp,vehicle_type_id,wheelchair_accessible,create_batch_id,created_by,update_batch_id,updated_by,agency_name_scheduled,origin_route_name,agency_name_real,vehicle_registration_number,gtfs_trip_headsign,start_asw_stop_id,gtfs_route_type,gtfs_block_id,last_position_id,is_canceled,end_timestamp,gtfs_trip_short_name) VALUES
115
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_78_220321',concat(CURRENT_DATE,'T10:32:35+02:00_L991_5_5_182'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:32:35',extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','A','DP PRAHA',NULL,'Skalka',NULL,1,NULL,30,NULL,extract(epoch from concat(CURRENT_DATE,'T09:00:40Z')::timestamp)*1000,NULL),
116
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_77_220901',concat(CURRENT_DATE,'T09:55:10+02:00_L991_5_5_182'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'09:55:10',extract(epoch from concat(CURRENT_DATE,'T07:55:10Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','A','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,29,NULL,extract(epoch from concat(CURRENT_DATE,'T08:26:20Z')::timestamp)*1000,NULL),
117
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_124_201230',concat(CURRENT_DATE,'T11:02:40+02:00_L991_5_5_182'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'11:02:40',extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','A','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,31,NULL,extract(epoch from concat(CURRENT_DATE,'T09:31:20Z')::timestamp)*1000,NULL),
118
+ (NULL,NULL,9,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_294_220901',concat(CURRENT_DATE,'T10:04:35+02:00_L991_9_9_175'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:04:35',extract(epoch from concat(CURRENT_DATE,'T08:04:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','A','DP PRAHA',NULL,'Skalka',NULL,1,NULL,32,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:40Z')::timestamp)*1000,NULL);
119
+
120
+ INSERT INTO vehiclepositions_positions (created_at,delay,delay_stop_arrival,delay_stop_departure,next_stop_id,shape_dist_traveled,is_canceled,lat,lng,origin_time,origin_timestamp,tracking,trips_id,create_batch_id,created_by,update_batch_id,updated_at,updated_by,id,bearing,cis_last_stop_id,cis_last_stop_sequence,last_stop_id,last_stop_sequence,next_stop_sequence,speed,last_stop_arrival_time,last_stop_departure_time,next_stop_arrival_time,next_stop_departure_time,asw_last_stop_id,state_process,state_position,this_stop_id,this_stop_sequence,tcp_event,last_stop_headsign,last_stop_name,next_stop_name,this_stop_name,valid_to) VALUES
121
+ (concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,NULL,NULL,'U306Z101P',0,NULL,50.09837,14.36282,'10:20:08',extract(epoch from concat(CURRENT_DATE,'T08:20:08Z')::timestamp)*1000,0,concat(CURRENT_DATE,'T10:32:35+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,26,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,NULL,'processed','before_track','U157Z102P',NULL,NULL,NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
122
+ (concat(CURRENT_DATE,'T09:14:32Z')::timestamp,0,NULL,NULL,'U462Z102P',13.284,NULL,50.09837,14.36282,'10:20:08',extract(epoch from concat(CURRENT_DATE,'T08:20:08Z')::timestamp)*1000,2,concat(CURRENT_DATE,'T09:55:10+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,25,263,NULL,NULL,'U157Z102P',14,15,NULL,extract(epoch from concat(CURRENT_DATE,'T08:20:00Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:20:20Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:21:50Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:22:10Z')::timestamp)*1000,NULL,'processed','at_stop','U157Z102P',14,NULL,NULL,'Bořislavka',NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
123
+ (concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,NULL,NULL,'U953Z102P',0,NULL,50.09837,14.36282,'10:20:08',extract(epoch from concat(CURRENT_DATE,'T08:20:08Z')::timestamp)*1000,0,concat(CURRENT_DATE,'T11:02:40+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,27,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,NULL,'processed','before_track','U157Z102P',NULL,NULL,NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
124
+ (concat(CURRENT_DATE,'T09:14:32Z')::timestamp,3,NULL,NULL,'U400Z101P',9.455,NULL,50.081053,14.429208,'10:20:08',extract(epoch from concat(CURRENT_DATE,'T08:20:08Z')::timestamp)*1000,2,concat(CURRENT_DATE,'T10:04:35+02:00_L991_9_9_175'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,28,125,NULL,NULL,'U1072Z101P',9,10,NULL,extract(epoch from concat(CURRENT_DATE,'T08:19:00Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:19:30Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:20:40Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:21:10Z')::timestamp)*1000,NULL,'processed','on_track',NULL,NULL,NULL,NULL,'Můstek',NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
125
+ (concat(CURRENT_DATE,'T09:14:51Z')::timestamp,0,NULL,NULL,'U462Z102P',13.284,NULL,50.09837,14.36282,'10:20:13',extract(epoch from concat(CURRENT_DATE,'T08:20:13Z')::timestamp)*1000,2,concat(CURRENT_DATE,'T09:55:10+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,29,263,NULL,NULL,'U157Z102P',14,15,NULL,extract(epoch from concat(CURRENT_DATE,'T08:20:00Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:20:20Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:21:50Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:22:10Z')::timestamp)*1000,NULL,'processed','at_stop','U157Z102P',14,NULL,NULL,'Bořislavka',NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
126
+ (concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,NULL,'U953Z102P',0,NULL,50.09837,14.36282,'10:20:13',extract(epoch from concat(CURRENT_DATE,'T08:20:13Z')::timestamp)*1000,0,concat(CURRENT_DATE,'T11:02:40+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,31,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,NULL,'processed','before_track','U157Z102P',NULL,NULL,NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
127
+ (concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,NULL,'U306Z101P',0,NULL,50.09837,14.36282,'10:20:13',extract(epoch from concat(CURRENT_DATE,'T08:20:13Z')::timestamp)*1000,0,concat(CURRENT_DATE,'T10:32:35+02:00_L991_5_5_182'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,30,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,NULL,'processed','before_track','U157Z102P',NULL,NULL,NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
128
+ (concat(CURRENT_DATE,'T09:14:51Z')::timestamp,-13,NULL,NULL,'U400Z101P',9.656,NULL,50.079954,14.43101,'10:20:13',extract(epoch from concat(CURRENT_DATE,'T08:20:13Z')::timestamp)*1000,2,concat(CURRENT_DATE,'T10:04:35+02:00_L991_9_9_175'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,32,139,NULL,NULL,'U1072Z101P',9,10,NULL,extract(epoch from concat(CURRENT_DATE,'T08:19:00Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:19:30Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:20:40Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:21:10Z')::timestamp)*1000,NULL,'processed','on_track',NULL,NULL,NULL,NULL,'Můstek',NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000);
package/dist/const.d.ts CHANGED
@@ -13,6 +13,7 @@ export declare enum StatePositionEnum {
13
13
  }
14
14
  export declare enum StateProcessEnum {
15
15
  TCP_INPUT = "tcp_input",
16
+ UDP_INPUT = "udp_input",
16
17
  INPUT = "input",
17
18
  PROCESSED = "processed"
18
19
  }
package/dist/const.js CHANGED
@@ -18,6 +18,7 @@ var StatePositionEnum;
18
18
  var StateProcessEnum;
19
19
  (function (StateProcessEnum) {
20
20
  StateProcessEnum["TCP_INPUT"] = "tcp_input";
21
+ StateProcessEnum["UDP_INPUT"] = "udp_input";
21
22
  StateProcessEnum["INPUT"] = "input";
22
23
  StateProcessEnum["PROCESSED"] = "processed";
23
24
  })(StateProcessEnum = exports.StateProcessEnum || (exports.StateProcessEnum = {}));
package/dist/const.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,kEAA6C,CAAA;IAC7C,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;AAC7B,CAAC,EAZW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAY5B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,2CAAuB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,gCAAgB,CAAA;IAChB,uBAAO,CAAA;IACP,uBAAO,CAAA;AACX,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,+EAAgB,CAAA;IAChB,uEAAY,CAAA;AAChB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AAEY,QAAA,iCAAiC,GAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,kEAA6C,CAAA;IAC7C,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;AAC7B,CAAC,EAZW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAY5B;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,2CAAuB,CAAA;AAC3B,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,gCAAgB,CAAA;IAChB,uBAAO,CAAA;IACP,uBAAO,CAAA;AACX,CAAC,EALW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAKvB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,+EAAgB,CAAA;IAChB,uEAAY,CAAA;AAChB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B;AAEY,QAAA,iCAAiC,GAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -26,7 +26,7 @@ class SaveMetroRailtrackDataToDBTask extends workers_1.AbstractTask {
26
26
  execute(data) {
27
27
  return __awaiter(this, void 0, void 0, function* () {
28
28
  const railtrackGPSData = yield this.railtrackDataTransformation.transform(data);
29
- yield this.railtrackGPSRepository.replaceData(railtrackGPSData);
29
+ yield this.railtrackGPSRepository.saveData(railtrackGPSData);
30
30
  });
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
1
+ {"version":3,"file":"SaveMetroRailtrackDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,2FAAwF;AACxF,yGAAsG;AAEtG,gFAAuF;AAEvF,MAAa,8BAA+B,SAAQ,sBAAsC;IAQtF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,6DAAkC,CAAC;QAOxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,mEAAgC,EAAE,CAAC;QAC1E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACpE,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;KAAA;CACJ;AAlBD,wEAkBC"}
@@ -1,6 +1,8 @@
1
1
  import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
2
  import { MetroRailtrackGPSModel } from "../../../../../../schema-definitions/ropid-gtfs/models/railtrack/MetroRailtrackGPSModel";
3
+ import { IAggregatedRailtrackGPSData } from "../interfaces/IAggregatedRailtrackGPSData";
3
4
  export declare class MetroRailtrackGPSRepository extends PostgresModel implements IModel {
4
5
  constructor();
5
- replaceData: (data: MetroRailtrackGPSModel[], isReturning?: boolean) => Promise<MetroRailtrackGPSModel[]>;
6
+ findCoordinates: (routeName: string, trackIds: string[]) => Promise<IAggregatedRailtrackGPSData | null>;
7
+ saveData: (data: MetroRailtrackGPSModel[], shouldReplace?: boolean, isReturning?: boolean) => Promise<MetroRailtrackGPSModel[]>;
6
8
  }
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.MetroRailtrackGPSRepository = void 0;
16
+ const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
13
17
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
14
18
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
15
19
  const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
@@ -24,13 +28,40 @@ class MetroRailtrackGPSRepository extends models_1.PostgresModel {
24
28
  outputSequelizeAttributes: MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.attributeModel,
25
29
  savingType: "insertOnly",
26
30
  }, new golemio_validator_1.JSONSchemaValidator("MetroRailtrackGPSRepository", MetroRailtrackGPSModel_1.MetroRailtrackGPSModel.arrayJsonSchema));
27
- this.replaceData = (data, isReturning = false) => __awaiter(this, void 0, void 0, function* () {
31
+ this.findCoordinates = (routeName, trackIds) => __awaiter(this, void 0, void 0, function* () {
32
+ try {
33
+ return yield this.sequelizeModel.findOne({
34
+ attributes: [
35
+ [
36
+ sequelize_1.default.fn("json_object_agg", sequelize_1.default.col("track_id"), sequelize_1.default.fn("json_build_object", "lon", sequelize_1.default.fn("ST_X", sequelize_1.default.col("coordinates")), "lat", sequelize_1.default.fn("ST_Y", sequelize_1.default.col("coordinates")), "gtfs_stop_id", sequelize_1.default.col("gtfs_stop_id"))),
37
+ "coordinates",
38
+ ],
39
+ ],
40
+ where: {
41
+ route_name: routeName,
42
+ track_id: {
43
+ [sequelize_1.default.Op.in]: trackIds,
44
+ },
45
+ },
46
+ raw: true,
47
+ plain: true,
48
+ });
49
+ }
50
+ catch (err) {
51
+ const exception = new golemio_errors_1.CustomError(`[${this.constructor.name}] Could not find data: ${err.message}`, true, this.constructor.name, undefined, err);
52
+ helpers_1.log.error(exception);
53
+ throw exception;
54
+ }
55
+ });
56
+ this.saveData = (data, shouldReplace = true, isReturning = false) => __awaiter(this, void 0, void 0, function* () {
28
57
  var _a;
29
58
  let transaction;
30
59
  try {
31
60
  yield this.validate(data);
32
61
  transaction = yield ((_a = this.sequelizeModel.sequelize) === null || _a === void 0 ? void 0 : _a.transaction());
33
- yield this.sequelizeModel.truncate({ transaction });
62
+ if (shouldReplace) {
63
+ yield this.sequelizeModel.truncate({ transaction });
64
+ }
34
65
  const instances = yield this.sequelizeModel.bulkCreate(data, {
35
66
  ignoreDuplicates: true,
36
67
  returning: isReturning,
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mFAAkF;AAClF,6EAAuE;AACvE,2EAAoE;AACpE,yEAAqF;AACrF,oIAAiG;AACjG,gFAA4C;AAE5C,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,sBAAS,CAAC,QAAQ;YAC5B,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+CAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;QAGC,gBAAW,GAAG,CAAO,IAA8B,EAAE,WAAW,GAAG,KAAK,EAAqC,EAAE;;YAClH,IAAI,WAAoC,CAAC;YAEzC,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE1B,WAAW,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,CAAC,SAAS,0CAAE,WAAW,EAAE,CAAA,CAAC;gBACjE,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAyB,IAAI,EAAE;oBACjF,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,WAAW;oBACtB,WAAW;iBACd,CAAC,CAAC;gBAEH,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAA,CAAC;gBAC5B,OAAO,SAAS,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,4BAAW,CAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,EAAE,CAAA,CAAC;gBAC9B,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;IA/BF,CAAC;CAgCJ;AA5CD,kEA4CC"}
1
+ {"version":3,"file":"MetroRailtrackGPSRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oFAA6E;AAC7E,mFAAkF;AAClF,6EAAuE;AACvE,2EAAoE;AACpE,yEAAqF;AACrF,oIAAiG;AACjG,gFAA4C;AAG5C,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+CAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,sBAAS,CAAC,QAAQ;YAC5B,yBAAyB,EAAE,+CAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+CAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;QAGC,oBAAe,GAAG,CAAO,SAAiB,EAAE,QAAkB,EAA+C,EAAE;YAClH,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,UAAU,EAAE;wBACR;4BACI,mBAAS,CAAC,EAAE,CACR,iBAAiB,EACjB,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,EAAE,CACR,mBAAmB,EACnB,KAAK,EACL,mBAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAClD,KAAK,EACL,mBAAS,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAClD,cAAc,EACd,mBAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAChC,CACJ;4BACD,aAAa;yBAChB;qBACJ;oBACD,KAAK,EAAE;wBACH,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE;4BACN,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ;yBAC9B;qBACJ;oBACD,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,4BAAW,CAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;QAEK,aAAQ,GAAG,CACd,IAA8B,EAC9B,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,KAAK,EACc,EAAE;;YACnC,IAAI,WAAoC,CAAC;YAEzC,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE1B,WAAW,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,cAAc,CAAC,SAAS,0CAAE,WAAW,EAAE,CAAA,CAAC;gBACjE,IAAI,aAAa,EAAE;oBACf,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;iBACvD;gBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAyB,IAAI,EAAE;oBACjF,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,WAAW;oBACtB,WAAW;iBACd,CAAC,CAAC;gBAEH,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,CAAA,CAAC;gBAC5B,OAAO,SAAS,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,4BAAW,CAC7B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,EACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,EAAE,CAAA,CAAC;gBAC9B,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;IAlFF,CAAC;CAmFJ;AA/FD,kEA+FC"}
@@ -0,0 +1,11 @@
1
+ export interface IRailtrackCoordinates {
2
+ lon: number;
3
+ lat: number;
4
+ gtfs_stop_id: string | null;
5
+ }
6
+ /**
7
+ * Coordinates are aggregated by track_id
8
+ */
9
+ export interface IAggregatedRailtrackGPSData {
10
+ coordinates: Record<string, IRailtrackCoordinates> | null;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IAggregatedRailtrackGPSData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAggregatedRailtrackGPSData.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/ropid-gtfs/workers/railtrack/tasks/interfaces/IAggregatedRailtrackGPSData.ts"],"names":[],"mappings":""}
@@ -18,7 +18,7 @@ export declare class VehiclePositionsWorker extends BaseWorker {
18
18
  private tripStopsModel;
19
19
  private readonly queuePrefix;
20
20
  private gtfsRtAlertsController;
21
- private gtfsTripManager;
21
+ private gtfsTripRunManager;
22
22
  constructor();
23
23
  saveDataToDB: (msg: AMQPMessage) => Promise<void>;
24
24
  updateGTFSTripId: (msg: AMQPMessage) => Promise<void>;
@@ -62,12 +62,6 @@ export declare class VehiclePositionsWorker extends BaseWorker {
62
62
  * Create/update and process transformed run
63
63
  */
64
64
  private processTransformedRun;
65
- /**
66
- * Helper runs method to search all trips that PT link can travel
67
- *
68
- * @returns {string[]} array of tripIds
69
- */
70
- private setAndReturnScheduledTrips;
71
65
  /**
72
66
  * Get trip stops schedule by block id
73
67
  *
@@ -52,8 +52,9 @@ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator
52
52
  const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
53
53
  const turf = __importStar(require("@turf/turf"));
54
54
  const const_1 = require("../../const");
55
- const GtfsTripManager_1 = __importDefault(require("./helpers/GtfsTripManager"));
55
+ const GTFSTripRunManagerFactory_1 = require("./helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
56
56
  const PositionsManager_1 = __importDefault(require("./helpers/PositionsManager"));
57
+ const RunTripsRedisRepository_1 = require("./workers/runs/tasks/data-access/RunTripsRedisRepository");
57
58
  const models_2 = require("./models");
58
59
  const VehiclePositionsPositionsHistoryModel_1 = require("./models/VehiclePositionsPositionsHistoryModel");
59
60
  const VehiclePositionsTripsHistoryModel_1 = require("./models/VehiclePositionsTripsHistoryModel");
@@ -122,8 +123,8 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
122
123
  yield Promise.all(inputData.trips.map((trip) => {
123
124
  if (!trip.origin_route_name || !trip.sequence_id || !positionsByIds[trip.id].origin_timestamp)
124
125
  return;
125
- const timestampLast = (0, moment_timezone_1.default)(positionsByIds[trip.id].origin_timestamp).tz("Europe/Prague").format();
126
- return this.setAndReturnScheduledTrips({
126
+ const timestampLast = new Date(positionsByIds[trip.id].origin_timestamp).toISOString();
127
+ return this.gtfsTripRunManager.setAndReturnScheduledTrips({
127
128
  route_id: trip.origin_route_name,
128
129
  run_number: trip.sequence_id,
129
130
  msg_last_timestamp: timestampLast,
@@ -518,8 +519,7 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
518
519
  */
519
520
  this.updateRunsGTFSTripId = (msg) => __awaiter(this, void 0, void 0, function* () {
520
521
  const input = JSON.parse(msg.content.toString());
521
- const schedule = yield this.setAndReturnScheduledTrips(input.run);
522
- const actualStopTimestampScheduled = input.run_message.actual_stop_timestamp_scheduled;
522
+ const schedule = yield this.gtfsTripRunManager.setAndReturnScheduledTrips(input.run);
523
523
  if (schedule.length === 0) {
524
524
  if (const_1.ArrayNotPublicRegistrationNumbers.includes(input.run.registration_number)) {
525
525
  yield this.updateNotPublicRunTrip(input);
@@ -529,11 +529,11 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
529
529
  }
530
530
  return;
531
531
  }
532
- if (!actualStopTimestampScheduled) {
532
+ if (!input.run_message.actual_stop_timestamp_scheduled) {
533
533
  helpers_1.log.warn(`updateRunsGTFSTripId: actualStopTimestampScheduled is not provided for current run: ${JSON.stringify(input.run)}`);
534
534
  return;
535
535
  }
536
- const delayMsg = yield this.gtfsTripManager.generateDelayMsg(actualStopTimestampScheduled, schedule, input);
536
+ const delayMsg = yield this.gtfsTripRunManager.generateDelayMsg(schedule, input);
537
537
  // send to updateDelay only if there are some trips updated
538
538
  if (delayMsg.updatedTrips.length > 0) {
539
539
  yield this.sendMessageToExchange("workers." + this.queuePrefix + ".updateDelay", JSON.stringify(delayMsg));
@@ -577,26 +577,6 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
577
577
  }
578
578
  yield this.sendMessageToExchange("workers." + this.queuePrefix + ".updateRunsGTFSTripId", JSON.stringify(outputMsg));
579
579
  });
580
- /**
581
- * Helper runs method to search all trips that PT link can travel
582
- *
583
- * @returns {string[]} array of tripIds
584
- */
585
- this.setAndReturnScheduledTrips = (scheduleData) => __awaiter(this, void 0, void 0, function* () {
586
- const { route_id, run_number, msg_last_timestamp } = scheduleData;
587
- const scheduledTripIds = yield this.runTripsModel.get(`${route_id}_${run_number}`);
588
- if (!(scheduledTripIds === null || scheduledTripIds === void 0 ? void 0 : scheduledTripIds.schedule)) {
589
- const result = yield this.modelRuns.getScheduledTrips(route_id, run_number, msg_last_timestamp);
590
- // format time to local timezone string
591
- result.forEach((el) => {
592
- el.start_timestamp = (0, moment_timezone_1.default)(el.start_timestamp).tz("Europe/Prague").format();
593
- el.end_timestamp = (0, moment_timezone_1.default)(el.end_timestamp).tz("Europe/Prague").format();
594
- });
595
- yield this.runTripsModel.set(`${route_id}_${run_number}`, { schedule: result }, undefined, VehiclePositionsUtils_1.VehiclePositionsUtils.getNextExpireTimestamp());
596
- return result;
597
- }
598
- return scheduledTripIds.schedule;
599
- });
600
580
  /**
601
581
  * Get trip stops schedule by block id
602
582
  *
@@ -878,12 +858,7 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
878
858
  isKeyConstructedFromData: true,
879
859
  prefix: ropid_gtfs_1.RopidGTFS.delayComputationTrips.mongoCollectionName,
880
860
  }, new golemio_validator_1.Validator(ropid_gtfs_1.RopidGTFS.delayComputationTrips.name + "ModelValidator", ropid_gtfs_1.RopidGTFS.delayComputationTrips.outputMongooseSchemaObject));
881
- this.runTripsModel = new models_1.RedisModel(vehicle_positions_1.VehiclePositions.runsTrips.name + "Model", {
882
- decodeDataAfterGet: JSON.parse,
883
- encodeDataBeforeSave: JSON.stringify,
884
- isKeyConstructedFromData: false,
885
- prefix: vehicle_positions_1.VehiclePositions.runsTrips.namespacePrefix,
886
- }, new golemio_validator_1.Validator(vehicle_positions_1.VehiclePositions.runsTrips.name + "ModelValidator", vehicle_positions_1.VehiclePositions.runsTrips.outputMongooseSchemaObject));
861
+ this.runTripsModel = new RunTripsRedisRepository_1.RunTripsRedisRepository();
887
862
  this.queuePrefix = config_1.config.RABBIT_EXCHANGE_NAME + "." + vehicle_positions_1.VehiclePositions.name.toLowerCase();
888
863
  this.gtfsRtModel = new models_1.RedisModel("GTFSRealTimeModel", {
889
864
  isKeyConstructedFromData: false,
@@ -898,7 +873,7 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
898
873
  this.modelGTFSTrips = new RopidGTFSTripsModel_1.RopidGTFSTripsModel();
899
874
  this.modelGTFSStopTimes = new RopidGTFSStopTimesModel_1.RopidGTFSStopTimesModel();
900
875
  this.gtfsRtAlertsController = new GtfsRtAlertsController_1.GtfsRtAlertsController(this.gtfsRtModel, new ropid_vymi_1.RopidVYMIEventsModel(), new GtfsRtAlertTransformation_1.GtfsRtAlertTransformation(new ropid_vymi_1.RopidVYMIEventsRoutesModel()));
901
- this.gtfsTripManager = new GtfsTripManager_1.default(this.modelPositions, this.modelTrips);
876
+ this.gtfsTripRunManager = GTFSTripRunManagerFactory_1.GTFSTripRunManagerFactory.create(GTFSTripRunManagerFactory_1.GTFSTripRunType.Common, this.modelPositions, this.modelTrips, this.modelRuns, this.runTripsModel);
902
877
  }
903
878
  }
904
879
  exports.VehiclePositionsWorker = VehiclePositionsWorker;