@golemio/pid 2.3.4 → 2.3.5-dev.713978550

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 (59) hide show
  1. package/db/example/00_clear_test_data.sql +2 -1
  2. package/db/example/07_tmp_example.sql +0 -3
  3. package/db/example/12_metro_line_A_gtfs_trips.sql +5 -5
  4. package/db/migrations/postgresql/20221202220835-positions-context.js +53 -0
  5. package/db/migrations/postgresql/sqls/20211006135413-init-ropid-tables-up.sql +2 -0
  6. package/db/migrations/postgresql/sqls/20221202220835-positions-context-down.sql +4 -0
  7. package/db/migrations/postgresql/sqls/20221202220835-positions-context-up.sql +4 -0
  8. package/dist/integration-engine/vehicle-positions/VehiclePositionsInterfaces.d.ts +9 -33
  9. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js +2 -1
  10. package/dist/integration-engine/vehicle-positions/VehiclePositionsWorker.js.map +1 -1
  11. package/dist/integration-engine/vehicle-positions/helpers/DPPUtils.d.ts +3 -2
  12. package/dist/integration-engine/vehicle-positions/helpers/DPPUtils.js.map +1 -1
  13. package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.d.ts +7 -5
  14. package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.js +32 -25
  15. package/dist/integration-engine/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  16. package/dist/integration-engine/vehicle-positions/helpers/ValidToCalculator.d.ts +3 -2
  17. package/dist/integration-engine/vehicle-positions/helpers/ValidToCalculator.js.map +1 -1
  18. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.d.ts +6 -4
  19. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +1 -1
  20. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.d.ts +8 -7
  21. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -1
  22. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.d.ts +5 -4
  23. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/BusDelayAtStop.js.map +1 -1
  24. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/FactoryDelayAtStop.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.d.ts +5 -4
  26. package/dist/integration-engine/vehicle-positions/helpers/compute-positions/strategy/TramDelayAtStop.js.map +1 -1
  27. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.d.ts +5 -37
  28. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js +11 -5
  29. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsPositionsModel.js.map +1 -1
  30. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.d.ts +1 -1
  31. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsRunsModel.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsHistoryModel.js +5 -4
  33. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsHistoryModel.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +7 -20
  35. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js +29 -57
  36. package/dist/integration-engine/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.js.map +1 -1
  38. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.d.ts +1 -1
  39. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js +10 -7
  40. package/dist/output-gateway/vehicle-positions/models/VehiclePositionsTripsModel.js.map +1 -1
  41. package/dist/schema-definitions/vehicle-positions/index.d.ts +0 -9
  42. package/dist/schema-definitions/vehicle-positions/index.js +0 -69
  43. package/dist/schema-definitions/vehicle-positions/index.js.map +1 -1
  44. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +38 -0
  45. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +277 -0
  46. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -0
  47. package/dist/schema-definitions/vehicle-positions/models/index.d.ts +1 -0
  48. package/dist/schema-definitions/vehicle-positions/models/index.js +1 -0
  49. package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
  50. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.d.ts +33 -0
  51. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.js +3 -0
  52. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsModel.js.map +1 -0
  53. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes.d.ts +28 -0
  54. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes.js +3 -0
  55. package/dist/schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes.js.map +1 -0
  56. package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.d.ts +27 -0
  57. package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.js +3 -0
  58. package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.js.map +1 -0
  59. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- DROP SCHEMA IF EXISTS "tmp" CASCADE;
1
+ DROP TABLE IF EXISTS "tmp"."ropidvymi_events";
2
+
2
3
  TRUNCATE
3
4
  "ropidgtfs_agency_actual",
4
5
  "ropidgtfs_calendar_actual",
@@ -1,6 +1,3 @@
1
- -- TODO will be moved to separate folder
2
- CREATE SCHEMA "tmp";
3
-
4
1
  -- events tmp table and data
5
2
  CREATE TABLE "tmp"."ropidvymi_events" AS TABLE "ropidvymi_events";
