@golemio/pid 2.6.5-dev.834035052 → 2.6.6

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 (70) hide show
  1. package/db/example/00_clear_test_data.sql +4 -4
  2. package/db/example/03_ropidgtfs_dump.sql +1 -10
  3. package/db/example/14_nightDelays.sql +8 -16
  4. package/db/example/99_precomputed_tables.sql +169 -0
  5. package/db/migrations/postgresql/sqls/20220915123941-partitioned-departures-down.sql +0 -2
  6. package/db/migrations/postgresql/sqls/20230307124639-positions-internal-down.sql +1 -1
  7. package/dist/integration-engine/queueDefinitions.js +0 -10
  8. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +7 -13
  10. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +45 -50
  11. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.d.ts +19 -0
  13. package/dist/integration-engine/ropid-gtfs/{data-access/precomputed/MinMaxStopSequencesRepository.js → RopidGTFSMinMaxSequencesModel.js} +33 -34
  14. package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.js.map +1 -0
  15. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +21 -0
  16. package/dist/integration-engine/ropid-gtfs/{data-access/precomputed/TripScheduleRepository.js → RopidGTFSScheduledTripsModel.js} +26 -27
  17. package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +1 -0
  18. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.d.ts +19 -0
  19. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js +142 -0
  20. package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js.map +1 -0
  21. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.d.ts +3 -4
  22. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +18 -50
  23. package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
  24. package/dist/integration-engine/ropid-gtfs/data-access/{precomputed/DeparturesRepository.d.ts → DeparturesRepository.d.ts} +1 -2
  25. package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js +162 -0
  26. package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js.map +1 -0
  27. package/dist/integration-engine/ropid-gtfs/data-access/index.d.ts +1 -0
  28. package/dist/integration-engine/ropid-gtfs/data-access/{precomputed/index.js → index.js} +0 -3
  29. package/dist/integration-engine/ropid-gtfs/data-access/index.js.map +1 -0
  30. package/dist/integration-engine/ropid-gtfs/index.d.ts +3 -0
  31. package/dist/integration-engine/ropid-gtfs/index.js +3 -0
  32. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  33. package/dist/integration-engine/ropid-gtfs/utils.js +4 -5
  34. package/dist/integration-engine/ropid-gtfs/utils.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +3 -3
  37. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +18 -18
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  40. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +1 -1
  41. package/dist/output-gateway/pid/data-access/DeparturesRepository.js +6 -0
  42. package/dist/output-gateway/pid/data-access/DeparturesRepository.js.map +1 -1
  43. package/dist/output-gateway/pid/middleware/checkTimeFromMiddleware.js +2 -2
  44. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -3
  45. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +15 -15
  46. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  47. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +1 -0
  48. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +18 -5
  49. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
  50. package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +1 -0
  51. package/docs/implementation_documentation.md +10 -30
  52. package/docs/openapi-output.yaml +1 -1
  53. package/package.json +3 -4
  54. package/db/migrations/postgresql/20230327121511-departure-view.js +0 -53
  55. package/db/migrations/postgresql/sqls/20230327121511-departure-view-down.sql +0 -81
  56. package/db/migrations/postgresql/sqls/20230327121511-departure-view-up.sql +0 -37
  57. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +0 -132
  58. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +0 -1
  59. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +0 -9
  60. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +0 -1
  61. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +0 -9
  62. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +0 -135
  63. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +0 -1
  64. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +0 -11
  65. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +0 -1
  66. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.d.ts +0 -4
  67. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.js.map +0 -1
  68. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.d.ts +0 -5
  69. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js +0 -10
  70. package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js.map +0 -1
@@ -25,10 +25,10 @@ TRUNCATE
25
25
  "vehiclepositions_metro_runs_messages",
26
26
  "vehiclepositions_vehicle_descriptors",
27
27
  "ropid_departures_directions",
28
- "ropidgtfs_precomputed_trip_schedule_actual",
29
- "ropidgtfs_precomputed_services_calendar_actual",
30
- "ropidgtfs_precomputed_minmax_stop_sequences_actual",
31
- "ropidgtfs_precomputed_departures";
28
+ "ropidgtfs_scheduled_trips_actual",
29
+ "ropidgtfs_services_first14days_actual",
30
+ "ropidgtfs_trips_minmaxsequences_actual",
31
+ "ropidgtfs_departures";
32
32
 
33
33
  ALTER SEQUENCE ropid_departures_directions_id_seq RESTART;
34
34
  ALTER SEQUENCE ropid_departures_presets_id_seq RESTART;
@@ -4,9 +4,7 @@ INSERT INTO ropidgtfs_agency_actual (agency_fare_url, agency_id, agency_lang, ag
4
4
 
5
5
  WITH init_values AS (SELECT NOW()::DATE AS now_date)
6
6
  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)
