@golemio/pid 2.22.1-dev.1474999897 → 2.22.1-dev.1484319989

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 (52) hide show
  1. package/db/example/13_http-propagate-delay.sql +1 -1
  2. package/db/migrations/postgresql/20241004085815-after-track-delayed.js +53 -0
  3. package/db/migrations/postgresql/sqls/20241004085815-after-track-delayed-down.sql +41 -0
  4. package/db/migrations/postgresql/sqls/20241004085815-after-track-delayed-up.sql +41 -0
  5. package/dist/const.d.ts +1 -0
  6. package/dist/const.js +1 -0
  7. package/dist/const.js.map +1 -1
  8. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js +0 -1
  9. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.js.map +1 -1
  10. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +3 -1
  11. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +5 -10
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +42 -27
  14. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  15. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.d.ts +2 -0
  16. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js +9 -0
  17. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.d.ts +1 -0
  19. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js +11 -10
  20. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js.map +1 -1
  21. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +8 -6
  22. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/interfaces/IPositionStateAndStopSequences.d.ts +1 -1
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +4 -9
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +54 -29
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js +12 -8
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.d.ts +7 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.js +20 -0
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/state-position/PositionStateDelayManager.js.map +1 -0
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/ITripPositionTuple.d.ts +4 -3
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.d.ts +2 -7
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/schema/PropagateTrainDelaySchema.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +1 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js +16 -7
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateDelayTask.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js +2 -2
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +1 -1
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js +2 -1
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js.map +1 -1
  45. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js +1 -1
  46. package/dist/output-gateway/vehicle-positions/data-access/views/TripWithLastPositionRepository.js.map +1 -1
  47. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +12 -0
  48. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
  49. package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.d.ts +1 -0
  50. package/docs/asyncapi.yaml +10 -0
  51. package/docs/openapi-output.yaml +2 -0
  52. package/package.json +1 -1
@@ -157,7 +157,7 @@ VALUES
157
157
  --(E'100212',1043,2,E'212',E'2022-12-23 12:01:12.172+01',E'L212',E'212',E'212_366_221211',E'2022-12-23T11:31:00Z_100212_212_1043',E'2022-12-23 13:07:38.147+01',27935,E'C',E'12:31:00',EXTRACT(EPOCH FROM (SELECT now_date FROM init_values) + INTERVAL '12:31:00')*1000,3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212',E'STENBUS',1712,E'Nepasické náměstí',NULL,3,NULL,1564213175,FALSE,1671795360000,NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671795477000,"firstPositionDelay":117},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564213175","lastPositionOriginTimestamp":1671797202000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":38,"delay":117,"id":"1563990184","lat":50.1036,"lng":14.6586,"origin_time":"12:37:57","origin_timestamp":1671795477000,"shape_dist_traveled":2.491,"is_tracked":true,"is_canceled":false,"state_position":"at_stop","state_process":"processed","tcp_event":null,"this_stop_sequence":6,"last_stop_sequence":6,"last_stop_id":"U4107Z1P","last_stop_arrival_time":1671795360000,"last_stop_departure_time":1671795360000,"next_stop_id":"U4107Z1P","next_stop_name":"Nepasické náměstí","last_stop_name":"Nepasické náměstí","next_stop_sequence":6,"next_stop_arrival_time":1671795360000,"next_stop_departure_time":1671795360000,"this_stop_id":"U4107Z1P","this_stop_name":"Nepasické náměstí","valid_to":1671795777000},"geometry":{"type":"Point","coordinates":[14.6586,50.1036]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":null,"tripId":"2022-12-23T11:31:00Z_100212_212_1043"}'),
158
158
  --(E'100212',1046,2,E'212',E'2022-12-23 12:24:16.404+01',E'L212',E'212',E'212_367_221211',E'2022-12-23T11:54:00Z_100212_212_1046',E'2022-12-23 13:30:11.782+01',58701,E'A',E'12:54:00',EXTRACT(EPOCH FROM (SELECT now_date FROM init_values) + INTERVAL '12:54:00')*1000,3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212',E'STENBUS',1712,E'Nádraží Klánovice-sever',NULL,3,NULL,1564383076,FALSE,1671796800000,NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671796785000,"firstPositionDelay":-15},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564383076","lastPositionOriginTimestamp":1671798580000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":196,"delay":-15,"id":"1564155786","lat":50.08828,"lng":14.66574,"origin_time":"12:59:45","origin_timestamp":1671796785000,"shape_dist_traveled":2.408,"is_tracked":true,"is_canceled":false,"state_position":"at_stop","state_process":"processed","tcp_event":null,"this_stop_sequence":7,"last_stop_sequence":7,"last_stop_id":"U454Z4P","last_stop_arrival_time":1671796800000,"last_stop_departure_time":1671796800000,"next_stop_id":"U454Z4P","next_stop_name":"Nádraží Klánovice-sever","last_stop_name":"Nádraží Klánovice-sever","next_stop_sequence":7,"next_stop_arrival_time":1671796800000,"next_stop_departure_time":1671796800000,"this_stop_id":"U454Z4P","this_stop_name":"Nádraží Klánovice-sever","valid_to":1671797085000},"geometry":{"type":"Point","coordinates":[14.66574,50.08828]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"after_track","tripId":"2022-12-23T11:54:00Z_100212_212_1046"}'),
