@golemio/pid 5.19.1-dev.2792003132 → 5.19.1-dev.2809129013
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/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.d.ts +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js +5 -54
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DPPUtils.d.ts +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +13 -14
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js +35 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/ComputeDelayHelper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js +35 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/AbstractDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js +37 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/CommonDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +37 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +3 -11
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/RegionalBusComputeDelayHelper.js +35 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/RegionalBusComputeDelayHelper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js +37 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.d.ts +68 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.js +213 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js +37 -11
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +22 -10
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces.d.ts +8 -8
- package/docs/asyncapi.yaml +0 -9
- package/docs/cache/types/psql.md +6 -11
- package/docs/processing/index.md +1 -0
- package/docs/processing/trip_context/index.md +85 -0
- package/package.json +1 -1
|
@@ -58,6 +58,7 @@ const PositionStateDelayManager_1 = require("../state-position/PositionStateDela
|
|
|
58
58
|
const RegionalBusComputeDelayHelper_1 = require("./compute-positions/RegionalBusComputeDelayHelper");
|
|
59
59
|
const BasePositionsManager_1 = require("../BasePositionsManager");
|
|
60
60
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
61
|
+
const TripContextHelper = __importStar(require("../trip-context/TripContextHelper"));
|
|
61
62
|
let RegionalBusPositionsManager = RegionalBusPositionsManager_1 = class RegionalBusPositionsManager extends BasePositionsManager_1.BasePositionsManager {
|
|
62
63
|
constructor(validToCalculator, logger) {
|
|
63
64
|
super({ useEndTimestamp: false, allowCancelState: false });
|
|
@@ -150,20 +151,11 @@ let RegionalBusPositionsManager = RegionalBusPositionsManager_1 = class Regional
|
|
|
150
151
|
// and it is NOT AT_STOP
|
|
151
152
|
// then disrupt atStopStreak
|
|
152
153
|
if (this.disruptAtStopStreak(position, positionToUpdate)) {
|
|
153
|
-
context
|
|
154
|
+
TripContextHelper.clearAtStopStreak(context);
|
|
154
155
|
}
|
|
155
156
|
// duplicated position should not be considered at all
|
|
156
157
|
if (positionToUpdate && positionToUpdate.state_position !== const_1.StatePositionEnum.DUPLICATE) {
|
|
157
|
-
context
|
|
158
|
-
context.lastPositionLat = position.lat;
|
|
159
|
-
context.lastPositionLng = position.lng;
|
|
160
|
-
context.lastPositionCanceled = position.is_canceled;
|
|
161
|
-
context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
|
|
162
|
-
context.lastStopSequence = positionToUpdate.last_stop_sequence ?? context.lastStopSequence ?? null;
|
|
163
|
-
if (context.lastPositionState !== positionToUpdate.state_position) {
|
|
164
|
-
context.lastPositionState = positionToUpdate.state_position;
|
|
165
|
-
context.lastPositionStateChange = new Date().toISOString();
|
|
166
|
-
}
|
|
158
|
+
TripContextHelper.commitValidPosition(context, position, positionToUpdate, position.is_canceled);
|
|
167
159
|
RegionalBusComputeDelayHelper_1.RegionalBusComputeDelayHelper.updateContext(context, positionToUpdate, position, gtfsRouteType);
|
|
168
160
|
}
|
|
169
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAuD;AACvD,uEAA8E;AAG9E,iEAAwE;AACxE,iDAAmC;AAEnC,mDAAgE;AAShE,gEAA6D;AAC7D,4DAAyD;AACzD,2FAAwF;AACxF,qGAAkG;AAClG,kEAA+D;AAI/D,wEAAqE;
|
|
1
|
+
{"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.RegionalBusComputeDelayHelper = void 0;
|
|
40
|
+
const TripContextHelper = __importStar(require("../../trip-context/TripContextHelper"));
|
|
7
41
|
const FactoryDelayAtStop_1 = __importDefault(require("./strategy/FactoryDelayAtStop"));
|
|
8
42
|
class RegionalBusComputeDelayHelper {
|
|
9
43
|
/**
|
|
10
44
|
* Saves relevant information to calculate delays in future vehicle position iterations.
|
|
11
45
|
*/
|
|
12
46
|
static updateContext(context, positionToUpdate, position, gtfsRouteType) {
|
|
13
|
-
context
|
|
47
|
+
TripContextHelper.setLastPositionDelay(context, positionToUpdate, position);
|
|
14
48
|
return (FactoryDelayAtStop_1.default.getInstance().getStrategy(gtfsRouteType)?.updateContext(context, positionToUpdate, position) ??
|
|
15
49
|
context);
|
|
16
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalBusComputeDelayHelper.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/RegionalBusComputeDelayHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RegionalBusComputeDelayHelper.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/RegionalBusComputeDelayHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wFAA0E;AAC1E,uFAA+D;AAE/D,MAAa,6BAA6B;IACtC;;OAEG;IACI,MAAM,CAAC,aAAa,CACvB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC,EACpC,aAAgC;QAEhC,iBAAiB,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAE5E,OAAO,CACH,4BAAkB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC;YAC/G,OAAO,CACV,CAAC;IACN,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAChC,OAAoC,EACpC,gBAAmC,EACnC,QAAoC,EACpC,aAAgC;QAEhC,OAAO,CACH,4BAAkB,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC;YAChH,gBAAgB,CACnB,CAAC;IACN,CAAC;CACJ;AAhCD,sEAgCC"}
|
|
@@ -1,10 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.BusDelayAtStop = void 0;
|
|
7
40
|
const const_1 = require("../../../../../../../../const");
|
|
41
|
+
const TripContextHelper = __importStar(require("../../../trip-context/TripContextHelper"));
|
|
8
42
|
const AbstractDelayAtStop_1 = __importDefault(require("../../../compute-positions/strategy/AbstractDelayAtStop"));
|
|
9
43
|
class BusDelayAtStop extends AbstractDelayAtStop_1.default {
|
|
10
44
|
updateContext(context, positionToUpdate, position) {
|
|
@@ -12,14 +46,12 @@ class BusDelayAtStop extends AbstractDelayAtStop_1.default {
|
|
|
12
46
|
return context;
|
|
13
47
|
}
|
|
14
48
|
context = this.resetContext(context, positionToUpdate, position);
|
|
15
|
-
|
|
16
|
-
context.lastPositionLastStop.sequence = positionToUpdate.last_stop_sequence ?? position.last_stop_sequence ?? null;
|
|
17
|
-
}
|
|
49
|
+
TripContextHelper.updateLastStopSequenceIfUnset(context, positionToUpdate, position);
|
|
18
50
|
if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP ||
|
|
19
51
|
positionToUpdate.state_position === const_1.StatePositionEnum.ON_TRACK ||
|
|
20
52
|
this.isValidUntrackedPosition(positionToUpdate)) {
|
|
21
|
-
context
|
|
22
|
-
context
|
|
53
|
+
TripContextHelper.setLastStopArrivalDelay(context, positionToUpdate.delay_stop_arrival ?? null);
|
|
54
|
+
TripContextHelper.setLastStopDepartureDelay(context, positionToUpdate.delay_stop_departure ?? null);
|
|
23
55
|
}
|
|
24
56
|
return context;
|
|
25
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BusDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/compute-positions/strategy/BusDelayAtStop.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,yDAAoE;AACpE,2FAA6E;AAC7E,kHAA0F;AAE1F,MAAa,cAAe,SAAQ,6BAAmB;IAC5C,aAAa,CAChB,OAAoC,EACpC,gBAA0C,EAC1C,QAAoC;QAEpC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAClG,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAEjE,iBAAiB,CAAC,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAErF,IACI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO;YAC7D,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ;YAC9D,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EACjD,CAAC;YACC,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC;YAChG,iBAAiB,CAAC,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,cAAc,CACjB,OAAoC,EACpC,gBAAmC,EACnC,QAAgD;QAEhD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAC1F,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,gBAAgB,CAAC,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACjF,gBAAgB,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC;QAErF,IAAI,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,CAAC;YAChE,gBAAgB,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CACtD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EACnC,gBAAgB,CAAC,sBAAsB,CAC1C,CAAC;QACN,CAAC;aAAM,IAAI,gBAAgB,CAAC,cAAc,KAAK,yBAAiB,CAAC,OAAO,EAAE,CAAC;YACvE,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;YAExE,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,kBAAkB,GAAG,cAAc,CAAC;YACzD,CAAC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,gBAAgB,CAAC,oBAAoB,GAAG,cAAc,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,QAAoC;QACzD,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,SAAS,KAAK,4BAAoB,CAAC,UAAU,CAAC;IACzF,CAAC;CACJ;AA5DD,wCA4DC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { IPositionToUpdate } from "../../interfaces/VPInterfaces";
|
|
2
|
+
import { IVPTripsPositionAttributes } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
|
|
3
|
+
import { IVPTripsLastPositionContext } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
|
|
4
|
+
import { StatePositionEnum } from "../../../../../../const";
|
|
5
|
+
export interface ITransitionStateOptions {
|
|
6
|
+
forceTimestamp?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Builds a fresh trip context for a trip that has no persisted context yet.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createInitial(tripId: string): IVPTripsLastPositionContext;
|
|
12
|
+
/**
|
|
13
|
+
* Commits a successfully processed position into the context - id, coordinates, canceled flag,
|
|
14
|
+
* origin timestamp, last stop sequence and the position state transition.
|
|
15
|
+
*/
|
|
16
|
+
export declare function commitValidPosition(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, positionToUpdate: IPositionToUpdate, canceled: boolean): void;
|
|
17
|
+
/**
|
|
18
|
+
* Transitions the position state. By default only stamps `lastPositionStateChange` when the state
|
|
19
|
+
* actually changes; `forceTimestamp` always restamps regardless of whether the state changed.
|
|
20
|
+
*/
|
|
21
|
+
export declare function transitionState(context: IVPTripsLastPositionContext, state: StatePositionEnum, options?: ITransitionStateOptions): void;
|
|
22
|
+
/**
|
|
23
|
+
* Records the last known tracking point (only for AT_STOP/ON_TRACK positions).
|
|
24
|
+
*/
|
|
25
|
+
export declare function recordTracking(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, positionToUpdate: IPositionToUpdate | null): void;
|
|
26
|
+
/**
|
|
27
|
+
* Records the sticky BEFORE_TRACK_DELAYED position. Stores the timestamp as-is (Date), never calls
|
|
28
|
+
* `.getTime()` on it.
|
|
29
|
+
*/
|
|
30
|
+
export declare function recordBeforeTrackDelayed(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, positionToUpdate: IPositionToUpdate | null): void;
|
|
31
|
+
/**
|
|
32
|
+
* Starts a new at-stop streak when the stop sequence changed.
|
|
33
|
+
*/
|
|
34
|
+
export declare function updateAtStopStreak(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, positionToUpdate: IPositionToUpdate | null): void;
|
|
35
|
+
/**
|
|
36
|
+
* Disrupts the at-stop streak. Zeroes ONLY `stop_sequence` - `firstPositionTimestamp` and
|
|
37
|
+
* `firstPositionDelay` are intentionally left untouched (persisted as-is).
|
|
38
|
+
*/
|
|
39
|
+
export declare function clearAtStopStreak(context: IVPTripsLastPositionContext): void;
|
|
40
|
+
/**
|
|
41
|
+
* Resets all last-stop-delay bookkeeping (sequence, arrival delay, departure delay).
|
|
42
|
+
*/
|
|
43
|
+
export declare function resetLastStopDelay(context: IVPTripsLastPositionContext): void;
|
|
44
|
+
/**
|
|
45
|
+
* Sets the last-stop sequence only when it is currently unset, falling back from `positionToUpdate`
|
|
46
|
+
* to `position` to `null`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function updateLastStopSequenceIfUnset(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null, position: IVPTripsPositionAttributes | undefined): void;
|
|
49
|
+
/**
|
|
50
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
51
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
52
|
+
*/
|
|
53
|
+
export declare function setLastStopArrivalDelay(context: IVPTripsLastPositionContext, delay: number | null | undefined): void;
|
|
54
|
+
/**
|
|
55
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
56
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
57
|
+
*/
|
|
58
|
+
export declare function setLastStopDepartureDelay(context: IVPTripsLastPositionContext, delay: number | null | undefined): void;
|
|
59
|
+
/**
|
|
60
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
61
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
62
|
+
*/
|
|
63
|
+
export declare function setLastPositionDelay(context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null, position: IVPTripsPositionAttributes): void;
|
|
64
|
+
/**
|
|
65
|
+
* Force-restamps the context for a propagated delay (mutation site #12): coordinates, forced state
|
|
66
|
+
* transition to BEFORE_TRACK_DELAYED and the sticky before-track-delayed snapshot.
|
|
67
|
+
*/
|
|
68
|
+
export declare function recordPropagatedDelay(context: IVPTripsLastPositionContext, lat: number | string, lng: number | string, delay: number, originTimestamp: Date): void;
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createInitial = createInitial;
|
|
37
|
+
exports.commitValidPosition = commitValidPosition;
|
|
38
|
+
exports.transitionState = transitionState;
|
|
39
|
+
exports.recordTracking = recordTracking;
|
|
40
|
+
exports.recordBeforeTrackDelayed = recordBeforeTrackDelayed;
|
|
41
|
+
exports.updateAtStopStreak = updateAtStopStreak;
|
|
42
|
+
exports.clearAtStopStreak = clearAtStopStreak;
|
|
43
|
+
exports.resetLastStopDelay = resetLastStopDelay;
|
|
44
|
+
exports.updateLastStopSequenceIfUnset = updateLastStopSequenceIfUnset;
|
|
45
|
+
exports.setLastStopArrivalDelay = setLastStopArrivalDelay;
|
|
46
|
+
exports.setLastStopDepartureDelay = setLastStopDepartureDelay;
|
|
47
|
+
exports.setLastPositionDelay = setLastPositionDelay;
|
|
48
|
+
exports.recordPropagatedDelay = recordPropagatedDelay;
|
|
49
|
+
const turf = __importStar(require("@turf/turf"));
|
|
50
|
+
const const_1 = require("../../../../../../const");
|
|
51
|
+
/**
|
|
52
|
+
* Builds a fresh trip context for a trip that has no persisted context yet.
|
|
53
|
+
*/
|
|
54
|
+
function createInitial(tripId) {
|
|
55
|
+
return {
|
|
56
|
+
atStopStreak: {
|
|
57
|
+
stop_sequence: null,
|
|
58
|
+
firstPositionTimestamp: null,
|
|
59
|
+
firstPositionDelay: null,
|
|
60
|
+
},
|
|
61
|
+
lastPositionLastStop: {
|
|
62
|
+
sequence: null,
|
|
63
|
+
arrival_delay: null,
|
|
64
|
+
departure_delay: null,
|
|
65
|
+
},
|
|
66
|
+
lastPositionDelay: null,
|
|
67
|
+
lastPositionId: null,
|
|
68
|
+
lastPositionLat: null,
|
|
69
|
+
lastPositionLng: null,
|
|
70
|
+
lastPositionOriginTimestamp: null,
|
|
71
|
+
lastPositionTracking: null,
|
|
72
|
+
lastPositionCanceled: null,
|
|
73
|
+
lastPositionBeforeTrackDelayed: null,
|
|
74
|
+
lastPositionState: null,
|
|
75
|
+
lastStopSequence: null,
|
|
76
|
+
lastPositionStateChange: null,
|
|
77
|
+
tripId,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Commits a successfully processed position into the context - id, coordinates, canceled flag,
|
|
82
|
+
* origin timestamp, last stop sequence and the position state transition.
|
|
83
|
+
*/
|
|
84
|
+
function commitValidPosition(context, position, positionToUpdate, canceled) {
|
|
85
|
+
context.lastPositionId = position.id;
|
|
86
|
+
context.lastPositionLat = position.lat;
|
|
87
|
+
context.lastPositionLng = position.lng;
|
|
88
|
+
context.lastPositionCanceled = canceled;
|
|
89
|
+
context.lastPositionOriginTimestamp = position.origin_timestamp.getTime();
|
|
90
|
+
context.lastStopSequence = positionToUpdate.last_stop_sequence ?? context.lastStopSequence ?? null;
|
|
91
|
+
transitionState(context, positionToUpdate.state_position);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Transitions the position state. By default only stamps `lastPositionStateChange` when the state
|
|
95
|
+
* actually changes; `forceTimestamp` always restamps regardless of whether the state changed.
|
|
96
|
+
*/
|
|
97
|
+
function transitionState(context, state, options) {
|
|
98
|
+
const forceTimestamp = options?.forceTimestamp ?? false;
|
|
99
|
+
if (forceTimestamp || context.lastPositionState !== state) {
|
|
100
|
+
context.lastPositionState = state;
|
|
101
|
+
context.lastPositionStateChange = new Date().toISOString();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Records the last known tracking point (only for AT_STOP/ON_TRACK positions).
|
|
106
|
+
*/
|
|
107
|
+
function recordTracking(context, position, positionToUpdate) {
|
|
108
|
+
if (positionToUpdate?.state_position === const_1.StatePositionEnum.AT_STOP ||
|
|
109
|
+
positionToUpdate?.state_position === const_1.StatePositionEnum.ON_TRACK ||
|
|
110
|
+
position.state_position === const_1.StatePositionEnum.AT_STOP ||
|
|
111
|
+
position.state_position === const_1.StatePositionEnum.ON_TRACK) {
|
|
112
|
+
const mergedPosition = { ...position, ...positionToUpdate };
|
|
113
|
+
// Explicit literal with `?? null` per field: any field that would otherwise merge in as
|
|
114
|
+
// `undefined` now persists as `null` instead. This is an intentional, documented behavior
|
|
115
|
+
// change - `undefined` keys get dropped by `JSON.stringify`, `null` keys are kept.
|
|
116
|
+
context.lastPositionTracking = turf.point([position.lng, position.lat], {
|
|
117
|
+
bearing: mergedPosition.bearing ?? null,
|
|
118
|
+
shape_dist_traveled: mergedPosition.shape_dist_traveled ?? null,
|
|
119
|
+
tcp_event: mergedPosition.tcp_event ?? null,
|
|
120
|
+
last_stop_sequence: mergedPosition.last_stop_sequence ?? null,
|
|
121
|
+
last_stop_id: mergedPosition.last_stop_id ?? null,
|
|
122
|
+
last_stop_arrival_time: mergedPosition.last_stop_arrival_time ?? null,
|
|
123
|
+
last_stop_departure_time: mergedPosition.last_stop_departure_time ?? null,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Records the sticky BEFORE_TRACK_DELAYED position. Stores the timestamp as-is (Date), never calls
|
|
129
|
+
* `.getTime()` on it.
|
|
130
|
+
*/
|
|
131
|
+
function recordBeforeTrackDelayed(context, position, positionToUpdate) {
|
|
132
|
+
if (position.state_position === const_1.StatePositionEnum.BEFORE_TRACK_DELAYED) {
|
|
133
|
+
context.lastPositionBeforeTrackDelayed = {
|
|
134
|
+
delay: positionToUpdate?.delay ?? position.delay,
|
|
135
|
+
origin_timestamp: positionToUpdate?.origin_timestamp ?? position.origin_timestamp,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Starts a new at-stop streak when the stop sequence changed.
|
|
141
|
+
*/
|
|
142
|
+
function updateAtStopStreak(context, position, positionToUpdate) {
|
|
143
|
+
const stopSequenceChanged = positionToUpdate
|
|
144
|
+
? positionToUpdate.this_stop_sequence && context.atStopStreak.stop_sequence !== positionToUpdate.this_stop_sequence
|
|
145
|
+
: position.this_stop_sequence && context.atStopStreak.stop_sequence !== position.this_stop_sequence;
|
|
146
|
+
if (stopSequenceChanged) {
|
|
147
|
+
context.atStopStreak.stop_sequence = positionToUpdate
|
|
148
|
+
? positionToUpdate.this_stop_sequence
|
|
149
|
+
: position.this_stop_sequence;
|
|
150
|
+
context.atStopStreak.firstPositionTimestamp = position.origin_timestamp.getTime();
|
|
151
|
+
context.atStopStreak.firstPositionDelay = positionToUpdate ? positionToUpdate.delay : position.delay;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Disrupts the at-stop streak. Zeroes ONLY `stop_sequence` - `firstPositionTimestamp` and
|
|
156
|
+
* `firstPositionDelay` are intentionally left untouched (persisted as-is).
|
|
157
|
+
*/
|
|
158
|
+
function clearAtStopStreak(context) {
|
|
159
|
+
context.atStopStreak.stop_sequence = null;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Resets all last-stop-delay bookkeeping (sequence, arrival delay, departure delay).
|
|
163
|
+
*/
|
|
164
|
+
function resetLastStopDelay(context) {
|
|
165
|
+
context.lastPositionLastStop.arrival_delay = null;
|
|
166
|
+
context.lastPositionLastStop.sequence = null;
|
|
167
|
+
context.lastPositionLastStop.departure_delay = null;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Sets the last-stop sequence only when it is currently unset, falling back from `positionToUpdate`
|
|
171
|
+
* to `position` to `null`.
|
|
172
|
+
*/
|
|
173
|
+
function updateLastStopSequenceIfUnset(context, positionToUpdate, position) {
|
|
174
|
+
if (context.lastPositionLastStop.sequence === null) {
|
|
175
|
+
context.lastPositionLastStop.sequence = positionToUpdate?.last_stop_sequence ?? position?.last_stop_sequence ?? null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
180
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
181
|
+
*/
|
|
182
|
+
function setLastStopArrivalDelay(context, delay) {
|
|
183
|
+
context.lastPositionLastStop.arrival_delay = delay;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
187
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
188
|
+
*/
|
|
189
|
+
function setLastStopDepartureDelay(context, delay) {
|
|
190
|
+
context.lastPositionLastStop.departure_delay = delay;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Verbatim pass-through - `undefined` must remain `undefined` (dropped by `JSON.stringify`), never
|
|
194
|
+
* coerced to `null`, since that would change the persisted bytes.
|
|
195
|
+
*/
|
|
196
|
+
function setLastPositionDelay(context, positionToUpdate, position) {
|
|
197
|
+
context.lastPositionDelay = (positionToUpdate ? positionToUpdate.delay : position.delay);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Force-restamps the context for a propagated delay (mutation site #12): coordinates, forced state
|
|
201
|
+
* transition to BEFORE_TRACK_DELAYED and the sticky before-track-delayed snapshot.
|
|
202
|
+
*/
|
|
203
|
+
function recordPropagatedDelay(context, lat, lng, delay, originTimestamp) {
|
|
204
|
+
// Sequelize DECIMAL columns come back as strings.
|
|
205
|
+
context.lastPositionLat = typeof lat === "string" ? parseFloat(lat) : lat;
|
|
206
|
+
context.lastPositionLng = typeof lng === "string" ? parseFloat(lng) : lng;
|
|
207
|
+
transitionState(context, const_1.StatePositionEnum.BEFORE_TRACK_DELAYED, { forceTimestamp: true });
|
|
208
|
+
context.lastPositionBeforeTrackDelayed = {
|
|
209
|
+
delay,
|
|
210
|
+
origin_timestamp: originTimestamp,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=TripContextHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TripContextHelper.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/trip-context/TripContextHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
2
18
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
20
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
21
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
22
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
23
|
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
8
41
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
42
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
43
|
};
|
|
@@ -19,6 +52,7 @@ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
|
19
52
|
const const_1 = require("../../../../../../const");
|
|
20
53
|
const PositionsRepository_1 = require("../../data-access/PositionsRepository");
|
|
21
54
|
const constants_1 = require("../../constants");
|
|
55
|
+
const TripContextHelper = __importStar(require("../../helpers/trip-context/TripContextHelper"));
|
|
22
56
|
let AbstractPropagateDelayTask = class AbstractPropagateDelayTask extends integration_engine_1.AbstractTask {
|
|
23
57
|
constructor(tripsRepository, positionsRepository) {
|
|
24
58
|
super(constants_1.WORKER_NAME);
|
|
@@ -54,20 +88,12 @@ let AbstractPropagateDelayTask = class AbstractPropagateDelayTask extends integr
|
|
|
54
88
|
}
|
|
55
89
|
delayInSeconds = Math.max(0, delayInSeconds - turnTimeAcc);
|
|
56
90
|
}
|
|
91
|
+
const context = { ...(trip.last_position_context ?? TripContextHelper.createInitial(trip.id)) };
|
|
92
|
+
TripContextHelper.recordPropagatedDelay(context, lastPosition.lat, lastPosition.lng, delayInSeconds, lastPosition.origin_timestamp);
|
|
57
93
|
tripsToUpdate.set(trip.id, {
|
|
58
94
|
id: trip.id,
|
|
59
95
|
last_position_id: lastPosition.id,
|
|
60
|
-
last_position_context:
|
|
61
|
-
...trip.last_position_context,
|
|
62
|
-
lastPositionLat: typeof lastPosition.lat === "string" ? parseFloat(lastPosition.lat) : lastPosition.lat,
|
|
63
|
-
lastPositionLng: typeof lastPosition.lng === "string" ? parseFloat(lastPosition.lng) : lastPosition.lng,
|
|
64
|
-
lastPositionState: const_1.StatePositionEnum.BEFORE_TRACK_DELAYED,
|
|
65
|
-
lastPositionStateChange: new Date().toISOString(),
|
|
66
|
-
lastPositionBeforeTrackDelayed: {
|
|
67
|
-
delay: delayInSeconds,
|
|
68
|
-
origin_timestamp: lastPosition.origin_timestamp,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
96
|
+
last_position_context: context,
|
|
71
97
|
});
|
|
72
98
|
positionsToUpdate.push({
|
|
73
99
|
id: lastPosition.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPropagateDelayTask.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractPropagateDelayTask.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/abstract/AbstractPropagateDelayTask.ts"],"names":[],"mappings":"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"}
|