7
- VALUES
8
- (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'), 1, 1, 1, '1111111-1', TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'), 1, 1, 1, 1, NULL, '2019-05-27 03:20:15.632+00', NULL, NULL, '2019-05-27 03:20:15.632+00', NULL),
9
- (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'), 1, 1, 1, '1111100-1', TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'), 1, 1, 1, 1, -1, '2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL);
7
+ VALUES (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'), 1, 1, 1, '1111111-1', TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'), 1, 1, 1, 1, NULL, '2019-05-27 03:20:15.632+00', NULL, NULL, '2019-05-27 03:20:15.632+00', NULL);
10
8
 
11
9
  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)
12
10
  VALUES ('99', '0', '0', '0', '00A562', NULL, 'L991', 'Nemocnice Motol - Petřiny - Skalka - Depo Hostivař', 'A', 'FFFFFF', '1', 'https://pid.cz/linka/A', NULL, '2019-05-27 03:20:15.738+00', NULL, NULL, '2019-05-27 03:20:15.738+00', NULL);
@@ -537,13 +535,6 @@ INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id",
537
535
  VALUES
538
536
  (E'L991',1,E'1111100-1',E'991_1_210419',3,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
539
537
 
540
- INSERT INTO ropidgtfs_trips_actual (trip_id,bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
541
- ('991_1_210419',1,NULL,0,0,'L991','0000001-1','L991V2','Nemocnice Motol',NULL,NULL,1,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
542
-
543
- INSERT INTO ropidgtfs_stop_times_actual (trip_id,stop_sequence,arrival_time,arrival_time_seconds,departure_time,departure_time_seconds,drop_off_type,pickup_type,shape_dist_traveled,stop_headsign,stop_id,timepoint,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
544
- ('991_1_210419',1,'22:45:10',NULL,'22:45:10',NULL,'0','0',0.0,NULL,'U476Z102P',NULL,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL),
545
- ('991_1_210419',2,'22:46:20',NULL,'22:46:50',NULL,'0','0',0.80665,NULL,'U400Z102P',NULL,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
546
-
547
538
  -- <<<
548
539
 
549
540
 
@@ -4,26 +4,18 @@ update vehiclepositions_trips set gtfs_date = TO_TIMESTAMP(start_timestamp/1000)
4
4
  /* test data for night delay */
5
5
  INSERT INTO vehiclepositions_trips
6
6
  (cis_line_id, cis_trip_number, run_number, 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, last_position_context, internal_run_number, internal_route_name,gtfs_date)
7
- VALUES(NULL, NULL, 65, NULL, '2023-03-21 00:00:15.399', 'L94', '94', '94_979_230320', '2023-03-21T01:30:00+01:00_94_979_230320_8388', '2023-03-21 02:44:25.833', NULL, NULL, '01:30:00', 1679358600000, 6, false, NULL, NULL, NULL, NULL, 'DP PRAHA', '94', 'DP PRAHA', 8388, 'Sídliště Barrandov', NULL, 0, NULL, 554214346, NULL, 1679362800000, NULL, NULL, 65, '94',current_date - interval '1 day');
7
+ VALUES(NULL, NULL, 65, NULL, '2023-03-21 00:00:15.399', 'L94', '94', '94_979_230320', '2023-03-21T01:30:00+01:00_94_979_230320_8388', '2023-03-21 02:44:25.833', NULL, NULL, '01:30:00', 1679358600000, 6, false, NULL, NULL, NULL, NULL, 'DP PRAHA', '94', 'DP PRAHA', 8388, 'Sídliště Barrandov', NULL, 0, NULL, 554214346, NULL, 1679362800000, NULL, NULL, 65, '94','2023-03-20');
8
8
 
9
9
  INSERT INTO vehiclepositions_positions
10
10
  (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, scheduled_timestamp)
11
- VALUES('2023-03-21 02:44:25.787', 10, NULL, NULL, 'U1019Z2P', 22.263, NULL, 50.03141, 14.36749, '02:44:20', 1679363060000, 2, '2023-03-21T01:30:00+01:00_94_979_230320_8388', NULL, NULL, NULL, '2023-03-21 02:44:25.822', NULL, 554214346, 257, NULL, NULL, 'U1019Z2P', 8, 8, NULL, 1679362800000, 1679362800000, 1679362800000, 1679362800000, '10190002', 'processed', 'on_track', '10190002', NULL, 'V', NULL, 'Sídliště Barrandov', NULL, NULL, NULL, 1679362800000);
11
+ VALUES('2023-03-21 02:44:25.787', 10, NULL, NULL, 'U1019Z2P', 22.263, NULL, 50.03141, 14.36749, '02:44:20', 1679363060000, 2, '2023-03-21T01:30:00+01:00_94_979_230320_8388', NULL, NULL, NULL, '2023-03-21 02:44:25.822', NULL, 554214346, 257, NULL, NULL, 'U1019Z2P', 8, 8, NULL, 1679362800000, 1679362800000, 1679362800000, 1679362800000, '10190002', 'processed', 'on_track', '10190002', NULL, 'V', NULL, 'Sídliště Barrandov', NULL, NULL, 1679363360000, 1679362800000);
12
12
 
13
- WITH init_values AS (SELECT NOW()::DATE AS now_date)
14
- 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
15
- (TO_CHAR((SELECT now_date FROM init_values)+INTERVAL '7 days','YYYYMMDD'),1,1,1,'1111111-3',TO_CHAR((SELECT now_date FROM init_values)-INTERVAL '1 days','YYYYMMDD'),1,1,1,1,-1,'2022-10-24 10:18:51.362+02',NULL,-1,'2022-10-24 10:18:51.362+02',NULL);
13
+ select departure_part('U873', split_part(current_setting('search_path'), ',', 1));
16
14
 
17
- INSERT INTO ropidgtfs_stops_actual
15
+ INSERT INTO ropidgtfs_departures
16
+ (stop_sequence, stop_headsign, pickup_type, drop_off_type, arrival_time, arrival_datetime, departure_time, departure_datetime, stop_id, stop_name, platform_code, wheelchair_boarding, min_stop_sequence, max_stop_sequence, trip_id, trip_headsign, trip_short_name, wheelchair_accessible, service_id, "date", route_short_name, route_type, route_id, is_night, is_regional, is_substitute_transport, next_stop_sequence, next_stop_id, last_stop_sequence, last_stop_id, part_index)
17
+ VALUES(8, NULL, '3', '3', '25:38:00', '2023-03-21 01:38:00.000', '25:38:00', '2023-03-21 01:38:00.000', 'U873Z1P', 'Poštovská', 'A', 1, 1, 47, '94_979_230320', 'Sídliště Barrandov', NULL, 2, '1111111-3', '2023-03-20', '94', '0', 'L94', '1', '0', '0', 9, 'U1052Z1P', 7, 'U75Z1P', 'U873');
18
+
19
+ INSERT INTO ropidgtfs_stops
18
20
  (location_type, parent_station, platform_code, stop_id, stop_lat, stop_lon, stop_name, stop_url, wheelchair_boarding, zone_id, create_batch_id, created_at, created_by, update_batch_id, updated_at, updated_by, level_id, stop_code, stop_desc, stop_timezone, asw_node_id, asw_stop_id)
19
21
  VALUES(0, NULL, 'A', 'U873Z1P', 50.110622, 14.508335, 'Poštovská', NULL, 1, 'P', NULL, '2023-03-21 05:47:11.042', NULL, NULL, '2023-03-21 05:47:11.042', NULL, NULL, NULL, NULL, NULL, 873, 1);
20
-
21
- 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
22
- ('25:38:00',NULL,'25:38:00',NULL,'3','3',0.0,NULL,'U873Z1P',8,NULL,'94_979_230320',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL),
23
- ('25:39:00',NULL,'25:39:00',NULL,'3','3',0.0,NULL,NULL,9,NULL,'94_979_230320',-1,'2022-10-24 10:21:13.104+02',NULL,-1,'2022-10-24 10:21:13.104+02',NULL);
24
-
25
- 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
26
- ('99','0','0','0','00A562',NULL,'L94','Dummy','94','FFFFFF','1','',-1,'2022-10-24 10:18:51.722+02',NULL,-1,'2022-10-24 10:18:51.722+02',NULL);
27
-
28
- 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
29
- (1,NULL,1,0,'L94','1111111-3','L94VX','Sídliště Barrandov','94_979_230320',NULL,NULL,1,-1,'2022-10-24 10:22:47.459+02',NULL,-1,'2022-10-24 10:22:47.459+02',NULL);
@@ -0,0 +1,169 @@
1
+ INSERT INTO ropidgtfs_services_first14days_actual
2
+ SELECT dates.date,
3
+ (date_part('day'::text, ((dates.date)::timestamp without time zone - (to_char(timezone('Europe/Prague'::text, now()), 'YYYY-MM-DD'::text))::timestamp without time zone)))::integer AS day_diff,
4
+ ropidgtfs_calendar.service_id
5
+ FROM (( SELECT (date_trunc('day'::text, dd.dd))::date AS date
6
+ FROM generate_series(((( SELECT (CURRENT_TIMESTAMP - '1 day'::interval)))::date)::timestamp with time zone, ((( SELECT (CURRENT_TIMESTAMP + '12 days'::interval)))::date)::timestamp with time zone, '1 day'::interval) dd(dd)) dates
7
+ JOIN ropidgtfs_calendar ON ((1 = 1)))
8
+ WHERE (((dates.date >= (ropidgtfs_calendar.start_date)::date) AND (dates.date <= (ropidgtfs_calendar.end_date)::date) AND (((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'monday'::text) AND (ropidgtfs_calendar.monday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'tuesday'::text) AND (ropidgtfs_calendar.tuesday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'wednesday'::text) AND (ropidgtfs_calendar.wednesday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'thursday'::text) AND (ropidgtfs_calendar.thursday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'friday'::text) AND (ropidgtfs_calendar.friday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'saturday'::text) AND (ropidgtfs_calendar.saturday = 1)) OR ((btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'sunday'::text) AND (ropidgtfs_calendar.sunday = 1))) AND (NOT ((ropidgtfs_calendar.service_id)::text IN ( SELECT ropidgtfs_calendar_dates.service_id
9
+ FROM ropidgtfs_calendar_dates
10
+ WHERE ((ropidgtfs_calendar_dates.exception_type = 2) AND (dates.date = (ropidgtfs_calendar_dates.date)::date)))))) OR ((ropidgtfs_calendar.service_id)::text IN ( SELECT ropidgtfs_calendar_dates.service_id
11
+ FROM ropidgtfs_calendar_dates
12
+ WHERE ((ropidgtfs_calendar_dates.exception_type = 1) AND (dates.date = (ropidgtfs_calendar_dates.date)::date)))))
13
+ ORDER BY dates.date;
14
+
15
+
16
+ INSERT INTO ropidgtfs_trips_minmaxsequences_actual
17
+ SELECT ropidgtfs_stop_times.trip_id,
18
+ max(ropidgtfs_stop_times.stop_sequence) AS max_stop_sequence,
19
+ min(ropidgtfs_stop_times.stop_sequence) AS min_stop_sequence,
20
+ (GREATEST(max((ropidgtfs_stop_times.arrival_time)::interval), max((ropidgtfs_stop_times.departure_time)::interval)))::text AS max_stop_time,
21
+ (LEAST(min((ropidgtfs_stop_times.arrival_time)::interval), min((ropidgtfs_stop_times.departure_time)::interval)))::text AS min_stop_time
22
+ FROM ropidgtfs_stop_times
23
+ GROUP BY ropidgtfs_stop_times.trip_id;
24
+
25
+ SELECT departure_part(part_index, split_part(current_setting('search_path'), ',', 1)) FROM
26
+ (SELECT DISTINCT left(stop_id, 4) part_index FROM ropidgtfs_stops) as parts;
27
+
28
+ INSERT INTO ropidgtfs_departures
29
+ SELECT t.stop_sequence,
30
+ t.stop_headsign,
31
+ t.pickup_type,
32
+ t.drop_off_type,
33
+ t.arrival_time,
34
+ CASE
35
+ WHEN (date_part('hour'::text, (t.arrival_time)::interval) > (23)::double precision) THEN make_timestamptz((date_part('year'::text, (t4.date + '1 day'::interval)))::integer, (date_part('month'::text, (t4.date + '1 day'::interval)))::integer, (date_part('day'::text, (t4.date + '1 day'::interval)))::integer, ((date_part('hour'::text, (t.arrival_time)::interval))::integer - 24), (date_part('minute'::text, (t.arrival_time)::interval))::integer, date_part('second'::text, (t.arrival_time)::interval), 'Europe/Prague'::text)
36
+ ELSE make_timestamptz((date_part('year'::text, t4.date))::integer, (date_part('month'::text, t4.date))::integer, (date_part('day'::text, t4.date))::integer, (date_part('hour'::text, (t.arrival_time)::interval))::integer, (date_part('minute'::text, (t.arrival_time)::interval))::integer, date_part('second'::text, (t.arrival_time)::interval), 'Europe/Prague'::text)
37
+ END AS arrival_datetime,
38
+ t.departure_time,
39
+ CASE
40
+ WHEN (date_part('hour'::text, (t.departure_time)::interval) > (23)::double precision) THEN make_timestamptz((date_part('year'::text, (t4.date + '1 day'::interval)))::integer, (date_part('month'::text, (t4.date + '1 day'::interval)))::integer, (date_part('day'::text, (t4.date + '1 day'::interval)))::integer, ((date_part('hour'::text, (t.departure_time)::interval))::integer - 24), (date_part('minute'::text, (t.departure_time)::interval))::integer, date_part('second'::text, (t.departure_time)::interval), 'Europe/Prague'::text)
41
+ ELSE make_timestamptz((date_part('year'::text, t4.date))::integer, (date_part('month'::text, t4.date))::integer, (date_part('day'::text, t4.date))::integer, (date_part('hour'::text, (t.departure_time)::interval))::integer, (date_part('minute'::text, (t.departure_time)::interval))::integer, date_part('second'::text, (t.departure_time)::interval), 'Europe/Prague'::text)
42
+ END AS departure_datetime,
43
+ t0.stop_id,
44
+ t0.stop_name,
45
+ t0.platform_code,
46
+ t0.wheelchair_boarding,
47
+ t1.min_stop_sequence,
48
+ t1.max_stop_sequence,
49
+ t2.trip_id,
50
+ t2.trip_headsign,
51
+ t2.trip_short_name,
52
+ t2.wheelchair_accessible,
53
+ t3.service_id,
54
+ t4.date,
55
+ t5.route_short_name,
56
+ t5.route_type,
57
+ t5.route_id,
58
+ t5.is_night,
59
+ t5.is_regional,
60
+ t5.is_substitute_transport,
61
+ t6.stop_sequence AS next_stop_sequence,
62
+ t6.stop_id AS next_stop_id,
63
+ t7.stop_sequence AS last_stop_sequence,
64
+ t7.stop_id AS last_stop_id,
65
+ left(t0.stop_id, 4) AS part_index
66
+ FROM ((((((((ropidgtfs_stop_times t
67
+ LEFT JOIN ropidgtfs_stops t0 ON (((t.stop_id)::text = (t0.stop_id)::text)))
68
+ LEFT JOIN ropidgtfs_trips t2 ON (((t.trip_id)::text = (t2.trip_id)::text)))
69
+ JOIN ropidgtfs_services_first14days t4 ON (((t2.service_id)::text = (t4.service_id)::text)))
70
+ LEFT JOIN ropidgtfs_trips_minmaxsequences t1 ON (((t.trip_id)::text = (t1.trip_id)::text)))
71
+ LEFT JOIN ropidgtfs_calendar t3 ON (((t2.service_id)::text = (t3.service_id)::text)))
72
+ LEFT JOIN ropidgtfs_routes t5 ON (((t2.route_id)::text = (t5.route_id)::text)))
73
+ LEFT JOIN ropidgtfs_stop_times t6 ON ((((t.trip_id)::text = (t6.trip_id)::text) AND (t6.stop_sequence = (t.stop_sequence + 1)))))
74
+ LEFT JOIN ropidgtfs_stop_times t7 ON ((((t.trip_id)::text = (t7.trip_id)::text) AND (t7.stop_sequence = (t.stop_sequence - 1)))))
75
+ WHERE t0.stop_id IS NOT NULL;
76
+
77
+ INSERT INTO ropidgtfs_scheduled_trips_actual
78
+ SELECT
79
+ t0.origin_route_id,
80
+ t0.trip_id,
81
+ t0.service_id,
82
+ t0.run_number,
83
+ t0.date,
84
+ t0.route_id,
85
+ t0.route_type,
86
+ t0.route_short_name,
87
+ t0.is_regional,
88
+ t0.is_substitute_transport,
89
+ t0.is_night,
90
+ t0.trip_headsign,
91
+ t0.trip_short_name,
92
+ t0.block_id,
93
+ t0.exceptional,
94
+ t0.min_stop_time,
95
+ t0.max_stop_time,
96
+ CASE
97
+ WHEN EXTRACT(HOUR FROM t0.min_stop_time) > 23
98
+ THEN make_timestamptz(
99
+ DATE_PART('year', t0.date + INTERVAL '1 day')::INT,
100
+ DATE_PART('month', t0.date + INTERVAL '1 day')::INT,
101
+ DATE_PART('day', t0.date + INTERVAL '1 day')::INT,
102
+ DATE_PART('hour', t0.min_stop_time)::INT - 24,
103
+ DATE_PART('minute', t0.min_stop_time)::INT,
104
+ DATE_PART('second', t0.min_stop_time),
105
+ 'Europe/Prague'
106
+ )
107
+ ELSE make_timestamptz(
108
+ DATE_PART('year', t0.date)::INT,
109
+ DATE_PART('month', t0.date)::INT,
110
+ DATE_PART('day', t0.date)::INT,
111
+ DATE_PART('hour', t0.min_stop_time)::INT,
112
+ DATE_PART('minute', t0.min_stop_time)::INT,
113
+ DATE_PART('second', t0.min_stop_time),
114
+ 'Europe/Prague'
115
+ )
116
+ END as start_timestamp,
117
+ CASE
118
+ WHEN EXTRACT(HOUR FROM t0.max_stop_time) > 23
119
+ THEN make_timestamptz(
120
+ DATE_PART('year', t0.date + INTERVAL '1 day')::INT,
121
+ DATE_PART('month', t0.date + INTERVAL '1 day')::INT,
122
+ DATE_PART('day', t0.date + INTERVAL '1 day')::INT,
123
+ DATE_PART('hour', t0.max_stop_time)::INT - 24,
124
+ DATE_PART('minute', t0.max_stop_time)::INT,
125
+ DATE_PART('second', t0.max_stop_time),
126
+ 'Europe/Prague'
127
+ )
128
+ ELSE make_timestamptz(
129
+ DATE_PART('year', t0.date)::INT,
130
+ DATE_PART('month', t0.date)::INT,
131
+ DATE_PART('day', t0.date)::INT,
132
+ DATE_PART('hour', t0.max_stop_time)::INT,
133
+ DATE_PART('minute', t0.max_stop_time)::INT,
134
+ DATE_PART('second', t0.max_stop_time),
135
+ 'Europe/Prague'
136
+ )
137
+ END as end_timestamp,
138
+ t0.first_stop_id,
139
+ t0.last_stop_id,
140
+ right(t0.origin_route_id, -1) as origin_route_name
141
+ FROM (
142
+ SELECT
143
+ t1.route_id AS origin_route_id,
144
+ t1.trip_id,
145
+ t1.service_id,
146
+ t1.run_number,
147
+ t3.date,
148
+ t7.route_id,
149
+ t7.route_type,
150
+ t7.route_short_name,
151
+ t7.is_regional,
152
+ t7.is_substitute_transport,
153
+ t7.is_night,
154
+ t8.trip_headsign,
155
+ t8.trip_short_name,
156
+ t8.block_id,
157
+ t8.exceptional,
158
+ LEAST(t5.arrival_time::INTERVAL, t5.departure_time::INTERVAL) AS min_stop_time,
159
+ GREATEST(t6.arrival_time::INTERVAL, t6.departure_time::INTERVAL) AS max_stop_time,
160
+ t5.stop_id AS first_stop_id,
161
+ t6.stop_id AS last_stop_id
162
+ FROM ropidgtfs_run_numbers t1
163
+ LEFT JOIN ropidgtfs_services_first14days t3 ON t1.service_id = t3.service_id
164
+ LEFT JOIN ropidgtfs_trips_minmaxsequences t4 ON t1.trip_id = t4.trip_id
165
+ LEFT OUTER JOIN ropidgtfs_stop_times t5 ON t1.trip_id = t5.trip_id AND t5.stop_sequence = t4.min_stop_sequence
166
+ LEFT OUTER JOIN ropidgtfs_stop_times t6 ON t1.trip_id = t6.trip_id AND t6.stop_sequence = t4.max_stop_sequence
167
+ LEFT JOIN ropidgtfs_trips t8 ON t1.trip_id = t8.trip_id
168
+ LEFT JOIN ropidgtfs_routes t7 ON t8.route_id = t7.route_id
169
+ ) t0;
@@ -37,5 +37,3 @@ CREATE INDEX ropidgtfs_departures_stop_id_idx ON ropidgtfs_departures_actual USI
37
37
  CREATE UNIQUE INDEX ropidgtfs_departures_unique_id ON ropidgtfs_departures_actual USING btree (service_id, date, trip_id, stop_sequence);
38
38
 
39
39
  ALTER TABLE ropidgtfs_departures_actual INHERIT ropidgtfs_departures;
40
-
41
- DROP FUNCTION departure_part (text, text, boolean);
@@ -18,4 +18,4 @@ ALTER TABLE vehiclepositions_trips_history
18
18
  ALTER TABLE ropidgtfs_scheduled_trips
19
19
  DROP COLUMN origin_route_name;
20
20
 
21
- DROP INDEX IF EXISTS ropidgtfs_departures_start_timestamp_idx;
21
+ DROP INDEX ropidgtfs_departures_start_timestamp_idx;
@@ -53,16 +53,6 @@ const queueDefinitions = [
53
53
  worker: RopidGTFSWorker_1.RopidGTFSWorker,
54
54
  workerMethod: "checkSavedRowsAndReplaceTables",
55
55
  },
56
- {
57
- name: "refreshPrecomputedTables",
58
- options: {
59
- deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
60
- deadLetterRoutingKey: "dead",
61
- messageTtl: 59 * 60 * 1000, // 59 minutes
62
- },
63
- worker: RopidGTFSWorker_1.RopidGTFSWorker,
64
- workerMethod: "refreshPrecomputedTables",
65
- },
66
56
  {
67
57
  name: "checkForNewDeparturesPresets",
68
58
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AACjE,iEAA4C;AAC5C,yEAAsE;AAGtE;;GAEG;AACH,MAAM,gBAAgB,GAAuB;IACzC,+BAA+B;IAC/B;QACI,IAAI,EAAE,sBAAS,CAAC,IAAI;QACpB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC7E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,sBAAsB;aACvC;YACD;gBACI,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,gCAAgC;aACjD;YACD;gBACI,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,0BAA0B;aAC3C;YACD;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,8BAA8B;aAC/C;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,2BAA2B;aAC5C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
1
+ {"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,kEAAiE;AACjE,iEAA4C;AAC5C,yEAAsE;AAGtE;;GAEG;AACH,MAAM,gBAAgB,GAAuB;IACzC,+BAA+B;IAC/B;QACI,IAAI,EAAE,sBAAS,CAAC,IAAI;QACpB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE;QAC7E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,iBAAiB;aAClC;YACD;gBACI,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;iBAC5C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,kBAAkB;aACnC;YACD;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,sBAAsB;aACvC;YACD;gBACI,IAAI,EAAE,gCAAgC;gBACtC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;iBAC/C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,gCAAgC;aACjD;YACD;gBACI,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,8BAA8B;aAC/C;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,iCAAe;gBACvB,YAAY,EAAE,2BAA2B;aAC5C;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
@@ -1,9 +1,5 @@
1
- import { MetaStateEnum, RopidMetadataModel } from "../shared";
2
- import { Model, Transaction } from "@golemio/core/dist/shared/sequelize";
3
- interface IMetadataTable {
4
- key: string;
5
- tn: string;
6
- }
1
+ import Sequelize from "@golemio/core/dist/shared/sequelize";
2
+ import { RopidMetadataModel, MetaStateEnum } from "../shared";
7
3
  export declare enum DatasetEnum {
8
4
  PID_GTFS = "PID_GTFS",
9
5
  CIS_STOPS = "CIS_STOPS",
@@ -12,11 +8,11 @@ export declare enum DatasetEnum {
12
8
  DEPARTURES_PRESETS = "DEPARTURES_PRESETS"
13
9
  }
14
10
  export declare class RopidGTFSMetadataModel extends RopidMetadataModel {
15
- /** Precomputed data repositories */
11
+ /** Precomputed data models */
16
12
  private departuresRepository;
17
- private minMaxStopSequencesRepository;
18
- private tripScheduleRepository;
19
- private servicesCalendarRepository;
13
+ private ropidGTFSMinMaxSequencesModel;
14
+ private ropidGTFSScheduledTripsModel;
15
+ private ropidGTFSServicesFirst14daysModel;
20
16
  constructor();
21
17
  checkSavedTmpTables: (dataset: string, version: number) => Promise<void>;
22
18
  checkAllTablesHasSavedState: (datasets: Array<{
@@ -30,7 +26,5 @@ export declare class RopidGTFSMetadataModel extends RopidMetadataModel {
30
26
  }>) => Promise<boolean>;
31
27
  updateState: (dataset: string, name: string, state: MetaStateEnum, version: number) => Promise<any>;
32
28
  getNumberOfDownloadRetries: (dataset: string, version: number) => Promise<number>;
33
- replaceStaticTables: (tables: Array<Model<IMetadataTable>>, t: Transaction) => Promise<void>;
34
- replacePrecomputedTables: (t: Transaction) => Promise<void>;
29
+ replacePrecomputedTmpTables: (t: Sequelize.Transaction) => Promise<any>;
35
30
  }
36
- export {};
@@ -13,15 +13,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RopidGTFSMetadataModel = exports.DatasetEnum = void 0;
16
- const precomputed_1 = require("./data-access/precomputed");
17
- const utils_1 = require("./utils");
18
- const shared_1 = require("../shared");
19
- const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
20
- const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
21
- const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
22
16
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
23
17
  const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
24
- const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
18
+ const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
19
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
20
+ const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
21
+ const shared_1 = require("../shared");
22
+ const data_access_1 = require("./data-access");
23
+ const RopidGTFSMinMaxSequencesModel_1 = require("./RopidGTFSMinMaxSequencesModel");
24
+ const RopidGTFSScheduledTripsModel_1 = require("./RopidGTFSScheduledTripsModel");
25
+ const RopidGTFSServicesFirst14daysModel_1 = require("./RopidGTFSServicesFirst14daysModel");
26
+ const utils_1 = require("./utils");
25
27
  var DatasetEnum;
26
28
  (function (DatasetEnum) {
27
29
  DatasetEnum["PID_GTFS"] = "PID_GTFS";
@@ -45,7 +47,7 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
45
47
  });
46
48
  const tablesArray = [];
47
49
  tables.map((table) => {
48
- tablesArray.push(`'${ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}'`);
50
+ tablesArray.push(`'${ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName}_tmp'`);
49
51
  });
50
52
  const result = yield this.sequelizeModel.sequelize.query(`
51
53
  SELECT table_name AS name, count_rows(table_schema, table_name) AS total
@@ -101,8 +103,33 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
101
103
  })),
102
104
  },
103
105
  });
104
- yield this.replaceStaticTables(tables, t);
105
- yield this.replacePrecomputedTables(t);
106
+ const promises = tables.map((table) => __awaiter(this, void 0, void 0, function* () {
107
+ const pgTableName = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName;
108
+ helpers_1.log.info(`Datasets: replacing table ${pgTableName}`);
109
+ const tableNameActual = pgTableName + "_actual";
110
+ const tableNameTmp = pgTableName + "_tmp";
111
+ const indexQuery = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions
112
+ ? (0, utils_1.buildAlterIndexQuery)(ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions)
113
+ : "";
114
+ return connection.query(`
115
+ LOCK "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName} IN EXCLUSIVE MODE;
116
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} NO INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
117
+ DROP TABLE IF EXISTS "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual};
118
+ ${indexQuery}
119
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} RENAME TO ${tableNameActual};
120
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD create_batch_id int8 NULL;
121
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD COLUMN created_at timestamptz NULL DEFAULT now();
122
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD created_by varchar(150) NULL;
123
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD update_batch_id int8 NULL;
124
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD COLUMN updated_at timestamptz NULL DEFAULT now();
125
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} ADD updated_by varchar(150) NULL;
126
+ ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
127
+ `, { transaction: t });
128
+ }));
129
+ yield Promise.all(promises);
130
+ helpers_1.log.info(`Datasets: replacing tmp tables finished`);
131
+ yield this.replacePrecomputedTmpTables(t);
132
+ helpers_1.log.info(`Datasets: replacing precomputed tables finished`);
106
133
  // save meta
107
134
  yield this.sequelizeModel.bulkCreate(datasetInfo.map((el) => ({
108
135
  dataset: el.dataset,
@@ -167,48 +194,16 @@ class RopidGTFSMetadataModel extends shared_1.RopidMetadataModel {
167
194
  }
168
195
  return +numberOfRetries.dataValues.retries;
169
196
  });
170
- this.replaceStaticTables = (tables, t) => __awaiter(this, void 0, void 0, function* () {
171
- const connection = connectors_1.PostgresConnector.getConnection();
172
- for (const table of tables) {
173
- const pgTableName = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName;
174
- helpers_1.log.info(`Datasets: replacing table ${pgTableName}`);
175
- const tableNameActual = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Actual;
176
- const tableNameTmp = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp;
177
- const tableNameDrop = pgTableName + SourceTableSuffixEnum_1.SourceTableSuffixEnum.Drop;
178
- const indexQuery = ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions
179
- ? (0, utils_1.buildAlterIndexQuery)(ropid_gtfs_1.RopidGTFS[table.dataValues.tn].modelIndexOptions)
180
- : "";
181
- yield connection.query(`
182
- LOCK "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName} IN EXCLUSIVE MODE;
183
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} NO INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
184
- ${indexQuery}
185
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD create_batch_id int8 NULL;
186
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD COLUMN created_at timestamptz NULL DEFAULT now();
187
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD created_by varchar(150) NULL;
188
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD update_batch_id int8 NULL;
189
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD COLUMN updated_at timestamptz NULL DEFAULT now();
190
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} ADD updated_by varchar(150) NULL;
191
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} RENAME TO ${tableNameDrop};
192
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} RENAME TO ${tableNameActual};
193
- ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
194
- DROP TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameDrop};
195
- `, { transaction: t });
196
- }
197
- });
198
- this.replacePrecomputedTables = (t) => __awaiter(this, void 0, void 0, function* () {
199
- helpers_1.log.info(`Datasets: replacing table ${this.servicesCalendarRepository["tableName"]}`);
200
- yield this.servicesCalendarRepository.replaceByTmp(t);
201
- helpers_1.log.info(`Datasets: replacing table ${this.minMaxStopSequencesRepository["tableName"]}`);
202
- yield this.minMaxStopSequencesRepository.replaceByTmp(t);
203
- helpers_1.log.info(`Datasets: replacing table ${this.tripScheduleRepository["tableName"]}`);
204
- yield this.tripScheduleRepository.replaceByTmp(t);
205
- helpers_1.log.info(`Datasets: replacing table ${this.departuresRepository["tableName"]}`);
197
+ this.replacePrecomputedTmpTables = (t) => __awaiter(this, void 0, void 0, function* () {
198
+ yield this.ropidGTFSServicesFirst14daysModel.replaceByTmp(t);
199
+ yield this.ropidGTFSMinMaxSequencesModel.replaceByTmp(t);
200
+ yield this.ropidGTFSScheduledTripsModel.replaceByTmp(t);
206
201
  yield this.departuresRepository.replaceByTmp(t);
207
202
  });
208
- this.departuresRepository = new precomputed_1.DeparturesRepository();
209
- this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
210
- this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
211
- this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
203
+ this.departuresRepository = new data_access_1.DeparturesRepository();
204
+ this.ropidGTFSMinMaxSequencesModel = new RopidGTFSMinMaxSequencesModel_1.RopidGTFSMinMaxSequencesModel();
205
+ this.ropidGTFSScheduledTripsModel = new RopidGTFSScheduledTripsModel_1.RopidGTFSScheduledTripsModel();
206
+ this.ropidGTFSServicesFirst14daysModel = new RopidGTFSServicesFirst14daysModel_1.RopidGTFSServicesFirst14daysModel();
212
207
  }
213
208
  }
214
209
  exports.RopidGTFSMetadataModel = RopidGTFSMetadataModel;
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGTFSMetadataModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RopidGTFSMetadataModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
2
+ import Sequelize, { Transaction } from "@golemio/core/dist/shared/sequelize";
3
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
4
+ export declare class RopidGTFSMinMaxSequencesModel extends PostgresModel implements IModel {
5
+ /** Model name */
6
+ name: string;
7
+ /** The Sequelize Model */
8
+ sequelizeModel: Sequelize.ModelCtor<any>;
9
+ /** The Sequelize Model for temporary table */
10
+ protected tmpSequelizeModel: Sequelize.ModelCtor<any> | null;
11
+ /** Validation helper */
12
+ protected validator: JSONSchemaValidator;
13
+ /** Type/Strategy of saving the data */
14
+ protected savingType: "insertOnly" | "insertOrUpdate";
15
+ constructor();
16
+ createAndPopulateFromTmp: () => Promise<void>;
17
+ replaceByTmp: (transaction: Transaction) => Promise<void>;
18
+ createIndexes: () => Promise<void>;
19
+ }