159
159
  --(E'100212',1045,2,E'212',E'2022-12-23 12:31:20.392+01',E'L212',E'212',E'212_368_221211',E'2022-12-23T12:01:00Z_100212_212_1045',E'2022-12-23 13:36:04.603+01',27935,E'C',E'13:01:00',EXTRACT(EPOCH FROM (SELECT now_date FROM init_values) + INTERVAL '13:01:00')*1000,3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212',E'STENBUS',1712,E'Nepasické náměstí',NULL,3,NULL,1564424455,FALSE,1671797160000,NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671797087000,"firstPositionDelay":-13},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564424455","lastPositionOriginTimestamp":1671798943000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":359,"delay":-7,"id":"1564202112","lat":50.10244,"lng":14.65803,"origin_time":"13:05:33","origin_timestamp":1671797133000,"shape_dist_traveled":2.289,"is_tracked":true,"is_canceled":false,"state_position":"on_track","state_process":"processed","tcp_event":null,"last_stop_sequence":5,"last_stop_id":"U4137Z1P","last_stop_arrival_time":1671797100000,"last_stop_departure_time":1671797100000,"next_stop_id":"U4107Z1P","next_stop_name":"Nepasické náměstí","last_stop_name":"Všestarská","next_stop_sequence":6,"next_stop_arrival_time":1671797160000,"next_stop_departure_time":1671797160000,"valid_to":1671797433000},"geometry":{"type":"Point","coordinates":[14.65803,50.10244]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"after_track","tripId":"2022-12-23T12:01:00Z_100212_212_1045"}');