6
3
  INSERT INTO "tmp"."ropidvymi_events" (vymi_id,vymi_id_dtb,state,ropid_created_at,ropid_created_by,ropid_updated_at,ropid_updated_by,record_type,event_type,channels,title,time_from,time_to_type,time_to,expiration_date,transportation_type,priority,cause,link,ropid_action,dpp_action,description,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
@@ -110,11 +110,11 @@ INSERT INTO vehiclepositions_metro_runs_messages (route_name, message_timestamp,
110
110
  ('A', concat(CURRENT_DATE,'T08:20:08Z')::timestamp, '9', '9', '175', '1211', -15, concat(CURRENT_DATE,'T08:19:53Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values)),
111
111
  ('A', concat(CURRENT_DATE,'T08:20:13Z')::timestamp, '9', '9', '175', '1209', -15, concat(CURRENT_DATE,'T08:19:58Z')::timestamp, (SELECT origin_datetime FROM init_values), (SELECT origin_datetime FROM init_values));
112
112
 
113
- INSERT INTO vehiclepositions_trips (cis_line_id,cis_trip_number,sequence_id,cis_line_short_name,created_at,gtfs_route_id,gtfs_route_short_name,gtfs_trip_id,id,updated_at,start_cis_stop_id,start_cis_stop_platform_code,start_time,start_timestamp,vehicle_type_id,wheelchair_accessible,create_batch_id,created_by,update_batch_id,updated_by,agency_name_scheduled,origin_route_name,agency_name_real,vehicle_registration_number,gtfs_trip_headsign,start_asw_stop_id,gtfs_route_type,gtfs_block_id,last_position_id,is_canceled,end_timestamp,gtfs_trip_short_name) VALUES
114
- (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_78_220321',concat(CURRENT_DATE,'T10:32:35+02:00_991_78_220321_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:32:35',extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Skalka',NULL,1,NULL,30,NULL,extract(epoch from concat(CURRENT_DATE,'T09:00:40Z')::timestamp)*1000,NULL),
115
- (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_77_220901',concat(CURRENT_DATE,'T09:55:10+02:00_991_77_220901_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'09:55:10',extract(epoch from concat(CURRENT_DATE,'T07:55:10Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,29,NULL,extract(epoch from concat(CURRENT_DATE,'T08:26:20Z')::timestamp)*1000,NULL),
116
- (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_124_201230',concat(CURRENT_DATE,'T11:02:40+02:00_991_124_201230_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'11:02:40',extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,31,NULL,extract(epoch from concat(CURRENT_DATE,'T09:31:20Z')::timestamp)*1000,NULL),
117
- (NULL,NULL,9,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_294_220901',concat(CURRENT_DATE,'T10:04:35+02:00_991_294_220901_9_9'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:04:35',extract(epoch from concat(CURRENT_DATE,'T08:04:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Skalka',NULL,1,NULL,32,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:40Z')::timestamp)*1000,NULL);
113
+ INSERT INTO vehiclepositions_trips (cis_line_id,cis_trip_number,sequence_id,cis_line_short_name,created_at,gtfs_route_id,gtfs_route_short_name,gtfs_trip_id,id,updated_at,start_cis_stop_id,start_cis_stop_platform_code,start_time,start_timestamp,vehicle_type_id,wheelchair_accessible,create_batch_id,created_by,update_batch_id,updated_by,agency_name_scheduled,origin_route_name,agency_name_real,vehicle_registration_number,gtfs_trip_headsign,start_asw_stop_id,gtfs_route_type,gtfs_block_id,last_position_id,is_canceled,end_timestamp,gtfs_trip_short_name,last_position_context) VALUES
114
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_78_220321',concat(CURRENT_DATE,'T10:32:35+02:00_991_78_220321_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:32:35',extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Skalka',NULL,1,NULL,30,NULL,extract(epoch from concat(CURRENT_DATE,'T09:00:40Z')::timestamp)*1000,NULL,concat('{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":null,"firstPositionDelay":null},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionDelay":null,"lastPositionId":null,"lastPositionOriginTimestamp":null,"lastPositionTracking":null,"lastPositionCanceled":null,"lastPositionBeforeTrackDelayed":null,"isLastPositionAfterTrack":false,"tripId":"', concat(CURRENT_DATE,'T10:32:35+02:00_991_78_220321_5_5'), '"}')::json),
115
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_77_220901',concat(CURRENT_DATE,'T09:55:10+02:00_991_77_220901_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'09:55:10',extract(epoch from concat(CURRENT_DATE,'T07:55:10Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,29,NULL,extract(epoch from concat(CURRENT_DATE,'T08:26:20Z')::timestamp)*1000,NULL,concat('{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":null,"firstPositionDelay":null},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionDelay":null,"lastPositionId":null,"lastPositionOriginTimestamp":null,"lastPositionTracking":null,"lastPositionCanceled":null,"lastPositionBeforeTrackDelayed":null,"isLastPositionAfterTrack":false,"tripId":"', concat(CURRENT_DATE,'T09:55:10+02:00_991_77_220901_5_5'), '"}')::json),
116
+ (NULL,NULL,5,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_124_201230',concat(CURRENT_DATE,'T11:02:40+02:00_991_124_201230_5_5'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'11:02:40',extract(epoch from concat(CURRENT_DATE,'T09:02:40Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Nemocnice Motol',NULL,1,NULL,31,NULL,extract(epoch from concat(CURRENT_DATE,'T09:31:20Z')::timestamp)*1000,NULL,concat('{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":null,"firstPositionDelay":null},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionDelay":null,"lastPositionId":null,"lastPositionOriginTimestamp":null,"lastPositionTracking":null,"lastPositionCanceled":null,"lastPositionBeforeTrackDelayed":null,"isLastPositionAfterTrack":false,"tripId":"', concat(CURRENT_DATE,'T11:02:40+02:00_991_124_201230_5_5'), '"}')::json),
117
+ (NULL,NULL,9,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,'L991','A','991_294_220901',concat(CURRENT_DATE,'T10:04:35+02:00_991_294_220901_9_9'),concat(CURRENT_DATE,'T09:14:51Z')::timestamp,NULL,NULL,'10:04:35',extract(epoch from concat(CURRENT_DATE,'T08:04:35Z')::timestamp)*1000,1,true,NULL,NULL,NULL,NULL,'DP PRAHA','991','DP PRAHA',NULL,'Skalka',NULL,1,NULL,32,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:40Z')::timestamp)*1000,NULL,concat('{"atStopStreak":{"stop_sequence":null,"firstPositionTimestamp":null,"firstPositionDelay":null},"lastPositionLastStop":{"id":null,"sequence":null,"arrival_time":null,"departure_time":null},"lastPositionDelay":null,"lastPositionId":null,"lastPositionOriginTimestamp":null,"lastPositionTracking":null,"lastPositionCanceled":null,"lastPositionBeforeTrackDelayed":null,"isLastPositionAfterTrack":false,"tripId":"', concat(CURRENT_DATE,'T10:04:35+02:00_991_294_220901_9_9'), '"}')::json);
118
118
 
119
119
  INSERT INTO vehiclepositions_positions (created_at,delay,delay_stop_arrival,delay_stop_departure,next_stop_id,shape_dist_traveled,is_canceled,lat,lng,origin_time,origin_timestamp,tracking,trips_id,create_batch_id,created_by,update_batch_id,updated_at,updated_by,id,bearing,cis_last_stop_id,cis_last_stop_sequence,last_stop_id,last_stop_sequence,next_stop_sequence,speed,last_stop_arrival_time,last_stop_departure_time,next_stop_arrival_time,next_stop_departure_time,asw_last_stop_id,state_process,state_position,this_stop_id,this_stop_sequence,tcp_event,last_stop_headsign,last_stop_name,next_stop_name,this_stop_name,valid_to) VALUES
120
120
  (concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,NULL,NULL,'U306Z101P',0,NULL,50.09837,14.36282,'10:20:08',extract(epoch from concat(CURRENT_DATE,'T08:20:08Z')::timestamp)*1000,0,concat(CURRENT_DATE,'T10:32:35+02:00_991_78_220321_5_5'),NULL,NULL,NULL,concat(CURRENT_DATE,'T09:14:32Z')::timestamp,NULL,26,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,extract(epoch from concat(CURRENT_DATE,'T08:32:35Z')::timestamp)*1000,NULL,'processed','before_track','U157Z102P',NULL,NULL,NULL,NULL,NULL,NULL,extract(epoch from concat(CURRENT_DATE,'T09:40:00Z')::timestamp)*1000),
@@ -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', '20221202220835-positions-context-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', '20221202220835-positions-context-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
+ };
@@ -1,3 +1,5 @@
1
+ CREATE SCHEMA IF NOT EXISTS tmp;
2
+
1
3
  -- ropid_departures_directions
2
4
  CREATE SEQUENCE IF NOT EXISTS ropid_departures_directions_id_seq
3
5
  INCREMENT 1
@@ -0,0 +1,4 @@
1
+ ALTER TABLE vehiclepositions_trips DROP COLUMN "last_position_context";
2
+ ALTER TABLE vehiclepositions_trips_history DROP COLUMN "last_position_context";
3
+
4
+ DROP INDEX IF EXISTS vehiclepositions_positions_state_process;
@@ -0,0 +1,4 @@
1
+ ALTER TABLE vehiclepositions_trips_history ADD COLUMN "last_position_context" JSON;
2
+ ALTER TABLE vehiclepositions_trips ADD COLUMN "last_position_context" JSON;
3
+
4
+ CREATE INDEX IF NOT EXISTS vehiclepositions_positions_state_process ON vehiclepositions_positions USING btree (state_process);
@@ -1,34 +1,9 @@
1
- import { Feature, Point } from "@turf/turf";
2
1
  import { ITripStopsResult } from "../ropid-gtfs/RopidGTFSStopTimesModel";
3
2
  import { IShape, IStopTime } from "../ropid-gtfs/RopidGTFSTripsModel";
3
+ import { IVPTripsPositionAttributes } from "../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
4
+ import { IVPTripsComputedPositionAtStopStreak, IVPTripsLastPositionContext } from "../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
4
5
  import { StatePositionEnum } from "../../const";
5
- import { ITripPositionAttributes } from "./models/VehiclePositionsPositionsModel";
6
6
  import { GTFSRouteTypeEnum } from "./models/VehiclePositionsTripsModel";
7
- export interface IComputedPositionAtStopStreak {
8
- firstPositionTimestamp: number | null;
9
- firstPositionDelay: number | null;
10
- stop_sequence: number | null;
11
- }
12
- export interface IPositionsContext {
13
- lastPositionId: string | null;
14
- lastPositionOriginTimestamp: number | null;
15
- lastPositionTracking: Feature<Point, ITripPositionAttributes> | null;
16
- lastPositionCanceled: boolean | null;
17
- lastPositionLastStop: {
18
- id: string | null;
19
- sequence: number | null;
20
- arrival_time: number | null;
21
- departure_time: number | null;
22
- };
23
- lastPositionDelay: number | null;
24
- atStopStreak: IComputedPositionAtStopStreak;
25
- lastPositionBeforeTrackDelayed: {
26
- delay: number;
27
- origin_timestamp: number;
28
- } | null;
29
- isLastPositionAfterTrack: boolean;
30
- tripId: string;
31
- }
32
7
  export interface IPosition {
33
8
  bearing: number | null;
34
9
  state_process: string;
@@ -77,14 +52,14 @@ export interface IPositionToUpdate {
77
52
  delay_stop_departure?: number | null;
78
53
  }
79
54
  export interface IProcessedPositions {
80
- context: IPositionsContext;
55
+ context: IVPTripsLastPositionContext;
81
56
  positions: IPositionToUpdate[];
82
57
  }
83
58
  export interface IUpdatePositionsIteratorOptions {
84
59
  tripPositions: ITripPositionsWithGTFS;
85
60
  startTimestamp: number;
86
61
  startDayTimestamp: number;
87
- context: IPositionsContext;
62
+ context: IVPTripsLastPositionContext;
88
63
  computedPositions: IPositionToUpdate[];
89
64
  gtfsRouteType: GTFSRouteTypeEnum;
90
65
  }
@@ -121,10 +96,11 @@ export interface ITripPositionsWithOrWithoutGTFS {
121
96
  id: string;
122
97
  gtfs_trip_id: string;
123
98
  gtfs_route_type: GTFSRouteTypeEnum;
124
- start_timestamp: string;
99
+ start_timestamp: string | number;
125
100
  agency_name_scheduled: string;
126
101
  start_cis_stop_id: number;
127
- positions: ITripPositionAttributes[];
102
+ positions: IVPTripsPositionAttributes[];
103
+ last_position_context: IVPTripsLastPositionContext;
128
104
  }
129
105
  export interface ITripPositionsWithGTFS extends ITripPositionsWithOrWithoutGTFS {
130
106
  gtfsData: IComputationTrip;
@@ -137,7 +113,7 @@ export interface ICurrentPositionProperties {
137
113
  }
138
114
  export interface ILastPositionProperties {
139
115
  time_delay: number;
140
- atStopStreak: IComputedPositionAtStopStreak;
116
+ atStopStreak: IVPTripsComputedPositionAtStopStreak;
141
117
  }
142
118
  export interface IPropagateDelay {
143
119
  nextGtfsTrips: string[];
@@ -150,7 +126,7 @@ export interface IPropagateDelay {
150
126
  }
151
127
  export interface IVehiclePositionsSchedule {
152
128
  route_id: string;
153
- run_number: string;
129
+ run_number: string | number;
154
130
  msg_last_timestamp: string;
155
131
  }
156
132
  export declare type TripStopsSchedule = Record<string, Omit<ITripStopsResult, "trip_id">>;
@@ -54,12 +54,12 @@ const turf = __importStar(require("@turf/turf"));
54
54
  const const_1 = require("../../const");
55
55
  const GTFSTripRunManagerFactory_1 = require("./helpers/gtfs-trip-run/GTFSTripRunManagerFactory");
56
56
  const PositionsManager_1 = __importDefault(require("./helpers/PositionsManager"));
57
- const RunTripsRedisRepository_1 = require("./workers/runs/tasks/data-access/RunTripsRedisRepository");
58
57
  const models_2 = require("./models");
59
58
  const VehiclePositionsPositionsHistoryModel_1 = require("./models/VehiclePositionsPositionsHistoryModel");
60
59
  const VehiclePositionsTripsHistoryModel_1 = require("./models/VehiclePositionsTripsHistoryModel");
61
60
  const transformations_1 = require("./transformations");
62
61
  const VehiclePositionsUtils_1 = require("./VehiclePositionsUtils");
62
+ const RunTripsRedisRepository_1 = require("./workers/runs/tasks/data-access/RunTripsRedisRepository");
63
63
  const GtfsOvapi = require("@golemio/ovapi-gtfs-realtime-bindings/dist/gtfs-realtime");
64
64
  const gtfsRealtime = GtfsOvapi.transit_realtime;
65
65
  class VehiclePositionsWorker extends workers_1.BaseWorker {
@@ -615,6 +615,7 @@ class VehiclePositionsWorker extends workers_1.BaseWorker {
615
615
  const tripsUpdated = yield this.modelTrips.bulkUpdate(computedResult.map((e) => ({
616
616
  id: e.context.tripId,
617
617
  last_position_id: e.context.lastPositionId,
618
+ last_position_context: e.context,
618
619
  is_canceled: e.context.lastPositionCanceled,
619
620
  })));
620
621
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"VehiclePositionsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/vehicle-positions/VehiclePositionsWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VehiclePositionsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/vehicle-positions/VehiclePositionsWorker.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import { IVPTripsPositionAttributes } from "../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
1
2
  import { Feature, Point } from "@turf/turf";
2
- import { IGtfsRunTripCache, ITripPositionAttributes } from "../models";
3
+ import { IGtfsRunTripCache } from "../models";
3
4
  export default class DPPUtils {
4
5
  static DPP_AGENCY_NAME: string;
5
6
  static TIME_THRESHOLD_IN_MS: number;
6
7
  static DISTANCE_THRESHOLD_IN_KM: number;
7
- static isInvisible: (agencyNameScheduled: string, originTimestamp: number, startTimestamp: number, currentCoordinates: [number, number], firstStopCoordinates: [number, number], schedule: IGtfsRunTripCache[] | undefined, gtfsTripId: string, lastPositionTracking: Feature<Point, ITripPositionAttributes> | null, tracking: number) => boolean;
8
+ static isInvisible: (agencyNameScheduled: string, originTimestamp: number, startTimestamp: number, currentCoordinates: [number, number], firstStopCoordinates: [number, number], schedule: IGtfsRunTripCache[] | undefined, gtfsTripId: string, lastPositionTracking: Feature<Point, IVPTripsPositionAttributes> | null, tracking: number) => boolean;
8
9
  private static isOnTheWayFromGarage;
9
10
  private static isOnTheWayToGarage;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DPPUtils.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/helpers/DPPUtils.ts"],"names":[],"mappings":";;;;;AACA,0CAAiD;AAEjD,8EAAsD;AAEtD,MAAqB,QAAQ;IAiCjB,MAAM,CAAC,oBAAoB,CAC/B,eAAuB,EACvB,YAA+B,EAC/B,kBAAoC,EACpC,oBAAsC;QAEtC,IAAI,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAChG,MAAM,qBAAqB,GAAG,4BAAkB,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;YAEnH,OAAO,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC;SAChE;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC7B,WAA8B,EAC9B,UAAkB,EAClB,QAAgB,EAChB,oBAAoE;QAEpE,qGAAqG;QACrG,+GAA+G;QAC/G,OAAO,CACH,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,QAAQ,KAAK,4BAAoB,CAAC,YAAY,IAAI,oBAAoB,IAAI,IAAI,CACvH,CAAC;IACN,CAAC;;AA3DL,2BA4DC;AA3DiB,wBAAe,GAAG,UAAU,CAAC;AAC7B,6BAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,iCAAwB,GAAG,GAAG,CAAC;AAE7C,4FAA4F;AAC9E,oBAAW,GAAG,CACxB,mBAA2B,EAC3B,eAAuB,EACvB,cAAsB,EACtB,kBAAoC,EACpC,oBAAsC,EACtC,QAAyC,EACzC,UAAkB,EAClB,oBAAoE,EACpE,QAAgB,EACT,EAAE;;IACT,uFAAuF;IACvF,qFAAqF;IACrF,IAAI,mBAAmB,KAAK,QAAQ,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,IAAI,cAAc,CAAC,0CAAE,IAAI,CAAC;IACvG,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;IACjE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExD,OAAO,CACH,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;QACtG,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CACvF,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"DPPUtils.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/helpers/DPPUtils.ts"],"names":[],"mappings":";;;;;AAEA,0CAAiD;AAEjD,8EAAsD;AAEtD,MAAqB,QAAQ;IAiCjB,MAAM,CAAC,oBAAoB,CAC/B,eAAuB,EACvB,YAA+B,EAC/B,kBAAoC,EACpC,oBAAsC;QAEtC,IAAI,eAAe,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAChG,MAAM,qBAAqB,GAAG,4BAAkB,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;YAEnH,OAAO,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC;SAChE;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC7B,WAA8B,EAC9B,UAAkB,EAClB,QAAgB,EAChB,oBAAuE;QAEvE,qGAAqG;QACrG,+GAA+G;QAC/G,OAAO,CACH,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,QAAQ,KAAK,4BAAoB,CAAC,YAAY,IAAI,oBAAoB,IAAI,IAAI,CACvH,CAAC;IACN,CAAC;;AA3DL,2BA4DC;AA3DiB,wBAAe,GAAG,UAAU,CAAC;AAC7B,6BAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,iCAAwB,GAAG,GAAG,CAAC;AAE7C,4FAA4F;AAC9E,oBAAW,GAAG,CACxB,mBAA2B,EAC3B,eAAuB,EACvB,cAAsB,EACtB,kBAAoC,EACpC,oBAAsC,EACtC,QAAyC,EACzC,UAAkB,EAClB,oBAAuE,EACvE,QAAgB,EACT,EAAE;;IACT,uFAAuF;IACvF,qFAAqF;IACrF,IAAI,mBAAmB,KAAK,QAAQ,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,IAAI,cAAc,CAAC,0CAAE,IAAI,CAAC;IACvG,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;IACjE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExD,OAAO,CACH,QAAQ,CAAC,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;QACtG,QAAQ,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CACvF,CAAC;AACN,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { IVPTripsLastPositionContext } from "../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
1
2
  import { IGtfsRunTripCache } from "../models/VehiclePositionsRunsModel";
2
- import { IPositionsContext, IPositionToUpdate, IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../VehiclePositionsInterfaces";
3
+ import { IPositionToUpdate, IProcessedPositions, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../VehiclePositionsInterfaces";
3
4
  export default class PositionsManager {
4
5
  /**
5
6
  * Compute positions and return computed positions
@@ -17,9 +18,10 @@ export default class PositionsManager {
17
18
  * @returns {void} - void
18
19
  */
19
20
  static updatePositions: (options: IUpdatePositionsIteratorOptions, schedule: IGtfsRunTripCache[] | undefined) => Promise<{
20
- context: IPositionsContext;
21
+ context: IVPTripsLastPositionContext;
21
22
  positions: IPositionToUpdate[];
22
23
  }>;
24
+ private static getCurrentContext;
23
25
  /**
24
26
  * Decide how to process input position data
25
27
  *
@@ -32,7 +34,7 @@ export default class PositionsManager {
32
34
  *
33
35
  * @param {IShapeAnchorPoint[]} tripShapePoints - Precalculated trip shape equidistant points with scheduled times
34
36
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Current position of trip
35
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
37
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
36
38
  * @param {number} startDayTimestamp - Unix timestamp of midnight before trip starts
37
39
  * @returns {IPositionToUpdate} - Position object to update
38
40
  */
@@ -41,7 +43,7 @@ export default class PositionsManager {
41
43
  * Picks only one closest point for multiple possible points based on delay of last position and stop times
42
44
  *
43
45
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Feature Point of current position
44
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
46
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
45
47
  * @param {number} startDayTimestamp - Unix timestamp of start of the day
46
48
  * @param {IShapeAnchorPoint[]} closestPts - All closest points of possible segments
47
49
  * @param {IComputationTrip} tripGtfsData - GTFS data and all set of known positions
@@ -62,7 +64,7 @@ export default class PositionsManager {
62
64
  * Corrects time delay at stop with dwelling time
63
65
  *
64
66
  * @param {number} timeDelay - Initial computed delay in seconds, can be negative for trip ahead
65
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
67
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
66
68
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Feature Point of current position
67
69
  * @param {IShapeAnchorPoint} thisClosestPoint - Closest point of shape anchors
68
70
  * @param { departureTime: number; arrivalTime: number } stopTimes - departure and arrival stop times in seconds
@@ -59,27 +59,7 @@ PositionsManager.computePositions = (tripPositions, schedule) => __awaiter(void
59
59
  const startTimestamp = parseInt(tripPositions.start_timestamp, 10);
60
60
  const startDayTimestamp = _a.getStartDayTimestamp(startTimestamp, tripPositions.gtfsData.shapes_anchor_points[0].time_scheduled_seconds);
61
61
  const gtfsRouteType = tripPositions.gtfs_route_type;
62
- const context = {
63
- atStopStreak: {
64
- stop_sequence: null,
65
- firstPositionTimestamp: null,
66
- firstPositionDelay: null,
67
- },
68
- lastPositionLastStop: {
69
- id: null,
70
- sequence: null,
71
- arrival_time: null,
72
- departure_time: null,
73
- },
74
- lastPositionDelay: null,
75
- lastPositionId: null,
76
- lastPositionOriginTimestamp: null,
77
- lastPositionTracking: null,
78
- lastPositionCanceled: null,
79
- lastPositionBeforeTrackDelayed: null,
80
- isLastPositionAfterTrack: false,
81
- tripId: tripPositions.id,
82
- };
62
+ const context = PositionsManager.getCurrentContext(tripPositions);
83
63
  const computedPositions = [];
84
64
  return PositionsManager.updatePositions({ tripPositions, startTimestamp, startDayTimestamp, context, computedPositions, gtfsRouteType }, schedule);
85
65
  });
@@ -127,7 +107,9 @@ PositionsManager.updatePositions = (options, schedule) => __awaiter(void 0, void
127
107
  }
128
108
  else {
129
109
  // if there is tracking 2 position with same origin_timestamp then this position is duplicate
130
- const statePosition = tripPositions.positions.find((e) => e.origin_timestamp === position.origin_timestamp && e.tracking === const_1.PositionTrackingEnum.TRACKING)
110
+ const statePosition = position.origin_timestamp === context.lastPositionOriginTimestamp ||
111
+ tripPositions.positions.findIndex((positionItem) => positionItem.origin_timestamp === position.origin_timestamp &&
112
+ positionItem.tracking === const_1.PositionTrackingEnum.TRACKING) >= 0
131
113
  ? const_1.StatePositionEnum.DUPLICATE
132
114
  : const_1.StatePositionEnum.AFTER_TRACK;
133
115
  const lastShapesAnchorPoint = tripPositions.gtfsData.shapes_anchor_points[tripPositions.gtfsData.shapes_anchor_points.length - 1];
@@ -206,6 +188,31 @@ PositionsManager.updatePositions = (options, schedule) => __awaiter(void 0, void
206
188
  positions: computedPositions,
207
189
  };
208
190
  });
191
+ PositionsManager.getCurrentContext = (tripPositions) => {
192
+ var _b;
193
+ const context = (_b = tripPositions.last_position_context) !== null && _b !== void 0 ? _b : {
194
+ atStopStreak: {
195
+ stop_sequence: null,
196
+ firstPositionTimestamp: null,
197
+ firstPositionDelay: null,
198
+ },
199
+ lastPositionLastStop: {
200
+ id: null,
201
+ sequence: null,
202
+ arrival_time: null,
203
+ departure_time: null,
204
+ },
205
+ lastPositionDelay: null,
206
+ lastPositionId: null,
207
+ lastPositionOriginTimestamp: null,
208
+ lastPositionTracking: null,
209
+ lastPositionCanceled: null,
210
+ lastPositionBeforeTrackDelayed: null,
211
+ isLastPositionAfterTrack: false,
212
+ tripId: tripPositions.id,
213
+ };
214
+ return context;
215
+ };
209
216
  /**
210
217
  * Decide how to process input position data
211
218
  *
@@ -228,7 +235,7 @@ PositionsManager.setPositionUpdateHandler = (position) => {
228
235
  *
229
236
  * @param {IShapeAnchorPoint[]} tripShapePoints - Precalculated trip shape equidistant points with scheduled times
230
237
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Current position of trip
231
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
238
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
232
239
  * @param {number} startDayTimestamp - Unix timestamp of midnight before trip starts
233
240
  * @returns {IPositionToUpdate} - Position object to update
234
241
  */
@@ -262,7 +269,7 @@ PositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, st
262
269
  * Picks only one closest point for multiple possible points based on delay of last position and stop times
263
270
  *
264
271
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Feature Point of current position
265
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
272
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
266
273
  * @param {number} startDayTimestamp - Unix timestamp of start of the day
267
274
  * @param {IShapeAnchorPoint[]} closestPts - All closest points of possible segments
268
275
  * @param {IComputationTrip} tripGtfsData - GTFS data and all set of known positions
@@ -388,7 +395,7 @@ PositionsManager.getLocalTimeToUnix = (startDayTimestamp, timeSeconds) => {
388
395
  * Corrects time delay at stop with dwelling time
389
396
  *
390
397
  * @param {number} timeDelay - Initial computed delay in seconds, can be negative for trip ahead
391
- * @param {IPositionsContext | null} context - Context state, holds information about previous positions
398
+ * @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
392
399
  * @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Feature Point of current position
393
400
  * @param {IShapeAnchorPoint} thisClosestPoint - Closest point of shape anchors
394
401
  * @param { departureTime: number; arrivalTime: number } stopTimes - departure and arrival stop times in seconds