@golemio/pid 2.6.6 → 2.6.7-dev.834780584
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.
- package/db/example/00_clear_test_data.sql +4 -4
- package/db/example/03_ropidgtfs_dump.sql +10 -1
- package/db/example/14_nightDelays.sql +16 -8
- package/db/migrations/postgresql/20230327121511-departure-view.js +53 -0
- package/db/migrations/postgresql/sqls/20220915123941-partitioned-departures-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20230307124639-positions-internal-down.sql +1 -1
- package/db/migrations/postgresql/sqls/20230327121511-departure-view-down.sql +81 -0
- package/db/migrations/postgresql/sqls/20230327121511-departure-view-up.sql +37 -0
- package/dist/integration-engine/queueDefinitions.js +10 -0
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +13 -7
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +50 -45
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.d.ts +4 -3
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js +50 -18
- package/dist/integration-engine/ropid-gtfs/RopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/{DeparturesRepository.d.ts → precomputed/DeparturesRepository.d.ts} +2 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +132 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +9 -0
- package/dist/integration-engine/ropid-gtfs/{RopidGTFSMinMaxSequencesModel.js → data-access/precomputed/MinMaxStopSequencesRepository.js} +34 -33
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +9 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +135 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +11 -0
- package/dist/integration-engine/ropid-gtfs/{RopidGTFSScheduledTripsModel.js → data-access/precomputed/TripScheduleRepository.js} +27 -26
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/data-access/{index.js → precomputed/index.js} +3 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/index.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.d.ts +5 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js +10 -0
- package/dist/integration-engine/ropid-gtfs/helpers/SourceTableSuffixEnum.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -3
- package/dist/integration-engine/ropid-gtfs/index.js +0 -3
- package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/utils.js +5 -4
- package/dist/integration-engine/ropid-gtfs/utils.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +3 -3
- package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +18 -18
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +1 -1
- package/dist/output-gateway/pid/data-access/DeparturesRepository.js +0 -6
- package/dist/output-gateway/pid/data-access/DeparturesRepository.js.map +1 -1
- package/dist/output-gateway/pid/middleware/checkTimeFromMiddleware.js +2 -2
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +3 -3
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +15 -15
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +0 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +5 -18
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/interfaces/IDeparturesModel.d.ts +0 -1
- package/docs/implementation_documentation.md +30 -10
- package/docs/openapi-output.yaml +1 -1
- package/package.json +4 -3
- package/db/example/99_precomputed_tables.sql +0 -169
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.d.ts +0 -19
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.d.ts +0 -21
- package/dist/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.d.ts +0 -19
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js +0 -142
- package/dist/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js +0 -162
- package/dist/integration-engine/ropid-gtfs/data-access/DeparturesRepository.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/index.d.ts +0 -1
- package/dist/integration-engine/ropid-gtfs/data-access/index.js.map +0 -1
|
@@ -1,169 +0,0 @@
|
|
|
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;
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSMinMaxSequencesModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSMinMaxSequencesModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
2
|
-
import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
3
|
-
import Sequelize, { FindOptions, Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
4
|
-
import { IGtfsRunTripCache } from "./interfaces/IGtfsRunTripCache";
|
|
5
|
-
export declare class RopidGTFSScheduledTripsModel extends PostgresModel implements IModel {
|
|
6
|
-
/** Model name */
|
|
7
|
-
name: string;
|
|
8
|
-
/** The Sequelize Model */
|
|
9
|
-
sequelizeModel: Sequelize.ModelCtor<any>;
|
|
10
|
-
/** The Sequelize Model for temporary table */
|
|
11
|
-
protected tmpSequelizeModel: Sequelize.ModelCtor<any> | null;
|
|
12
|
-
/** Validation helper */
|
|
13
|
-
protected validator: JSONSchemaValidator;
|
|
14
|
-
/** Type/Strategy of saving the data */
|
|
15
|
-
protected savingType: "insertOnly" | "insertOrUpdate";
|
|
16
|
-
constructor();
|
|
17
|
-
findAll: (options: FindOptions) => Promise<IGtfsRunTripCache[]>;
|
|
18
|
-
createAndPopulateFromTmp: () => Promise<void>;
|
|
19
|
-
replaceByTmp: (transaction: Transaction) => Promise<void>;
|
|
20
|
-
createIndexes: () => Promise<void>;
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSScheduledTripsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSScheduledTripsModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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 RopidGTFSServicesFirst14daysModel 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
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RopidGTFSServicesFirst14daysModel = void 0;
|
|
13
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
14
|
-
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
15
|
-
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
16
|
-
const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
|
|
17
|
-
const utils_1 = require("./utils");
|
|
18
|
-
class RopidGTFSServicesFirst14daysModel extends models_1.PostgresModel {
|
|
19
|
-
constructor() {
|
|
20
|
-
super(ropid_gtfs_1.RopidGTFS.services_first14days.name + "Model", {
|
|
21
|
-
outputSequelizeAttributes: ropid_gtfs_1.RopidGTFS.services_first14days.outputSequelizeAttributes,
|
|
22
|
-
pgTableName: ropid_gtfs_1.RopidGTFS.services_first14days.pgTableName,
|
|
23
|
-
pgSchema: ropid_gtfs_1.RopidGTFS.pgSchema,
|
|
24
|
-
savingType: "insertOnly",
|
|
25
|
-
attributesToRemove: ["id", "created_at", "updated_at"],
|
|
26
|
-
}, new golemio_validator_1.JSONSchemaValidator(ropid_gtfs_1.RopidGTFS.services_first14days.name + "ModelValidator", ropid_gtfs_1.RopidGTFS.services_first14days.outputJsonSchema));
|
|
27
|
-
this.createAndPopulateFromTmp = () => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const sql = `
|
|
29
|
-
SELECT
|
|
30
|
-
dates.date,
|
|
31
|
-
(
|
|
32
|
-
date_part('day'::text, ((dates.date)::timestamp without time zone - (
|
|
33
|
-
to_char(timezone('Europe/Prague'::text, now()), 'YYYY-MM-DD'::text)
|
|
34
|
-
)::timestamp without time zone))
|
|
35
|
-
)::integer AS day_diff,
|
|
36
|
-
ropidgtfs_calendar_tmp.service_id
|
|
37
|
-
FROM (
|
|
38
|
-
(
|
|
39
|
-
SELECT
|
|
40
|
-
(date_trunc('day'::text, dd.dd))::date AS date
|
|
41
|
-
FROM generate_series(
|
|
42
|
-
((( SELECT (CURRENT_TIMESTAMP - '1 day'::interval)))::date)::timestamp with time zone,
|
|
43
|
-
((( SELECT (CURRENT_TIMESTAMP + '12 days'::interval)))::date)::timestamp with time zone,
|
|
44
|
-
'1 day'::interval
|
|
45
|
-
) dd(dd)
|
|
46
|
-
) dates
|
|
47
|
-
JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_calendar_tmp ON ((1 = 1))
|
|
48
|
-
)
|
|
49
|
-
WHERE (
|
|
50
|
-
(
|
|
51
|
-
(dates.date >= (ropidgtfs_calendar_tmp.start_date)::date)
|
|
52
|
-
AND (dates.date <= (ropidgtfs_calendar_tmp.end_date)::date)
|
|
53
|
-
AND (
|
|
54
|
-
(
|
|
55
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'monday'::text)
|
|
56
|
-
AND (ropidgtfs_calendar_tmp.monday = 1)
|
|
57
|
-
) OR (
|
|
58
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'tuesday'::text)
|
|
59
|
-
AND (ropidgtfs_calendar_tmp.tuesday = 1)
|
|
60
|
-
) OR (
|
|
61
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'wednesday'::text)
|
|
62
|
-
AND (ropidgtfs_calendar_tmp.wednesday = 1)
|
|
63
|
-
) OR (
|
|
64
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'thursday'::text)
|
|
65
|
-
AND (ropidgtfs_calendar_tmp.thursday = 1)
|
|
66
|
-
) OR (
|
|
67
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'friday'::text)
|
|
68
|
-
AND (ropidgtfs_calendar_tmp.friday = 1)
|
|
69
|
-
) OR (
|
|
70
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'saturday'::text)
|
|
71
|
-
AND (ropidgtfs_calendar_tmp.saturday = 1)
|
|
72
|
-
) OR (
|
|
73
|
-
(btrim(to_char((dates.date)::timestamp with time zone, 'day'::text)) = 'sunday'::text)
|
|
74
|
-
AND (ropidgtfs_calendar_tmp.sunday = 1)
|
|
75
|
-
)
|
|
76
|
-
) AND (
|
|
77
|
-
NOT ((ropidgtfs_calendar_tmp.service_id)::text IN (
|
|
78
|
-
SELECT ropidgtfs_calendar_dates_tmp.service_id
|
|
79
|
-
FROM "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_calendar_dates_tmp
|
|
80
|
-
WHERE (
|
|
81
|
-
(ropidgtfs_calendar_dates_tmp.exception_type = 2)
|
|
82
|
-
AND (dates.date = (ropidgtfs_calendar_dates_tmp.date)::date)
|
|
83
|
-
)
|
|
84
|
-
))
|
|
85
|
-
)) OR ((ropidgtfs_calendar_tmp.service_id)::text IN (
|
|
86
|
-
SELECT ropidgtfs_calendar_dates_tmp.service_id
|
|
87
|
-
FROM "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_calendar_dates_tmp
|
|
88
|
-
WHERE (
|
|
89
|
-
(ropidgtfs_calendar_dates_tmp.exception_type = 1)
|
|
90
|
-
AND (dates.date = (ropidgtfs_calendar_dates_tmp.date)::date)
|
|
91
|
-
))
|
|
92
|
-
)
|
|
93
|
-
)
|
|
94
|
-
ORDER BY dates.date
|
|
95
|
-
`;
|
|
96
|
-
try {
|
|
97
|
-
const tmpTable = ropid_gtfs_1.RopidGTFS.services_first14days.pgTableName + "_tmp";
|
|
98
|
-
yield this.sequelizeModel.sequelize.query(`DROP TABLE IF EXISTS "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tmpTable};
|
|
99
|
-
CREATE TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tmpTable} (
|
|
100
|
-
LIKE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${ropid_gtfs_1.RopidGTFS.services_first14days.pgTableName}
|
|
101
|
-
);
|
|
102
|
-
INSERT INTO "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tmpTable} ${sql};`);
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
helpers_1.log.error(err);
|
|
106
|
-
throw err;
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
this.replaceByTmp = (transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
110
|
-
try {
|
|
111
|
-
const pgTableName = ropid_gtfs_1.RopidGTFS.services_first14days.pgTableName;
|
|
112
|
-
const tableNameActual = pgTableName + "_actual";
|
|
113
|
-
const tableNameTmp = pgTableName + "_tmp";
|
|
114
|
-
const indexQuery = (0, utils_1.buildAlterIndexQuery)(ropid_gtfs_1.RopidGTFS.services_first14days.modelIndexOptions);
|
|
115
|
-
yield this.sequelizeModel.sequelize.query(`
|
|
116
|
-
LOCK "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName} IN EXCLUSIVE MODE;
|
|
117
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} NO INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
118
|
-
DROP TABLE IF EXISTS "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual};
|
|
119
|
-
${indexQuery}
|
|
120
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameTmp} RENAME TO ${tableNameActual};
|
|
121
|
-
ALTER TABLE "${ropid_gtfs_1.RopidGTFS.pgSchema}".${tableNameActual} INHERIT "${ropid_gtfs_1.RopidGTFS.pgSchema}".${pgTableName};
|
|
122
|
-
`, { transaction });
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
helpers_1.log.error(err);
|
|
126
|
-
throw err;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
this.createIndexes = () => __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
try {
|
|
131
|
-
const indexQuery = (0, utils_1.buildCreateIndexQuery)(ropid_gtfs_1.RopidGTFS.services_first14days.pgTableName, ropid_gtfs_1.RopidGTFS.services_first14days.modelIndexOptions);
|
|
132
|
-
yield this.sequelizeModel.sequelize.query(indexQuery);
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
helpers_1.log.error(err);
|
|
136
|
-
throw err;
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
exports.RopidGTFSServicesFirst14daysModel = RopidGTFSServicesFirst14daysModel;
|
|
142
|
-
//# sourceMappingURL=RopidGTFSServicesFirst14daysModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSServicesFirst14daysModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSServicesFirst14daysModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DeparturesRepository = void 0;
|
|
13
|
-
const utils_1 = require("../utils");
|
|
14
|
-
const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
|
|
15
|
-
const precomputed_1 = require("../../../schema-definitions/ropid-gtfs/models/precomputed");
|
|
16
|
-
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
17
|
-
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
18
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
19
|
-
class DeparturesRepository extends models_1.PostgresModel {
|
|
20
|
-
constructor() {
|
|
21
|
-
super("DeparturesRepository", {
|
|
22
|
-
pgTableName: precomputed_1.DeparturesModel.TABLE_NAME,
|
|
23
|
-
pgSchema: ropid_gtfs_1.RopidGTFS.pgSchema,
|
|
24
|
-
outputSequelizeAttributes: precomputed_1.DeparturesModel.attributeModel,
|
|
25
|
-
attributesToRemove: ["id", "created_at", "updated_at"],
|
|
26
|
-
savingType: "insertOnly",
|
|
27
|
-
}, new golemio_validator_1.JSONSchemaValidator("DeparturesRepository", precomputed_1.DeparturesModel.jsonSchema));
|
|
28
|
-
this.createAndPopulateFromTmp = () => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
/* eslint-disable max-len */
|
|
30
|
-
const sql = `
|
|
31
|
-
SELECT t.stop_sequence,
|
|
32
|
-
t.stop_headsign,
|
|
33
|
-
t.pickup_type,
|
|
34
|
-
t.drop_off_type,
|
|
35
|
-
t.arrival_time,
|
|
36
|
-
CASE
|
|
37
|
-
WHEN (date_part('hour'::text, (t.arrival_time)::interval) > (23)::double precision)
|
|
38
|
-
THEN make_timestamptz(
|
|
39
|
-
(date_part('year'::text, (t4.date + '1 day'::interval)))::integer,
|
|
40
|
-
(date_part('month'::text, (t4.date + '1 day'::interval)))::integer,
|
|
41
|
-
(date_part('day'::text, (t4.date + '1 day'::interval)))::integer,
|
|
42
|
-
((date_part('hour'::text, (t.arrival_time)::interval))::integer - 24),
|
|
43
|
-
(date_part('minute'::text, (t.arrival_time)::interval))::integer,
|
|
44
|
-
date_part('second'::text, (t.arrival_time)::interval), 'Europe/Prague'::text)
|
|
45
|
-
ELSE make_timestamptz((date_part('year'::text, t4.date))::integer,
|
|
46
|
-
(date_part('month'::text, t4.date))::integer, (date_part('day'::text, t4.date))::integer,
|
|
47
|
-
(date_part('hour'::text, (t.arrival_time)::interval))::integer,
|
|
48
|
-
(date_part('minute'::text, (t.arrival_time)::interval))::integer,
|
|
49
|
-
date_part('second'::text, (t.arrival_time)::interval), 'Europe/Prague'::text)
|
|
50
|
-
END AS arrival_datetime,
|
|
51
|
-
t.departure_time,
|
|
52
|
-
CASE
|
|
53
|
-
WHEN (date_part('hour'::text, (t.departure_time)::interval) > (23)::double precision)
|
|
54
|
-
THEN make_timestamptz(
|
|
55
|
-
(date_part('year'::text, (t4.date + '1 day'::interval)))::integer,
|
|
56
|
-
(date_part('month'::text, (t4.date + '1 day'::interval)))::integer,
|
|
57
|
-
(date_part('day'::text, (t4.date + '1 day'::interval)))::integer,
|
|
58
|
-
((date_part('hour'::text, (t.departure_time)::interval))::integer - 24),
|
|
59
|
-
(date_part('minute'::text, (t.departure_time)::interval))::integer,
|
|
60
|
-
date_part('second'::text, (t.departure_time)::interval), 'Europe/Prague'::text)
|
|
61
|
-
ELSE make_timestamptz(
|
|
62
|
-
(date_part('year'::text, t4.date))::integer,
|
|
63
|
-
(date_part('month'::text, t4.date))::integer, (date_part('day'::text, t4.date))::integer,
|
|
64
|
-
(date_part('hour'::text, (t.departure_time)::interval))::integer,
|
|
65
|
-
(date_part('minute'::text, (t.departure_time)::interval))::integer,
|
|
66
|
-
date_part('second'::text, (t.departure_time)::interval), 'Europe/Prague'::text)
|
|
67
|
-
END AS departure_datetime,
|
|
68
|
-
t0.stop_id,
|
|
69
|
-
t0.stop_name,
|
|
70
|
-
t0.platform_code,
|
|
71
|
-
t0.wheelchair_boarding,
|
|
72
|
-
t1.min_stop_sequence,
|
|
73
|
-
t1.max_stop_sequence,
|
|
74
|
-
t2.trip_id,
|
|
75
|
-
t2.trip_headsign,
|
|
76
|
-
t2.trip_short_name,
|
|
77
|
-
t2.wheelchair_accessible,
|
|
78
|
-
t3.service_id,
|
|
79
|
-
t4.date,
|
|
80
|
-
t5.route_short_name,
|
|
81
|
-
t5.route_type,
|
|
82
|
-
t5.route_id,
|
|
83
|
-
t5.is_night,
|
|
84
|
-
t5.is_regional,
|
|
85
|
-
t5.is_substitute_transport,
|
|
86
|
-
t6.stop_sequence AS next_stop_sequence,
|
|
87
|
-
t6.stop_id AS next_stop_id,
|
|
88
|
-
t7.stop_sequence AS last_stop_sequence,
|
|
89
|
-
t7.stop_id AS last_stop_id,
|
|
90
|
-
left(t0.stop_id, 4) AS part_index
|
|
91
|
-
FROM (((((((("${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_stop_times_tmp t
|
|
92
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_stops_tmp t0 ON (((t.stop_id)::text = (t0.stop_id)::text)))
|
|
93
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_trips_tmp t2 ON (((t.trip_id)::text = (t2.trip_id)::text)))
|
|
94
|
-
JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_services_first14days_tmp t4 ON (((t2.service_id)::text = (t4.service_id)::text)))
|
|
95
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_trips_minmaxsequences_tmp t1 ON (((t.trip_id)::text = (t1.trip_id)::text)))
|
|
96
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_calendar_tmp t3 ON (((t2.service_id)::text = (t3.service_id)::text)))
|
|
97
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_routes_tmp t5 ON (((t2.route_id)::text = (t5.route_id)::text)))
|
|
98
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_stop_times_tmp t6 ON (
|
|
99
|
-
(((t.trip_id)::text = (t6.trip_id)::text) AND (t6.stop_sequence = (t.stop_sequence + 1)))))
|
|
100
|
-
LEFT JOIN "${ropid_gtfs_1.RopidGTFS.pgSchema}".ropidgtfs_stop_times_tmp t7 ON (
|
|
101
|
-
(((t.trip_id)::text = (t7.trip_id)::text) AND (t7.stop_sequence = (t.stop_sequence - 1)))))
|
|
102
|
-
WHERE t0.stop_id IS NOT NULL`;
|
|
103
|
-
/* eslint-enable max-len */
|
|
104
|
-
try {
|
|
105
|
-
const tableName = precomputed_1.DeparturesModel.TABLE_NAME;
|
|
106
|
-
const tmpTableName = tableName + "_tmp";
|
|
107
|
-
yield this.sequelizeModel.sequelize.query(`
|
|
108
|
-
SET LOCAL search_path TO ${ropid_gtfs_1.RopidGTFS.pgSchema};
|
|
109
|
-
DROP TABLE IF EXISTS ${tmpTableName};
|
|
110
|
-
CREATE TABLE ${tmpTableName} (LIKE ${tableName}) PARTITION BY list(part_index);
|
|
111
|
-
SELECT departure_part(part_index, split_part(current_setting('search_path'), ',', 1), true)
|
|
112
|
-
FROM (SELECT DISTINCT left(stop_id, 4) part_index FROM ropidgtfs_stops_tmp) as parts;
|
|
113
|
-
INSERT INTO ${tmpTableName} ${sql};`);
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
helpers_1.log.error(err);
|
|
117
|
-
throw err;
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
this.replaceByTmp = (transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
try {
|
|
122
|
-
const tableName = precomputed_1.DeparturesModel.TABLE_NAME;
|
|
123
|
-
const tmpTableName = tableName + "_tmp";
|
|
124
|
-
const dropTableName = tableName + "_drop";
|
|
125
|
-
const indexQuery = (0, utils_1.buildAlterIndexQuery)(precomputed_1.DeparturesModel.indexesOptions);
|
|
126
|
-
yield this.sequelizeModel.sequelize.query(`
|
|
127
|
-
SET LOCAL search_path TO ${ropid_gtfs_1.RopidGTFS.pgSchema};
|
|
128
|
-
LOCK ${tableName} IN EXCLUSIVE MODE;
|
|
129
|
-
ALTER TABLE ${tableName} RENAME TO ${dropTableName};
|
|
130
|
-
ALTER TABLE ${tmpTableName} RENAME TO ${tableName};
|
|
131
|
-
DROP TABLE ${dropTableName} CASCADE;
|
|
132
|
-
${indexQuery}`, { transaction });
|
|
133
|
-
}
|
|
134
|
-
catch (err) {
|
|
135
|
-
helpers_1.log.error(err);
|
|
136
|
-
throw err;
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
this.analyze = () => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
try {
|
|
141
|
-
yield this.sequelizeModel.sequelize.query(`analyze ${ropid_gtfs_1.RopidGTFS.pgSchema}.${precomputed_1.DeparturesModel.TABLE_NAME}_tmp;`);
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
helpers_1.log.error(err);
|
|
145
|
-
throw err;
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
this.createIndexes = () => __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
try {
|
|
150
|
-
const indexes = precomputed_1.DeparturesModel.indexesOptions;
|
|
151
|
-
const indexQuery = (0, utils_1.buildCreateIndexQuery)(precomputed_1.DeparturesModel.TABLE_NAME, indexes);
|
|
152
|
-
yield this.sequelizeModel.sequelize.query(indexQuery);
|
|
153
|
-
}
|
|
154
|
-
catch (err) {
|
|
155
|
-
helpers_1.log.error(err);
|
|
156
|
-
throw err;
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
exports.DeparturesRepository = DeparturesRepository;
|
|
162
|
-
//# sourceMappingURL=DeparturesRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeparturesRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/DeparturesRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./DeparturesRepository";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|