160
- (E'100212',1044,2,2,E'212',E'2022-12-23 11:54:16.664+01',E'L212',E'212',E'212_365_221211',E'2022-12-23T11:24:00Z_100212_212_1044',E'2022-12-23 13:01:17.635+01',58701,E'A',E'12:24:00',((SELECT now_date FROM init_values) + INTERVAL '12:24:00') at time zone 'Europe/Prague',3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212','212',E'STENBUS',1712,E'Nádraží Klánovice-sever',NULL,3,NULL,1564165759,FALSE,((SELECT now_date FROM init_values) + INTERVAL '12:30:00' ) at time zone 'Europe/Prague',NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671795011000,"firstPositionDelay":11},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564165759","lastPositionOriginTimestamp":1671796852000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":196,"delay":36,"id":"1563938739","lat":50.08797,"lng":14.66552,"origin_time":"12:30:36","origin_timestamp":1671795036000,"shape_dist_traveled":2.408,"is_tracked":false,"is_canceled":false,"state_position":"after_track","state_process":"processed","tcp_event":null,"this_stop_sequence":7,"last_stop_sequence":7,"last_stop_id":"U454Z4P","last_stop_arrival_time":1671795000000,"last_stop_departure_time":1671795000000,"next_stop_id":"U454Z4P","next_stop_name":"Nádraží Klánovice-sever","last_stop_name":"Nádraží Klánovice-sever","next_stop_sequence":7,"next_stop_arrival_time":1671795000000,"next_stop_departure_time":1671795000000,"this_stop_id":"U454Z4P","this_stop_name":"Nádraží Klánovice-sever","valid_to":1671795336000},"geometry":{"type":"Point","coordinates":[14.66552,50.08797]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"after_track","tripId":"2022-12-23T11:24:00Z_100212_212_1044"}'),
160
+ (E'100212',1044,2,2,E'212',E'2022-12-23 11:54:16.664+01',E'L212',E'212',E'212_365_221211',E'2022-12-23T11:24:00Z_100212_212_1044',E'2022-12-23 13:01:17.635+01',58701,E'A',E'12:24:00',((SELECT now_date FROM init_values) + INTERVAL '12:24:00') at time zone 'Europe/Prague',3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212','212',E'STENBUS',1712,E'Nádraží Klánovice-sever',NULL,3,NULL,1564165759,FALSE,((SELECT now_date FROM init_values) + INTERVAL '12:30:00' ) at time zone 'Europe/Prague',NULL,CAST('{"lastPositionStateChange": "' || (SELECT now_date FROM init_values) || 'T' || '12:23:58Z", "atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671795011000,"firstPositionDelay":11},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564165759","lastPositionOriginTimestamp":1671796852000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":196,"delay":36,"id":"1563938739","lat":50.08797,"lng":14.66552,"origin_time":"12:30:36","origin_timestamp":1671795036000,"shape_dist_traveled":2.408,"is_tracked":false,"is_canceled":false,"state_position":"after_track","state_process":"processed","tcp_event":null,"this_stop_sequence":7,"last_stop_sequence":7,"last_stop_id":"U454Z4P","last_stop_arrival_time":1671795000000,"last_stop_departure_time":1671795000000,"next_stop_id":"U454Z4P","next_stop_name":"Nádraží Klánovice-sever","last_stop_name":"Nádraží Klánovice-sever","next_stop_sequence":7,"next_stop_arrival_time":1671795000000,"next_stop_departure_time":1671795000000,"this_stop_id":"U454Z4P","this_stop_name":"Nádraží Klánovice-sever","valid_to":1671795336000},"geometry":{"type":"Point","coordinates":[14.66552,50.08797]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"on_track","tripId":"2022-12-23T11:24:00Z_100212_212_1044"}' as json)),
161
161
  (E'100212',1043,2,2,E'212',E'2022-12-23 12:01:12.172+01',E'L212',E'212',E'212_366_221211',E'2022-12-23T11:31:00Z_100212_212_1043',E'2022-12-23 13:07:38.147+01',27935,E'C',E'12:31:00',((SELECT now_date FROM init_values) + INTERVAL '12:31:00') at time zone 'Europe/Prague',3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212','212',E'STENBUS',1712,E'Nepasické náměstí',NULL,3,NULL,1564213175,FALSE,((SELECT now_date FROM init_values) + INTERVAL '12:36:00') at time zone 'Europe/Prague',NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671795477000,"firstPositionDelay":117},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564213175","lastPositionOriginTimestamp":1671797202000,"lastPositionTracking":{"type":"Feature","properties":{"bearing":38,"delay":117,"id":"1563990184","lat":50.1036,"lng":14.6586,"origin_time":"12:37:57","origin_timestamp":1671795477000,"shape_dist_traveled":2.491,"is_tracked":false,"is_canceled":false,"state_position":"after_track","state_process":"processed","tcp_event":null,"this_stop_sequence":6,"last_stop_sequence":6,"last_stop_id":"U4107Z1P","last_stop_arrival_time":1671795360000,"last_stop_departure_time":1671795360000,"next_stop_id":"U4107Z1P","next_stop_name":"Nepasické náměstí","last_stop_name":"Nepasické náměstí","next_stop_sequence":6,"next_stop_arrival_time":1671795360000,"next_stop_departure_time":1671795360000,"this_stop_id":"U4107Z1P","this_stop_name":"Nepasické náměstí","valid_to":1671795777000},"geometry":{"type":"Point","coordinates":[14.6586,50.1036]}},"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":null,"tripId":"2022-12-23T11:31:00Z_100212_212_1043"}'),
162
162
  (E'100212',1046,2,2,E'212',E'2022-12-23 12:24:16.404+01',E'L212',E'212',E'212_367_221211',E'2022-12-23T11:54:00Z_100212_212_1046',E'2022-12-23 13:30:11.782+01',58701,E'A',E'12:54:00',((SELECT now_date FROM init_values) + INTERVAL '12:54:00') at time zone 'Europe/Prague',3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212','212',E'STENBUS',1712,E'Nádraží Klánovice-sever',NULL,3,NULL,1564383076,FALSE,((SELECT now_date FROM init_values) + INTERVAL '13:00:00') at time zone 'Europe/Prague',NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671796785000,"firstPositionDelay":-15},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564383076","lastPositionOriginTimestamp":1671798580000,"lastPositionTracking":null,"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"after_track","tripId":"2022-12-23T11:54:00Z_100212_212_1046"}'),
163
163
  (E'100212',1045,2,2,E'212',E'2022-12-23 12:31:20.392+01',E'L212',E'212',E'212_368_221211',E'2022-12-23T12:01:00Z_100212_212_1045',E'2022-12-23 13:36:04.603+01',27935,E'C',E'13:01:00',((SELECT now_date FROM init_values) + INTERVAL '13:01:00') at time zone 'Europe/Prague',3,TRUE,NULL,NULL,NULL,NULL,E'STENBUS',E'212','212',E'STENBUS',1712,E'Nepasické náměstí',NULL,3,NULL,1564424455,FALSE,((SELECT now_date FROM init_values) + INTERVAL '13:06:00') at time zone 'Europe/Prague',NULL,E'{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":1671797087000,"firstPositionDelay":-13},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionId":"1564424455","lastPositionOriginTimestamp":1671798943000,"lastPositionTracking":null,"lastPositionCanceled":false,"lastPositionBeforeTrackDelayed":null,"lastPositionState":"after_track","tripId":"2022-12-23T12:01:00Z_100212_212_1045"}');
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20241004085815-after-track-delayed-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20241004085815-after-track-delayed-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,41 @@
1
+ -- Down CHANGELOG v_public_vehiclepositions_past_stop_times
2
+ -- Remove after_track_delayed state from possible states for vehicle positions
3
+
4
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
5
+ SELECT
6
+ sub.trips_id AS rt_trip_id,
7
+ sub.last_stop_sequence AS stop_sequence,
8
+ sub.stop_arr_delay,
9
+ sub.stop_dep_delay,
10
+ sub.last_stop_id AS stop_id
11
+ FROM (
12
+ SELECT
13
+ rt_position.trips_id,
14
+ rt_position.last_stop_id,
15
+ rt_position.last_stop_sequence,
16
+ CASE WHEN (rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure)) > rt_position.next_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival))) THEN
17
+ NULL
18
+ ELSE
19
+ max(rt_position.delay_stop_arrival)
20
+ END AS stop_arr_delay,
21
+ CASE WHEN (rt_position.last_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival)) > rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure))) THEN
22
+ NULL
23
+ ELSE
24
+ min(rt_position.delay_stop_departure)
25
+ END AS stop_dep_delay
26
+ FROM
27
+ vehiclepositions_positions rt_position
28
+ WHERE (rt_position.delay_stop_arrival IS NOT NULL
29
+ OR rt_position.delay_stop_departure IS NOT NULL)
30
+ AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
31
+ GROUP BY
32
+ rt_position.trips_id,
33
+ rt_position.last_stop_id,
34
+ rt_position.last_stop_sequence,
35
+ rt_position.last_stop_arrival_time,
36
+ rt_position.last_stop_departure_time,
37
+ rt_position.next_stop_arrival_time) sub
38
+ ORDER BY
39
+ sub.trips_id,
40
+ sub.last_stop_sequence;
41
+
@@ -0,0 +1,41 @@
1
+ -- Up CHANGELOG v_public_vehiclepositions_past_stop_times
2
+ -- Add after_track_delayed state to possible states for vehicle positions
3
+
4
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
5
+ SELECT
6
+ sub.trips_id AS rt_trip_id,
7
+ sub.last_stop_sequence AS stop_sequence,
8
+ sub.stop_arr_delay,
9
+ sub.stop_dep_delay,
10
+ sub.last_stop_id AS stop_id
11
+ FROM (
12
+ SELECT
13
+ rt_position.trips_id,
14
+ rt_position.last_stop_id,
15
+ rt_position.last_stop_sequence,
16
+ CASE WHEN (rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure)) > rt_position.next_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival))) THEN
17
+ NULL
18
+ ELSE
19
+ max(rt_position.delay_stop_arrival)
20
+ END AS stop_arr_delay,
21
+ CASE WHEN (rt_position.last_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival)) > rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure))) THEN
22
+ NULL
23
+ ELSE
24
+ min(rt_position.delay_stop_departure)
25
+ END AS stop_dep_delay
26
+ FROM
27
+ vehiclepositions_positions rt_position
28
+ WHERE (rt_position.delay_stop_arrival IS NOT NULL
29
+ OR rt_position.delay_stop_departure IS NOT NULL)
30
+ AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text, 'after_track_delayed'::character varying::text]))
31
+ GROUP BY
32
+ rt_position.trips_id,
33
+ rt_position.last_stop_id,
34
+ rt_position.last_stop_sequence,
35
+ rt_position.last_stop_arrival_time,
36
+ rt_position.last_stop_departure_time,
37
+ rt_position.next_stop_arrival_time) sub
38
+ ORDER BY
39
+ sub.trips_id,
40
+ sub.last_stop_sequence;
41
+
package/dist/const.d.ts CHANGED
@@ -4,6 +4,7 @@ export declare enum StatePositionEnum {
4
4
  ON_TRACK = "on_track",
5
5
  BEFORE_TRACK = "before_track",
6
6
  AFTER_TRACK = "after_track",
7
+ AFTER_TRACK_DELAYED = "after_track_delayed",
7
8
  CANCELED = "canceled",
8
9
  INVISIBLE = "invisible",
9
10
  UNKNOWN = "unknown",
package/dist/const.js CHANGED
@@ -8,6 +8,7 @@ var StatePositionEnum;
8
8
  StatePositionEnum["ON_TRACK"] = "on_track";
9
9
  StatePositionEnum["BEFORE_TRACK"] = "before_track";
10
10
  StatePositionEnum["AFTER_TRACK"] = "after_track";
11
+ StatePositionEnum["AFTER_TRACK_DELAYED"] = "after_track_delayed";
11
12
  StatePositionEnum["CANCELED"] = "canceled";
12
13
  StatePositionEnum["INVISIBLE"] = "invisible";
13
14
  StatePositionEnum["UNKNOWN"] = "unknown";
package/dist/const.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAaX;AAbD,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;IACzB,8CAAyB,CAAA;AAC7B,CAAC,EAbW,iBAAiB,iCAAjB,iBAAiB,QAa5B;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;AAC/B,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,gCAAgB,CAAA;IAChB,gCAAgB,CAAA;IAChB,0BAAU,CAAA;AACd,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC5B,wCAAgB,CAAA;AACpB,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAEY,QAAA,iCAAiC,GAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/D,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,uDAAuD"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAcX;AAdD,WAAY,iBAAiB;IACzB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,gEAA2C,CAAA;IAC3C,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,wCAAmB,CAAA;IACnB,kEAA6C,CAAA;IAC7C,4CAAuB,CAAA;IACvB,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;AAC7B,CAAC,EAdW,iBAAiB,iCAAjB,iBAAiB,QAc5B;AAED,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;AAC/B,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAED,IAAY,YAKX;AALD,WAAY,YAAY;IACpB,uCAAuB,CAAA;IACvB,gCAAgB,CAAA;IAChB,gCAAgB,CAAA;IAChB,0BAAU,CAAA;AACd,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC5B,wCAAgB,CAAA;AACpB,CAAC,EAFW,oBAAoB,oCAApB,oBAAoB,QAE/B;AAEY,QAAA,iCAAiC,GAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/D,QAAA,yBAAyB,GAAG,EAAE,CAAC;AAC/B,QAAA,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,uDAAuD"}
@@ -25,7 +25,6 @@ class PositionsMapper {
25
25
  is_tracked: isCurrent && !isTerminated,
26
26
  trips_id: TripsIdGenerator_1.default.generateFromCommonRun(gtfsTrip, runInput),
27
27
  tcp_event: runMessage.events,
28
- delay: isTerminated ? 0 : null,
29
28
  };
30
29
  }
31
30
  static mapCommonRunNotPublicToDto(runMessage, tripId) {
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsMapper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/PositionsMapper.ts"],"names":[],"mappings":"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"}
@@ -241,7 +241,9 @@ class RawQueryProvider {
241
241
  inner join "${const_1.PG_SCHEMA}".${RopidGTFSPrecomputed_1.RopidGTFSPrecomputed.tripSchedule.pgTableName} gtfs_trip
242
242
  on vp_trip_with_position.gtfs_trip_id = gtfs_trip.trip_id
243
243
  and gtfs_trip.start_timestamp::date = current_date
244
- where vp_trip_with_position.state_position != '${const_2.StatePositionEnum.AFTER_TRACK}'
244
+ where
245
+ vp_trip_with_position.state_position != '${const_2.StatePositionEnum.AFTER_TRACK}'
246
+ and vp_trip_with_position.state_position != '${const_2.StatePositionEnum.AFTER_TRACK_DELAYED}'
245
247
  ) as trip_with_gtfs_data
246
248
  where vp_trip.id = trip_with_gtfs_data.id;
247
249
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AACvC,+GAA4E;AAC5E,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAC9C,+DAA4D;AAC5D,yGAAsE;AAEtE,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,OAAO;;;;;;;oBAOK,iBAAS,KAAK,2BAAY,CAAC,UAAU;;SAEhD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,gBAAwB,EAAE,yBAAiC;QACjG,4BAA4B;QAC5B,OAAO;;mBAEI,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;oBACR,iBAAS;0BACH,iBAAS,0BAA0B,iBAAS;0BAC5C,iBAAS,8BAA8B,iBAAS;yBACjD,iBAAS;sBACZ,iBAAS;;yBAEN,iBAAS,qDAAqD,iBAAS;;iBAE/E,iBAAS;;wBAEF,iBAAS;;;mBAGd,iBAAS;qCACS,iBAAS;;kEAEoB,iBAAS;;oCAEvC,iBAAS;;;;;;;;;;;;;;uBActB,iBAAS;8CACc,iBAAS;4BAC3B,gBAAgB;;;oDAGQ,iBAAS;;;qDAGR,iBAAS;;;;;uBAKvC,iBAAS;8CACc,iBAAS;4BAC3B,yBAAyB;;;oDAGD,iBAAS;;;qDAGR,iBAAS;;;;;;;SAOrD,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,4BAA4B;QAC5B,OAAO;;;;;;;;;;;oBAWK,iBAAS;;;;mBAIV,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;;;oBAGR,iBAAS;;0BAEH,iBAAS,0BAA0B,iBAAS;0BAC5C,iBAAS,8BAA8B,iBAAS;yBACjD,iBAAS;;;yBAGT,iBAAS,qDAAqD,iBAAS,8BAA8B,iBAAS;;mBAEpH,iBAAS;uBACL,iBAAS;;;;;;;;;;;2BAWL,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;2BAKvC,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;;;SAOzD,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,OAAO;sBACO,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;oEAyBS,6BAAa,CAAC,QAAQ;;;;;wBAKlE,iBAAS,KAAK,qDAAyB,CAAC,SAAS;8BAC3C,iBAAS,KAAK,2CAAoB,CAAC,YAAY,CAAC,WAAW;;;iEAGxB,yBAAiB,CAAC,WAAW;;;SAGrF,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sCAAsC;QAChD,OAAO;;;;;;;;;;;;;;;;;;;mBAmBI,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;2BAQ7B,iBAAS,KAAK,qCAAiB,CAAC,KAAK,CAAC,WAAW;;;;SAInE,CAAC;IACN,CAAC;CACJ;AApRD,4CAoRC"}
1
+ {"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,sEAAuC;AACvC,+GAA4E;AAC5E,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAC9C,+DAA4D;AAC5D,yGAAsE;AAEtE,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,OAAO;;;;;;;oBAOK,iBAAS,KAAK,2BAAY,CAAC,UAAU;;SAEhD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,gBAAwB,EAAE,yBAAiC;QACjG,4BAA4B;QAC5B,OAAO;;mBAEI,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;oBACR,iBAAS;0BACH,iBAAS,0BAA0B,iBAAS;0BAC5C,iBAAS,8BAA8B,iBAAS;yBACjD,iBAAS;sBACZ,iBAAS;;yBAEN,iBAAS,qDAAqD,iBAAS;;iBAE/E,iBAAS;;wBAEF,iBAAS;;;mBAGd,iBAAS;qCACS,iBAAS;;kEAEoB,iBAAS;;oCAEvC,iBAAS;;;;;;;;;;;;;;uBActB,iBAAS;8CACc,iBAAS;4BAC3B,gBAAgB;;;oDAGQ,iBAAS;;;qDAGR,iBAAS;;;;;uBAKvC,iBAAS;8CACc,iBAAS;4BAC3B,yBAAyB;;;oDAGD,iBAAS;;;qDAGR,iBAAS;;;;;;;SAOrD,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,4BAA4B;QAC5B,OAAO;;;;;;;;;;;oBAWK,iBAAS;;;;mBAIV,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;mBACT,iBAAS;;mBAET,iBAAS;mBACT,iBAAS;;;oBAGR,iBAAS;;0BAEH,iBAAS,0BAA0B,iBAAS;0BAC5C,iBAAS,8BAA8B,iBAAS;yBACjD,iBAAS;;;yBAGT,iBAAS,qDAAqD,iBAAS,8BAA8B,iBAAS;;mBAEpH,iBAAS;uBACL,iBAAS;;;;;;;;;;;2BAWL,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;2BAKvC,iBAAS;kDACc,iBAAS;;;;;;;;;;;;;;wDAcH,iBAAS;;;yDAGR,iBAAS;;;;;;;SAOzD,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,OAAO;sBACO,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;oEAyBS,6BAAa,CAAC,QAAQ;;;;;wBAKlE,iBAAS,KAAK,qDAAyB,CAAC,SAAS;8BAC3C,iBAAS,KAAK,2CAAoB,CAAC,YAAY,CAAC,WAAW;;;;+DAI1B,yBAAiB,CAAC,WAAW;mEACzB,yBAAiB,CAAC,mBAAmB;;;SAG/F,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sCAAsC;QAChD,OAAO;;;;;;;;;;;;;;;;;;;mBAmBI,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;2BAQ7B,iBAAS,KAAK,qCAAiB,CAAC,KAAK,CAAC,WAAW;;;;SAInE,CAAC;IACN,CAAC;CACJ;AAtRD,4CAsRC"}
@@ -1,6 +1,5 @@
1
- import { IVPTripsLastPositionContext } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
2
1
  import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
3
- import { IPositionToUpdate, IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../interfaces/VPInterfaces";
2
+ import { IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../interfaces/VPInterfaces";
4
3
  import { ValidToCalculator } from "./ValidToCalculator";
5
4
  export declare class PositionsManager {
6
5
  private validToCalculator;
@@ -9,22 +8,18 @@ export declare class PositionsManager {
9
8
  * Compute positions and return computed positions
10
9
  *
11
10
  * @param {ITripPositionsWithGTFS} tripPositions - Trip positions with shape anchors data
12
- * @returns {Promise<IProcessedPositions>} - Returns computed/updated positions
11
+ * @returns {IProcessedPositions} - Returns computed/updated positions
13
12
  */
14
- computePositions: (tripPositions: ITripPositionsWithGTFS, schedule: IScheduleDto[] | undefined) => Promise<IProcessedPositions>;
13
+ computePositions: (tripPositions: ITripPositionsWithGTFS, schedule: IScheduleDto[] | undefined) => IProcessedPositions;
15
14
  /**
16
15
  * Takes position one by one, set proper handler for type of position, and do the process of position
17
16
  *
18
17
  * @param {number} i - Iteration
19
18
  * @param {IUpdatePositionsIteratorOptions} options - Initial options
20
19
  * @param {number} cb - Callback function of iterator
21
- * @returns {void} - void
20
+ * @returns {IProcessedPositions} - Returns computed/updated positions
22
21
  */
23
- updatePositions: (options: IUpdatePositionsIteratorOptions, schedule: IScheduleDto[] | undefined) => Promise<{
24
- context: IVPTripsLastPositionContext;
25
- positions: (IPositionToUpdate | null)[];
26
- isBacktrackingDetected: boolean;
27
- }>;
22
+ updatePositions: (options: IUpdatePositionsIteratorOptions, schedule: IScheduleDto[] | undefined) => IProcessedPositions;
28
23
  private getCurrentContext;
29
24
  /**
30
25
  * Decide how to process input position data
@@ -34,15 +34,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
34
34
  var __param = (this && this.__param) || function (paramIndex, decorator) {
35
35
  return function (target, key) { decorator(target, key, paramIndex); }
36
36
  };
37
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
38
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
39
- return new (P || (P = Promise))(function (resolve, reject) {
40
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
41
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
42
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
43
- step((generator = generator.apply(thisArg, _arguments || [])).next());
44
- });
45
- };
46
37
  var __importDefault = (this && this.__importDefault) || function (mod) {
47
38
  return (mod && mod.__esModule) ? mod : { "default": mod };
48
39
  };
@@ -60,6 +51,7 @@ const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
60
51
  const ValidToCalculator_1 = require("./ValidToCalculator");
61
52
  const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
62
53
  const ComputeDelayHelper_1 = __importDefault(require("./compute-positions/ComputeDelayHelper"));
54
+ const PositionStateDelayManager_1 = require("./state-position/PositionStateDelayManager");
63
55
  const ONE_DAY_IN_SECONDS = 24 * 60 * 60;
64
56
  const ONE_SECOND_IN_MILLIS = 1000;
65
57
  let PositionsManager = exports.PositionsManager = class PositionsManager {
@@ -69,9 +61,9 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
69
61
  * Compute positions and return computed positions
70
62
  *
71
63
  * @param {ITripPositionsWithGTFS} tripPositions - Trip positions with shape anchors data
72
- * @returns {Promise<IProcessedPositions>} - Returns computed/updated positions
64
+ * @returns {IProcessedPositions} - Returns computed/updated positions
73
65
  */
74
- this.computePositions = (tripPositions, schedule) => __awaiter(this, void 0, void 0, function* () {
66
+ this.computePositions = (tripPositions, schedule) => {
75
67
  const startTimestamp = tripPositions.start_timestamp.getTime();
76
68
  const startDayTimestamp = this.getStartDayTimestamp(startTimestamp, tripPositions.gtfsData.shapes_anchor_points[0].time_scheduled_seconds);
77
69
  const gtfsRouteType = tripPositions.gtfs_route_type;
@@ -79,16 +71,16 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
79
71
  const computedPositions = [];
80
72
  const endTimestamp = tripPositions.end_timestamp;
81
73
  return this.updatePositions({ tripPositions, startTimestamp, endTimestamp, startDayTimestamp, context, computedPositions, gtfsRouteType }, schedule);
82
- });
74
+ };
83
75
  /**
84
76
  * Takes position one by one, set proper handler for type of position, and do the process of position
85
77
  *
86
78
  * @param {number} i - Iteration
87
79
  * @param {IUpdatePositionsIteratorOptions} options - Initial options
88
80
  * @param {number} cb - Callback function of iterator
89
- * @returns {void} - void
81
+ * @returns {IProcessedPositions} - Returns computed/updated positions
90
82
  */
91
- this.updatePositions = (options, schedule) => __awaiter(this, void 0, void 0, function* () {
83
+ this.updatePositions = (options, schedule) => {
92
84
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
93
85
  const { tripPositions, startDayTimestamp, startTimestamp, endTimestamp, context, computedPositions, gtfsRouteType } = options;
94
86
  let isBacktrackingDetected = false;
@@ -146,14 +138,23 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
146
138
  positionToUpdate = Object.assign({ id: position.id, last_stop_arrival_time: new Date(startDayTimestamp + lastShapesAnchorPoint.time_scheduled_seconds * 1000), last_stop_departure_time: new Date(startDayTimestamp + lastShapesAnchorPoint.time_scheduled_seconds * 1000), last_stop_id: lastStopTime.stop_id, last_stop_sequence: lastShapesAnchorPoint.last_stop_sequence, shape_dist_traveled: lastShapesAnchorPoint.shape_dist_traveled, state_position: setAsInvisible ? const_1.StatePositionEnum.INVISIBLE : statePosition, state_process: const_1.StateProcessEnum.PROCESSED, delay: (_c = position.delay) !== null && _c !== void 0 ? _c : null }, (lastStopTime.stop_headsign && {
147
139
  last_stop_headsign: lastStopTime.stop_headsign,
148
140
  }));
141
+ // if state was changed in last 30 seconds, then it is AFTER_TRACK_DELAYED
142
+ // with delay computation (copied from delay at stop)
143
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK &&
144
+ PositionStateDelayManager_1.PositionStateDelayManager.shouldPropagateAfterTrackDelay(context)) {
145
+ positionToUpdate.state_position = const_1.StatePositionEnum.AFTER_TRACK_DELAYED;
146
+ }
149
147
  positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
148
+ if (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK_DELAYED) {
149
+ positionToUpdate.delay = (_d = positionToUpdate.delay_stop_arrival) !== null && _d !== void 0 ? _d : null;
150
+ }
150
151
  }
151
152
  break;
152
153
  case PositionHandlerEnum_1.PositionHandlerEnum.CANCELED:
153
154
  positionToUpdate = {
154
155
  id: position.id,
155
- lat: (_e = (_d = position.lat) !== null && _d !== void 0 ? _d : context.lastPositionLat) !== null && _e !== void 0 ? _e : null,
156
- lng: (_g = (_f = position.lng) !== null && _f !== void 0 ? _f : context.lastPositionLng) !== null && _g !== void 0 ? _g : null,
156
+ lat: (_f = (_e = position.lat) !== null && _e !== void 0 ? _e : context.lastPositionLat) !== null && _f !== void 0 ? _f : null,
157
+ lng: (_h = (_g = position.lng) !== null && _g !== void 0 ? _g : context.lastPositionLng) !== null && _h !== void 0 ? _h : null,
157
158
  state_position: const_1.StatePositionEnum.CANCELED,
158
159
  state_process: const_1.StateProcessEnum.PROCESSED,
159
160
  };
@@ -171,7 +172,7 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
171
172
  }
172
173
  // if not null push to update
173
174
  if (positionToUpdate) {
174
- (_h = positionToUpdate.is_tracked) !== null && _h !== void 0 ? _h : (positionToUpdate.is_tracked = position.is_tracked);
175
+ (_j = positionToUpdate.is_tracked) !== null && _j !== void 0 ? _j : (positionToUpdate.is_tracked = position.is_tracked);
175
176
  positionToUpdate.valid_to = this.validToCalculator.getValidToAttribute(positionToUpdate, position, gtfsRouteType, tripPositions.gtfsData, startTimestamp);
176
177
  // backtracking detection so we can later invalidate old positions
177
178
  if (!isBacktrackingDetected && positionToUpdate.last_stop_sequence && context.lastStopSequence) {
@@ -182,7 +183,6 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
182
183
  else {
183
184
  computedPositions.push(null);
184
185
  }
185
- context.lastPositionState = (_j = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.state_position) !== null && _j !== void 0 ? _j : position.state_position;
186
186
  // set last known BEFORE_TRACK_DELAYED position
187
187
  if (position.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
188
188
  context.lastPositionBeforeTrackDelayed = {
@@ -230,6 +230,10 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
230
230
  context.lastPositionCanceled = position.is_canceled;
231
231
  context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
232
232
  context.lastStopSequence = (_o = (_m = positionToUpdate.last_stop_sequence) !== null && _m !== void 0 ? _m : context.lastStopSequence) !== null && _o !== void 0 ? _o : null;
233
+ if (context.lastPositionState !== positionToUpdate.state_position) {
234
+ context.lastPositionState = positionToUpdate.state_position;
235
+ context.lastPositionStateChange = new Date().toISOString();
236
+ }
233
237
  ComputeDelayHelper_1.default.updateContext(context, positionToUpdate, position, gtfsRouteType);
234
238
  }
235
239
  }
@@ -238,7 +242,7 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
238
242
  positions: computedPositions,
239
243
  isBacktrackingDetected: isBacktrackingDetected,
240
244
  };
241
- });
245
+ };
242
246
  this.getCurrentContext = (tripPositions) => {
243
247
  var _a;
244
248
  const context = (_a = tripPositions.last_position_context) !== null && _a !== void 0 ? _a : {
@@ -265,6 +269,7 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
265
269
  lastPositionBeforeTrackDelayed: null,
266
270
  lastPositionState: null,
267
271
  lastStopSequence: null,
272
+ lastPositionStateChange: null,
268
273
  tripId: tripPositions.id,
269
274
  };
270
275
  return context;
@@ -378,7 +383,7 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
378
383
  timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
379
384
  }
380
385
  }
381
- let { statePosition, thisStopSequence, lastStopSequence, nextStopSequence } = this.getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, currentPosition.properties, context);
386
+ let { statePosition, thisStopSequence, lastStopSequence, nextStopSequence } = this.getStateAndStopSequences(gtfsRouteType, thisClosestPoint, currentPosition.properties, context);
382
387
  // test if TCP trip with DEPARTURED event should not be at stop (not applied for last stop)
383
388
  if (currentPosition.properties.tcp_event === const_1.TCPEventEnum.DEPARTURED &&
384
389
  thisStopSequence !== lastTripShapePoint.this_stop_sequence) {
@@ -386,10 +391,16 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
386
391
  }
387
392
  if (isBusOrTram && this.isAfterTrack(lastStopSequence, lastTripShapePoint)) {
388
393
  statePosition = const_1.StatePositionEnum.AFTER_TRACK;
394
+ if (PositionStateDelayManager_1.PositionStateDelayManager.shouldPropagateAfterTrackDelay(context)) {
395
+ statePosition = const_1.StatePositionEnum.AFTER_TRACK_DELAYED;
396
+ }
397
+ else {
398
+ // normal after track positions (without propagation) should always have delay null
399
+ timeDelayInSeconds = null;
400
+ }
389
401
  thisStopSequence = lastTripShapePoint.this_stop_sequence;
390
402
  lastStopSequence = lastTripShapePoint.last_stop_sequence;
391
- nextStopSequence = lastTripShapePoint.next_stop_sequence;
392
- timeDelayInSeconds = 0;
403
+ nextStopSequence = null;
393
404
  }
394
405
  // save it for result
395
406
  const estimatedPoint = {
@@ -398,15 +409,19 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
398
409
  // even if the vehicle announces arrival (TCP event 'P') outside of the stop
399
410
  bearing: closestBearing,
400
411
  shape_dist_traveled: closestShapeDistTraveled,
401
- next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
412
+ next_stop_id: nextStopSequence ? tripStopTimes[nextStopSequence - 1].stop_id : null,
402
413
  last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
403
- next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
414
+ next_stop_name: nextStopSequence ? tripStopTimes[nextStopSequence - 1].stop.stop_name : null,
404
415
  last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
405
416
  next_stop_sequence: nextStopSequence,
406
417
  last_stop_sequence: lastStopSequence,
407
- next_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp),
418
+ next_stop_arrival_time: nextStopSequence
419
+ ? DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp)
420
+ : null,
408
421
  last_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].arrival_time_seconds, startDayTimestamp),
409
- next_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp),
422
+ next_stop_departure_time: nextStopSequence
423
+ ? DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp)
424
+ : null,
410
425
  last_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].departure_time_seconds, startDayTimestamp),
411
426
  delay: timeDelayInSeconds,
412
427
  this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
@@ -505,7 +520,7 @@ let PositionsManager = exports.PositionsManager = class PositionsManager {
505
520
  const positionOriginTimeInSeconds = Math.floor(positionOriginUnixTimestamp / ONE_SECOND_IN_MILLIS);
506
521
  return Math.max(lastPositionDelay, positionOriginTimeInSeconds - departureTimeInSeconds);
507
522
  }
508
- getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, positionProperties, context) {
523
+ getStateAndStopSequences(gtfsRouteType, thisClosestPoint, positionProperties, context) {
509
524
  var _a;
510
525
  let statePosition = thisClosestPoint.this_stop_sequence ? const_1.StatePositionEnum.AT_STOP : const_1.StatePositionEnum.ON_TRACK;
511
526
  let thisStopSequence = thisClosestPoint.this_stop_sequence;
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export default abstract class AbstractDelayAtStop {
7
7
  protected calcDelayAtStop(actualTimestamp: number, scheduledTimestamp: Date | undefined | null): number | null;
8
8
  protected resetContext(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null, position: IVPTripsPositionAttributes | undefined): IVPTripsLastPositionContext;
9
9
  protected isContextChange(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null, position: IVPTripsPositionAttributes | undefined): boolean;
10
+ protected didVehicleArriveAtTheLastStop(positionToUpdate: IPositionToUpdate, context: IVPTripsLastPositionContext): boolean;
11
+ protected isValidUntrackedPosition(positionToUpdate: IPositionToUpdate): boolean;
10
12
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const const_1 = require("../../../../../../../const");
3
4
  /* In some cases both position and positionToUpdate are checked for values.
4
5
  * If position state is 'input' then expect value in positionToUpdate instance.
5
6
  * If position was already processed positionToUpdate is null so position instance should be checked.
@@ -25,6 +26,14 @@ class AbstractDelayAtStop {
25
26
  var _a;
26
27
  return context.lastPositionLastStop.sequence !== ((_a = positionToUpdate === null || positionToUpdate === void 0 ? void 0 : positionToUpdate.last_stop_sequence) !== null && _a !== void 0 ? _a : position === null || position === void 0 ? void 0 : position.last_stop_sequence);
27
28
  }
29
+ didVehicleArriveAtTheLastStop(positionToUpdate, context) {
30
+ return (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK_DELAYED &&
31
+ context.lastPositionLastStop.arrival_delay === null);
32
+ }
33
+ isValidUntrackedPosition(positionToUpdate) {
34
+ return (positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK ||
35
+ positionToUpdate.state_position === const_1.StatePositionEnum.AFTER_TRACK_DELAYED);
36
+ }
28
37
  }
29
38
  exports.default = AbstractDelayAtStop;
30
39
  //# sourceMappingURL=AbstractDelayAtStop.js.map