@golemio/pid 4.3.2-rc.2145995862 → 4.3.2-rc.2149467904
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/helpers/GtfsStopParser.d.ts +1 -0
- package/dist/helpers/GtfsStopParser.js +6 -1
- package/dist/helpers/GtfsStopParser.js.map +1 -1
- package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js +0 -2
- package/dist/integration-engine/data-retention/helpers/SelectRepositoryFactory.js.map +1 -1
- package/dist/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.d.ts +0 -1
- package/dist/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.js +0 -1
- package/dist/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository.d.ts +2 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository.js +4 -5
- package/dist/integration-engine/vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-descriptors/tasks/RefreshDescriptorsTask.js +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-descriptors/tasks/RefreshDescriptorsTask.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +4 -1
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +21 -6
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +3 -0
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +17 -0
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -1
- package/dist/output-gateway/pid/index.d.ts +7 -0
- package/dist/output-gateway/pid/index.js.map +1 -1
- package/dist/output-gateway/pid/service/facade/TransferFacade.d.ts +26 -4
- package/dist/output-gateway/pid/service/facade/TransferFacade.js +214 -0
- package/dist/output-gateway/pid/service/facade/TransferFacade.js.map +1 -1
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.d.ts +2 -0
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js +44 -0
- package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js.map +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.d.ts +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js +16 -20
- package/dist/output-gateway/public/data-access/redis/PublicStopTimeRepository.js.map +1 -1
- package/docs/implementation_documentation.md +2 -2
- package/package.json +2 -2
|
@@ -4,6 +4,8 @@ exports.GtfsStopParser = void 0;
|
|
|
4
4
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
5
5
|
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
6
6
|
const const_1 = require("../const");
|
|
7
|
+
const aswNodeMatch = /\d+/;
|
|
8
|
+
const nonNumericRegExp = /[^\d]+/g;
|
|
7
9
|
class GtfsStopParser {
|
|
8
10
|
static isValidInteger(value) {
|
|
9
11
|
return value >= const_1.PG_INT_MIN && value <= const_1.PG_INT_MAX;
|
|
@@ -35,10 +37,13 @@ class GtfsStopParser {
|
|
|
35
37
|
}
|
|
36
38
|
static normalizedStopId(stopId) {
|
|
37
39
|
return stopId
|
|
38
|
-
.split(
|
|
40
|
+
.split(nonNumericRegExp)
|
|
39
41
|
.filter((s) => !!s.length)
|
|
40
42
|
.join("/");
|
|
41
43
|
}
|
|
44
|
+
static normalizedNodeId(stopId) {
|
|
45
|
+
return (aswNodeMatch.exec(stopId) || [])[0] ?? "";
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
48
|
exports.GtfsStopParser = GtfsStopParser;
|
|
44
49
|
//# sourceMappingURL=GtfsStopParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GtfsStopParser.js","sourceRoot":"","sources":["../../src/helpers/GtfsStopParser.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AACxE,mEAA8E;AAC9E,oCAAmD;AAEnD,MAAa,cAAc;IACf,MAAM,CAAC,cAAc,CAAC,KAAa;QACvC,OAAO,KAAK,IAAI,kBAAU,IAAI,KAAK,IAAI,kBAAU,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,MAAgB;QACjD,IAAI,eAAe,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE;gBACV,SAAS;aACZ;YACD,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAExD,eAAe,CAAC,IAAI,CAChB,qBAAS,CAAC,GAAG,CACT,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3D,SAAS,IAAI,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAC7E,CACJ,CAAC;SACL;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QACvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzG,MAAM,IAAI,6BAAY,CAAC,mBAAmB,KAAK,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;SACxH;IACL,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,KAAa;QAInC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,KAAa;QACxC,OAAO,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACzC,OAAO,MAAM;aACR,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"GtfsStopParser.js","sourceRoot":"","sources":["../../src/helpers/GtfsStopParser.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AACxE,mEAA8E;AAC9E,oCAAmD;AAEnD,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC,MAAa,cAAc;IACf,MAAM,CAAC,cAAc,CAAC,KAAa;QACvC,OAAO,KAAK,IAAI,kBAAU,IAAI,KAAK,IAAI,kBAAU,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,MAAgB;QACjD,IAAI,eAAe,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YACxB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE;gBACV,SAAS;aACZ;YACD,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAExD,eAAe,CAAC,IAAI,CAChB,qBAAS,CAAC,GAAG,CACT,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAC3D,SAAS,IAAI,qBAAS,CAAC,KAAK,CAAC,qBAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAC7E,CACJ,CAAC;SACL;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAe;QACvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzG,MAAM,IAAI,6BAAY,CAAC,mBAAmB,KAAK,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,mBAAmB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;SACxH;IACL,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,KAAa;QAInC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,KAAa;QACxC,OAAO,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACzC,OAAO,MAAM;aACR,KAAK,CAAC,gBAAgB,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACzC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,CAAC;CACJ;AAtDD,wCAsDC"}
|
|
@@ -29,8 +29,6 @@ class SelectRepositoryFactory {
|
|
|
29
29
|
return new CisStopRepository_1.CisStopRepository();
|
|
30
30
|
case RepositoryTableNameEnum_1.RepositoryTableName.StopTimesHistory:
|
|
31
31
|
return new StopTimesHistoryRepository_1.StopTimesHistoryRepository();
|
|
32
|
-
case RepositoryTableNameEnum_1.RepositoryTableName.Descriptor:
|
|
33
|
-
return Di_1.VPContainer.resolve(VPContainerToken_1.VPContainerToken.DescriptorRepository);
|
|
34
32
|
case RepositoryTableNameEnum_1.RepositoryTableName.Metro:
|
|
35
33
|
return new MetroRunsMessagesRepository_1.MetroRunsMessagesRepository();
|
|
36
34
|
case RepositoryTableNameEnum_1.RepositoryTableName.RegionalBus:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRepositoryFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/helpers/SelectRepositoryFactory.ts"],"names":[],"mappings":";;;AAAA,yEAAoE;AAEpE,uDAA2D;AAC3D,mFAA8E;AAC9E,uHAAkH;AAClH,yIAAoI;AACpI,yIAAoI;AACpI,iIAA4H;AAC5H,6EAAwE;AAExE,gHAA6G;AAC7G,8HAA2H;AAC3H,0IAAuI;
|
|
1
|
+
{"version":3,"file":"SelectRepositoryFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/helpers/SelectRepositoryFactory.ts"],"names":[],"mappings":";;;AAAA,yEAAoE;AAEpE,uDAA2D;AAC3D,mFAA8E;AAC9E,uHAAkH;AAClH,yIAAoI;AACpI,yIAAoI;AACpI,iIAA4H;AAC5H,6EAAwE;AAExE,gHAA6G;AAC7G,8HAA2H;AAC3H,0IAAuI;AACvI,2HAAwH;AAExH,0FAAmF;AAEnF,MAAa,uBAAuB;IACzB,MAAM,CAAC,IAAyB;QACnC,QAAQ,IAAI,EAAE;YACV,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,gBAAW,CAAC,OAAO,CAAkB,mCAAgB,CAAC,cAAc,CAAC,CAAC;YACjF,KAAK,6CAAmB,CAAC,YAAY;gBACjC,OAAO,IAAI,+CAAsB,EAAE,CAAC;YACxC,KAAK,6CAAmB,CAAC,SAAS;gBAC9B,OAAO,IAAI,yCAAmB,EAAE,CAAC;YACrC,KAAK,6CAAmB,CAAC,gBAAgB;gBACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;YAC5C,KAAK,6CAAmB,CAAC,QAAQ;gBAC7B,OAAO,IAAI,qCAAiB,EAAE,CAAC;YACnC,KAAK,6CAAmB,CAAC,gBAAgB;gBACrC,OAAO,IAAI,uDAA0B,EAAE,CAAC;YAC5C,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,IAAI,yDAA2B,EAAE,CAAC;YAC7C,KAAK,6CAAmB,CAAC,WAAW;gBAChC,OAAO,IAAI,qEAAiC,EAAE,CAAC;YACnD,KAAK,6CAAmB,CAAC,UAAU;gBAC/B,OAAO,IAAI,2CAAoB,EAAE,CAAC;YACtC,KAAK,6CAAmB,CAAC,IAAI;gBACzB,OAAO,gBAAW,CAAC,OAAO,CAAuB,2CAAoB,CAAC,mBAAmB,CAAC,CAAC;YAC/F;gBACI,MAAM,IAAI,6BAAY,CAAC,4BAA4B,CAAC,CAAC;SAC5D;IACL,CAAC;IAEM,6BAA6B,CAAC,IAAyB;QAC1D,QAAQ,IAAI,EAAE;YACV,KAAK,6CAAmB,CAAC,KAAK;gBAC1B,OAAO,mBAAmB,CAAC;YAC/B,KAAK,6CAAmB,CAAC,WAAW;gBAChC,OAAO,mBAAmB,CAAC;YAC/B,KAAK,6CAAmB,CAAC,UAAU;gBAC/B,OAAO,oBAAoB,CAAC;YAChC;gBACI,OAAO,EAAE,CAAC;SACjB;IACL,CAAC;CACJ;AAxCD,0DAwCC"}
|
package/dist/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export declare enum RepositoryTableName {
|
|
|
5
5
|
PositionsHistory = "PositionsHistoryRepository",
|
|
6
6
|
CisStops = "CisStopRepository",
|
|
7
7
|
StopTimesHistory = "StopTimesHistoryRepository",
|
|
8
|
-
Descriptor = "DescriptorRepository",
|
|
9
8
|
Metro = "MetroRunsMessagesRepository",
|
|
10
9
|
RegionalBus = "RegionalBusRunsMessagesRepository",
|
|
11
10
|
CommonRuns = "CommonRunsRepository",
|
|
@@ -9,7 +9,6 @@ var RepositoryTableName;
|
|
|
9
9
|
RepositoryTableName["PositionsHistory"] = "PositionsHistoryRepository";
|
|
10
10
|
RepositoryTableName["CisStops"] = "CisStopRepository";
|
|
11
11
|
RepositoryTableName["StopTimesHistory"] = "StopTimesHistoryRepository";
|
|
12
|
-
RepositoryTableName["Descriptor"] = "DescriptorRepository";
|
|
13
12
|
RepositoryTableName["Metro"] = "MetroRunsMessagesRepository";
|
|
14
13
|
RepositoryTableName["RegionalBus"] = "RegionalBusRunsMessagesRepository";
|
|
15
14
|
RepositoryTableName["CommonRuns"] = "CommonRunsRepository";
|
package/dist/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryTableNameEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"RepositoryTableNameEnum.js","sourceRoot":"","sources":["../../../../../src/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAWX;AAXD,WAAY,mBAAmB;IAC3B,gDAAyB,CAAA;IACzB,8DAAuC,CAAA;IACvC,wDAAiC,CAAA;IACjC,sEAA+C,CAAA;IAC/C,qDAA8B,CAAA;IAC9B,sEAA+C,CAAA;IAC/C,4DAAqC,CAAA;IACrC,wEAAiD,CAAA;IACjD,0DAAmC,CAAA;IACnC,mDAA4B,CAAA;AAChC,CAAC,EAXW,mBAAmB,mCAAnB,mBAAmB,QAW9B"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { GTFSRouteTypeEnum } from "../../../../../helpers/RouteTypeEnums";
|
|
2
2
|
import { DescriptorModel } from "../../../../../schema-definitions/vehicle-descriptors/models";
|
|
3
|
-
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
4
3
|
import { IDescriptorOutputDto } from "../../../../../schema-definitions/vehicle-descriptors/models/interfaces";
|
|
5
4
|
import { ILogger } from "@golemio/core/dist/helpers/logger/LoggerProvider";
|
|
5
|
+
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
6
6
|
export declare class DescriptorRepository extends PostgresModel implements IModel {
|
|
7
7
|
private logger;
|
|
8
8
|
private static REPOSITORY_NAME;
|
|
9
9
|
constructor(logger: ILogger);
|
|
10
10
|
findAccessDescByRegistrationNumbers(registrationNumbers: number[], gtfsRouteType: GTFSRouteTypeEnum): Promise<DescriptorModel[]>;
|
|
11
|
-
|
|
11
|
+
refreshData(descriptors: IDescriptorOutputDto[]): Promise<void>;
|
|
12
12
|
deleteNHoursOldData: (hours: number) => Promise<number>;
|
|
13
13
|
}
|
|
@@ -37,14 +37,15 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
37
37
|
var DescriptorRepository_1;
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.DescriptorRepository = void 0;
|
|
40
|
+
const RepositoryUtils_1 = require("../../../../shared/RepositoryUtils");
|
|
40
41
|
const const_1 = require("../../../../../schema-definitions/const");
|
|
41
42
|
const models_1 = require("../../../../../schema-definitions/vehicle-descriptors/models");
|
|
43
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
42
44
|
const models_2 = require("@golemio/core/dist/integration-engine/models");
|
|
43
45
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
44
46
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
45
47
|
const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
|
|
46
48
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
47
|
-
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
48
49
|
let DescriptorRepository = exports.DescriptorRepository = DescriptorRepository_1 = class DescriptorRepository extends models_2.PostgresModel {
|
|
49
50
|
constructor(logger) {
|
|
50
51
|
super(DescriptorRepository_1.REPOSITORY_NAME, {
|
|
@@ -83,7 +84,7 @@ let DescriptorRepository = exports.DescriptorRepository = DescriptorRepository_1
|
|
|
83
84
|
throw new golemio_errors_1.GeneralError("findAccessDescByRegistrationNumbers: failed to get descriptors", this.name, err);
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
|
-
async
|
|
87
|
+
async refreshData(descriptors) {
|
|
87
88
|
let transaction;
|
|
88
89
|
try {
|
|
89
90
|
await this.validate(descriptors);
|
|
@@ -97,10 +98,8 @@ let DescriptorRepository = exports.DescriptorRepository = DescriptorRepository_1
|
|
|
97
98
|
await transaction?.commit();
|
|
98
99
|
}
|
|
99
100
|
catch (err) {
|
|
100
|
-
const exception = new golemio_errors_1.GeneralError(`[${this.constructor.name}] Could not save data: ${err.message}`, this.constructor.name, err);
|
|
101
|
-
this.logger.error(exception);
|
|
102
101
|
await transaction?.rollback();
|
|
103
|
-
|
|
102
|
+
RepositoryUtils_1.RepositoryUtils.mapSequelizeError(err, this.constructor.name, "refreshData");
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescriptorRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mEAAuC;AACvC,yFAAkE;
|
|
1
|
+
{"version":3,"file":"DescriptorRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-descriptors/data-access/DescriptorRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wEAA6D;AAC7D,mEAAuC;AACvC,yFAAkE;AAElE,wEAAqE;AAErE,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,iFAAiF;AACjF,iEAAwE;AAGjE,IAAM,oBAAoB,2DAA1B,MAAM,oBAAqB,SAAQ,sBAAa;IAGnD,YAAsC,MAAuB;QACzD,KAAK,CACD,sBAAoB,CAAC,eAAe,EACpC;YACI,WAAW,EAAE,wBAAe,CAAC,SAAS;YACtC,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,wBAAe,CAAC,cAAc;YACzD,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,sBAAoB,CAAC,eAAe,GAAG,WAAW,EAAE,wBAAe,CAAC,eAAe,CAAC,CAC/G,CAAC;QAVwC,WAAM,GAAN,MAAM,CAAS;QAkDtD,wBAAmB,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;YAClE,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE;wBACH,UAAU,EAAE;4BACR,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC;yBAClE;qBACJ;iBACJ,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtF;QACL,CAAC,CAAC;IAnDF,CAAC;IAEM,KAAK,CAAC,mCAAmC,CAC5C,mBAA6B,EAC7B,aAAgC;QAEhC,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAkB;gBACtD,UAAU,EAAE,CAAC,0BAA0B,EAAE,qBAAqB,CAAC;gBAC/D,KAAK,EAAE;oBACH,mBAAmB,EAAE,mBAAmB;oBACxC,eAAe,EAAE,aAAa;iBACjC;aACJ,CAAC,CAAC;SACN;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,gEAAgE,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC5G;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,WAAmC;QACxD,IAAI,WAAoC,CAAC;QAEzC,IAAI;YACA,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEjC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;YACjE,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAkB,WAAW,EAAE;gBAC/D,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,KAAK;gBAChB,WAAW;aACd,CAAC,CAAC;YACH,MAAM,WAAW,EAAE,MAAM,EAAE,CAAC;SAC/B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,WAAW,EAAE,QAAQ,EAAE,CAAC;YAC9B,iCAAe,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;SAChF;IACL,CAAC;;AAlDc,oCAAe,GAAG,wBAAwB,AAA3B,CAA4B;+BADjD,oBAAoB;IADhC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAH5B,oBAAoB,CAkEhC"}
|
|
@@ -41,7 +41,7 @@ let RefreshDescriptorsTask = exports.RefreshDescriptorsTask = class RefreshDescr
|
|
|
41
41
|
this.logger.warn(`${this.queueName}: no descriptors out of ${descriptorsResult.length} were transformed or were filtered out`);
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
|
-
await this.descriptorRepository.
|
|
44
|
+
await this.descriptorRepository.refreshData(descriptorsFiltered);
|
|
45
45
|
this.logger.info(`${this.queueName}: ${descriptorsFiltered.length}/${descriptorsResult.length} vehicle descriptors were saved`);
|
|
46
46
|
}
|
|
47
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshDescriptorsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-descriptors/tasks/RefreshDescriptorsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAA8E;
|
|
1
|
+
{"version":3,"file":"RefreshDescriptorsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-descriptors/tasks/RefreshDescriptorsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oEAA8E;AAE9E,8EAA0E;AAC1E,6FAA0F;AAC1F,iEAAwE;AACxE,4CAA2C;AAC3C,8EAA2E;AAC3E,4FAA6G;AAE7G,0FAAuF;AAGhF,IAAM,sBAAsB,oCAA5B,MAAM,sBAAuB,SAAQ,sCAAiB;IAIzD,YAEI,iBAAsD,EAEtD,gBAA2C,EAE3C,oBAAkD,EAElD,wBAA0D,EAC3B,MAAuB;QAEtD,KAAK,CAAC,uBAAW,CAAC,CAAC;QATX,sBAAiB,GAAjB,iBAAiB,CAA6B;QAE9C,qBAAgB,GAAhB,gBAAgB,CAAmB;QAEnC,yBAAoB,GAApB,oBAAoB,CAAsB;QAE1C,6BAAwB,GAAxB,wBAAwB,CAA0B;QACnB,WAAM,GAAN,MAAM,CAAS;QAZ1C,cAAS,GAAG,oBAAoB,CAAC;QACjC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;IAcxD,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,gDAAkB,CAAC,cAAc,CAAC,CAAC;QAC3F,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QACpD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAChG,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAExG,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,SAAS,2BAA2B,iBAAiB,CAAC,MAAM,wCAAwC,CAC/G,CAAC;YACF,OAAO;SACV;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,SAAS,KAAK,mBAAmB,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,iCAAiC,CAChH,CAAC;IACN,CAAC;CACJ,CAAA;iCApCY,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,2BAA2B,CAAC,CAAA;IAEpD,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,gBAAgB,CAAC,CAAA;IAEzC,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,oBAAoB,CAAC,CAAA;IAE7C,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,wBAAwB,CAAC,CAAA;IAEjD,WAAA,IAAA,iBAAM,EAAC,+BAAc,CAAC,MAAM,CAAC,CAAA;qCAPH,yDAA2B,UAIxB,2CAAoB;QAEhB,mDAAwB;GAZrD,sBAAsB,CAoClC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
/// <reference types="express" />
|
|
2
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
2
3
|
import { InfotextFacade } from "../../service/facade/InfotextFacade";
|
|
3
4
|
import { StopFacade } from "../../service/facade/StopFacade";
|
|
4
5
|
import { TransferFacade } from "../../service/facade/TransferFacade";
|
|
5
6
|
import { RequestHandler } from "@golemio/core/dist/shared/express";
|
|
6
7
|
import { TransferDepartureCacheTransformation } from "../../service/transformations/TransferDepartureCacheTransformation";
|
|
7
8
|
export declare class V4TransferBoardsController {
|
|
9
|
+
private config;
|
|
8
10
|
private stopFacade;
|
|
9
11
|
private infotextFacade;
|
|
10
12
|
private transferFacade;
|
|
11
13
|
private transformation;
|
|
12
14
|
private static readonly NO_TRANSFERS;
|
|
13
15
|
private readonly defaultTransferBoardsLimit;
|
|
14
|
-
|
|
16
|
+
private countPreviousStopsToAllow;
|
|
17
|
+
constructor(config: ISimpleConfig, stopFacade: StopFacade, infotextFacade: InfotextFacade, transferFacade: TransferFacade, transformation: TransferDepartureCacheTransformation);
|
|
15
18
|
getTransferBoardData: RequestHandler;
|
|
16
19
|
private accessibilityForStops;
|
|
17
20
|
private enhanceWithTimeAndInfo;
|
|
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
19
19
|
exports.V4TransferBoardsController = void 0;
|
|
20
20
|
const TransferBoardFilter_1 = require("../../helpers/TransferBoardFilter");
|
|
21
21
|
const TransferBoardSorter_1 = require("../../helpers/TransferBoardSorter");
|
|
22
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
22
23
|
const OgPidToken_1 = require("../../ioc/OgPidToken");
|
|
23
24
|
const InfotextFacade_1 = require("../../service/facade/InfotextFacade");
|
|
24
25
|
const StopFacade_1 = require("../../service/facade/StopFacade");
|
|
@@ -34,10 +35,12 @@ const DepartureBoardMapper_1 = __importDefault(require("../../helpers/DepartureB
|
|
|
34
35
|
const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
|
|
35
36
|
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
36
37
|
const DEFAULT_TRANSFER_BOARDS_LIMIT = 8;
|
|
38
|
+
const DEFAULT_PREVIOUS_STOPS_TO_ALLOW = "0";
|
|
37
39
|
const METRO_TRAIN_ACCESSIBILITY = true; // metro trains are always considered wheelchair accessible vehicle
|
|
38
40
|
const DEFAULT_VEHICLE_ACCESSIBILITY = null; // unknown, possibly due to not knowing the vehicle running the trip
|
|
39
41
|
let V4TransferBoardsController = exports.V4TransferBoardsController = V4TransferBoardsController_1 = class V4TransferBoardsController {
|
|
40
|
-
constructor(stopFacade, infotextFacade, transferFacade, transformation) {
|
|
42
|
+
constructor(config, stopFacade, infotextFacade, transferFacade, transformation) {
|
|
43
|
+
this.config = config;
|
|
41
44
|
this.stopFacade = stopFacade;
|
|
42
45
|
this.infotextFacade = infotextFacade;
|
|
43
46
|
this.transferFacade = transferFacade;
|
|
@@ -107,6 +110,16 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
107
110
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.minimalTransferTime(transferCacheDto.transfers, transferCacheDto.delayedTimeFrom);
|
|
108
111
|
TransferBoardSorter_1.TransferBoardSorter.sortDepartures(transferCacheDto.transfers);
|
|
109
112
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.sameStopNameTransfer(transferCacheDto.transfers, transferStop, sameNameStopIds);
|
|
113
|
+
const tripIdsToReadStopsUsingDelay = new Set(TransferBoardFilter_1.TransferBoardFilter.filterOutKeepAlwaysTransfer(transferCacheDto.transfers).map((transfer) => transfer.departure.trip_id));
|
|
114
|
+
const stopTimeIdsTuples = transferCacheDto.transfers.reduce((prev, t) => {
|
|
115
|
+
if (tripIdsToReadStopsUsingDelay.has(t.departure.trip_id) && t.position?.vehicle_id != null) {
|
|
116
|
+
tripIdsToReadStopsUsingDelay.delete(t.departure.trip_id);
|
|
117
|
+
prev.push([t.position.vehicle_id, t.departure.trip_id]);
|
|
118
|
+
}
|
|
119
|
+
return prev;
|
|
120
|
+
}, []);
|
|
121
|
+
const tripIdsToKeep = new Set(await this.transferFacade.findRelevantTripIdsFromLines(tripIdsToReadStopsUsingDelay, transferCacheDto.currentStop, transferCacheDto.currentTripId, stopTimeIdsTuples, this.countPreviousStopsToAllow));
|
|
122
|
+
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.keepAlwaysLinesAndTripIds(transferCacheDto.transfers, tripIdsToKeep);
|
|
110
123
|
const transformedData = this.transformation.transformArray(transferCacheDto.transfers);
|
|
111
124
|
const filteredData = TransferBoardFilter_1.TransferBoardFilter.filterDepartures(transformedData, params.limit, transferCacheDto.delayedTimeFrom.getTime(), now.getTime());
|
|
112
125
|
const output = {
|
|
@@ -126,6 +139,7 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
126
139
|
span?.end();
|
|
127
140
|
}
|
|
128
141
|
};
|
|
142
|
+
this.countPreviousStopsToAllow = parseInt(config.getValue("env.VEHICLE_POSITIONS_COUNT_PREVIOUS_STOPS_TO_ALLOW", DEFAULT_PREVIOUS_STOPS_TO_ALLOW));
|
|
129
143
|
}
|
|
130
144
|
accessibilityForStops(stopsInfo) {
|
|
131
145
|
const accessibilityStopIdsMap = new Map();
|
|
@@ -173,11 +187,12 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
173
187
|
V4TransferBoardsController.NO_TRANSFERS = { departures: [], infotexts: [] };
|
|
174
188
|
exports.V4TransferBoardsController = V4TransferBoardsController = V4TransferBoardsController_1 = __decorate([
|
|
175
189
|
(0, tsyringe_1.injectable)(),
|
|
176
|
-
__param(0, (0, tsyringe_1.inject)(
|
|
177
|
-
__param(1, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
178
|
-
__param(2, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
179
|
-
__param(3, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
180
|
-
|
|
190
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
191
|
+
__param(1, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.StopFacade)),
|
|
192
|
+
__param(2, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.InfotextFacade)),
|
|
193
|
+
__param(3, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.TransferFacade)),
|
|
194
|
+
__param(4, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.TransferDepartureCacheTransformation)),
|
|
195
|
+
__metadata("design:paramtypes", [Object, StopFacade_1.StopFacade,
|
|
181
196
|
InfotextFacade_1.InfotextFacade,
|
|
182
197
|
TransferFacade_1.TransferFacade,
|
|
183
198
|
TransferDepartureCacheTransformation_1.TransferDepartureCacheTransformation])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,2EAA0E;AAC1E,2EAA0E;AAC1E,qDAAoD;AACpD,wEAAuE;AACvE,gEAA+D;AAC/D,wEAAuE;AACvE,4CAA8C;AAC9C,+FAA6F;AAE7F,gGAA+D;AAE/D,iEAAwE;AAExE,6HAA4H;AAC5H,6EAAqE;AACrE,uEAAyD;AAEzD,8FAAwE;AACxE,uEAA4D;AAC5D,mFAA0E;AAE1E,MAAM,6BAA6B,GAAG,CAAC,CAAC;AACxC,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,mEAAmE;AAC3G,MAAM,6BAA6B,GAAG,IAAI,CAAC,CAAC,oEAAoE;AAGzG,IAAM,0BAA0B,uEAAhC,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,9 @@ import { IStopCacheDto } from "../../../schema-definitions/ropid-gtfs/interfaces
|
|
|
2
2
|
import { IDepartureWithPosition, IV4TransferDepartureOutputDto } from "../index";
|
|
3
3
|
export declare class TransferBoardFilter {
|
|
4
4
|
static filterDepartures(transfers: IV4TransferDepartureOutputDto[], limit: number, arrivalTimeMs: number, requestTimeFromMs: number): IV4TransferDepartureOutputDto[];
|
|
5
|
+
private static shouldKeepTransferAlways;
|
|
6
|
+
static filterOutKeepAlwaysTransfer(transfers: IDepartureWithPosition[]): IDepartureWithPosition[];
|
|
7
|
+
static keepAlwaysLinesAndTripIds(transfers: IDepartureWithPosition[], tripIdsToKeep: Set<string>): IDepartureWithPosition[];
|
|
5
8
|
static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
|
|
6
9
|
static sameStopNameTransfer(transfers: IDepartureWithPosition[], currentStop: IStopCacheDto, allowedStopIds: string[]): IDepartureWithPosition[];
|
|
7
10
|
private static isInRange;
|
|
@@ -24,6 +24,12 @@ const DIFFERENT_STOP_NAME_ALLOWED = new Map([
|
|
|
24
24
|
[RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM, false],
|
|
25
25
|
[RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS, false],
|
|
26
26
|
]);
|
|
27
|
+
const TRANSFER_LINE_TYPES_TO_KEEP = new Set([
|
|
28
|
+
RouteTypeEnums_1.GTFSRouteTypeEnum.FERRY,
|
|
29
|
+
RouteTypeEnums_1.GTFSRouteTypeEnum.FUNICULAR,
|
|
30
|
+
RouteTypeEnums_1.GTFSRouteTypeEnum.METRO,
|
|
31
|
+
RouteTypeEnums_1.GTFSRouteTypeEnum.TRAIN,
|
|
32
|
+
]);
|
|
27
33
|
const ONE_HOUR_IN_MS = 60 * 60 * 1000;
|
|
28
34
|
class TransferBoardFilter {
|
|
29
35
|
static filterDepartures(transfers, limit, arrivalTimeMs, requestTimeFromMs) {
|
|
@@ -48,6 +54,17 @@ class TransferBoardFilter {
|
|
|
48
54
|
// Departures are already sorted so that metro ones are first
|
|
49
55
|
return filteredDepartures;
|
|
50
56
|
}
|
|
57
|
+
static shouldKeepTransferAlways(transfer) {
|
|
58
|
+
return TRANSFER_LINE_TYPES_TO_KEEP.has(transfer.departure.route_type);
|
|
59
|
+
}
|
|
60
|
+
static filterOutKeepAlwaysTransfer(transfers) {
|
|
61
|
+
return transfers.filter((t) => !TransferBoardFilter.shouldKeepTransferAlways(t));
|
|
62
|
+
}
|
|
63
|
+
static keepAlwaysLinesAndTripIds(transfers, tripIdsToKeep) {
|
|
64
|
+
return transfers.filter((t) => {
|
|
65
|
+
return TransferBoardFilter.shouldKeepTransferAlways(t) || tripIdsToKeep.has(t.departure.trip_id);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
51
68
|
static minimalTransferTime(transfers, delayedTimeFrom) {
|
|
52
69
|
const arrivalTime = delayedTimeFrom.getTime();
|
|
53
70
|
return transfers.filter((t) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AACzD,oEAA4D;AAI5D,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,iBAAiB,GAAmC,IAAI,GAAG,CAAC;IAC9D,CAAC,kCAAiB,CAAC,GAAG,EAAE,KAAM,CAAC;IAC/B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,KAAM,CAAC;IAC7C,CAAC,kCAAiB,CAAC,KAAK,EAAE,MAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,SAAS,EAAE,MAAO,CAAC;IACtC,CAAC,kCAAiB,CAAC,KAAK,EAAE,MAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,KAAK,EAAE,MAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,IAAI,EAAE,KAAM,CAAC;IAChC,CAAC,kCAAiB,CAAC,UAAU,EAAE,KAAM,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAoC,IAAI,GAAG,CAAC;IACzE,CAAC,kCAAiB,CAAC,GAAG,EAAE,KAAK,CAAC;IAC9B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAC3C,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnC,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;IAC/B,CAAC,kCAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAA2B,IAAI,GAAG,CAAC;IAChE,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,SAAS;IAC3B,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,KAAK;CAC1B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,MAAa,mBAAmB;IACrB,MAAM,CAAC,gBAAgB,CAC1B,SAA0C,EAC1C,KAAa,EACb,aAAqB,EACrB,iBAAyB;QAEzB,MAAM,kBAAkB,GAAoC,EAAE,CAAC;QAE/D,oEAAoE;QACpE,MAAM,0BAA0B,GAAG,aAAa,GAAG,iBAAiB,CAAC;QACrE,MAAM,SAAS,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,cAAc,CAAC;QAElF,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,EAAE;gBACrC,MAAM;aACT;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACnC,SAAS;aACZ;YACD,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE;gBACxE,SAAS;aACZ;YACD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,6DAA6D;QAC7D,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,QAAgC;QACpE,OAAO,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,SAAmC;QACzE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAEM,MAAM,CAAC,yBAAyB,CACnC,SAAmC,EACnC,aAA0B;QAE1B,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,OAAO,mBAAmB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,SAAmC,EAAE,eAAqB;QACxF,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,wBAAwB,CAAC;YACjG,IAAI,CAAC,CAAC,SAAS,CAAC,2BAA2B,IAAI,IAAI,EAAE;gBACjD,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,WAAW,GAAG,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC;QAClF,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAC9B,SAAmC,EACnC,WAA0B,EAC1B,cAAwB;QAExB,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,+BAAc,CAAC,gBAAgB,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAG,+BAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,gBAAgB,GAAG,+BAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9E,IAAI,gBAAgB,KAAK,cAAc,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;YACD,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;gBACzD,OAAO,IAAI,CAAC;aACf;YACD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,SAAwC,EAAE,cAAsB,EAAE,YAAoB;QAC3G,8DAA8D;QAC9D,MAAM,gBAAgB,GAClB,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,KAAK,CAAC,gBAAgB,CAAC;YAAE,OAAO,KAAK,CAAC;QAE1C,+BAA+B;QAC/B,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;QAEpE,6CAA6C;QAC7C,OAAO,cAAc,IAAI,aAAa,IAAI,aAAa,IAAI,YAAY,CAAC;IAC5E,CAAC;CACJ;AA5FD,kDA4FC"}
|
|
@@ -122,6 +122,8 @@ export interface IV4TransferDto {
|
|
|
122
122
|
transfers: IDepartureWithPosition[];
|
|
123
123
|
delayedTimeFrom: Date;
|
|
124
124
|
plannedTimeFrom: Date;
|
|
125
|
+
currentStop: IStop | null;
|
|
126
|
+
currentTripId: string | null;
|
|
125
127
|
}
|
|
126
128
|
export interface IDepartureWithPosition {
|
|
127
129
|
departure: IPublicGtfsDepartureCacheDto & {
|
|
@@ -176,6 +178,11 @@ export interface IDepartureTime {
|
|
|
176
178
|
scheduled: string | null;
|
|
177
179
|
minutes?: string | null;
|
|
178
180
|
}
|
|
181
|
+
export type TransferStops = {
|
|
182
|
+
stops: IStop[];
|
|
183
|
+
currentStopIndex: number;
|
|
184
|
+
};
|
|
185
|
+
export type TripsToTransfers = Map<string, TransferStops>;
|
|
179
186
|
export declare enum DepartureMode {
|
|
180
187
|
DEPARTURES = "departures",
|
|
181
188
|
ARRIVALS = "arrivals",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,4CAA0B;AAC1B,2CAAyB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAQA,4CAA0B;AAC1B,2CAAyB;AAuLzB,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,0CAAyB,CAAA;IACzB,sCAAqB,CAAA;IACrB,gCAAe,CAAA;AACnB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,yCAAuB,CAAA;AAC3B,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,2CAAwB,CAAA;IACxB,0DAAuC,CAAA;IACvC,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,8EAA2D,CAAA;AAC/D,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,mCAAkB,CAAA;IAClB,8BAA8B;AAClC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
2
|
-
import {
|
|
2
|
+
import { IStop, ITransferOutputDto, IV4TransferDto, TransferStops, TripsToTransfers } from "../..";
|
|
3
3
|
import { DeparturesRepository } from "../../data-access";
|
|
4
4
|
import { DelayComputationRepository } from "../../../public/data-access/redis/DelayComputationRepository";
|
|
5
5
|
import { PublicGtfsDepartureRepository } from "../../../public/data-access/redis/PublicGtfsDepartureRepository";
|
|
6
6
|
import { PublicStopTimeRepository } from "../../../public/data-access/redis/PublicStopTimeRepository";
|
|
7
7
|
import { PublicVehiclePositionsRepository } from "../../../public/data-access/redis/PublicVehiclePositionsRepository";
|
|
8
|
-
import { IPublicGtfsDepartureCacheDto } from "../../../../schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto";
|
|
9
|
-
import { IPublicApiCacheDto } from "../../../../schema-definitions/vehicle-positions/redis/interfaces/IPublicApiCacheDto";
|
|
10
8
|
import { TransferDepartureTransformation } from "../transformations/TransferDepartureTransformation";
|
|
9
|
+
export type FilterTripToStops = {
|
|
10
|
+
currentLine: TransferStops;
|
|
11
|
+
currentStop: IStop;
|
|
12
|
+
otherLinesMap: TripsToTransfers;
|
|
13
|
+
tripsToKeep: Set<string>;
|
|
14
|
+
};
|
|
15
|
+
export type FilterSpecificOptions = {
|
|
16
|
+
previousCountMax: number;
|
|
17
|
+
};
|
|
18
|
+
export type LineFilterDto = {
|
|
19
|
+
data: FilterTripToStops;
|
|
20
|
+
options: FilterSpecificOptions;
|
|
21
|
+
};
|
|
22
|
+
export type LineFilterFn = (params: LineFilterDto) => Promise<LineFilterDto>;
|
|
11
23
|
export declare class TransferFacade {
|
|
12
24
|
private publicDepartureRepository;
|
|
13
25
|
private departuresRepository;
|
|
@@ -22,11 +34,21 @@ export declare class TransferFacade {
|
|
|
22
34
|
getTransferDepartures(stopIds: string[], tripNumber: string | null, currentMoment: Moment, minutesOffset: number, timeZone?: string): Promise<ITransferOutputDto[]>;
|
|
23
35
|
private static sortByDepartureTime;
|
|
24
36
|
private static isDifferentLine;
|
|
37
|
+
private static jsonPathDataToLineFilterStop;
|
|
25
38
|
private calculateTimeFrom;
|
|
26
39
|
getTransferCache(stopId: string, stopIds: string[], limit: number, reqNumber: number, vehicleType: number, timeFrom: Date): Promise<IV4TransferDto>;
|
|
27
40
|
private static findStopTimeByStopId;
|
|
28
41
|
private findVehicleArrival;
|
|
29
|
-
processMultiplePositionsForDeparturesAtOnce
|
|
42
|
+
private processMultiplePositionsForDeparturesAtOnce;
|
|
43
|
+
private static findPreviousStopId;
|
|
44
|
+
private static isOtherEndNearCurrent;
|
|
45
|
+
private static isOtherSubsetOfCurrent;
|
|
46
|
+
private static isOppositeDirection;
|
|
47
|
+
private static filterOutForwardSubgroupOfLine;
|
|
48
|
+
private static filterOutLinesWithBacktrackingConflict;
|
|
49
|
+
private static applyFiltersSequentially;
|
|
50
|
+
private static rawTripLinesEntriesToTransfersMap;
|
|
51
|
+
findRelevantTripIdsFromLines(otherLinesTripIdsFromDelay: Set<string>, currentStopInput: IStop, currentTripId: string, stopTimeIds: string[][], previousCountMax?: number): Promise<string[]>;
|
|
30
52
|
/**
|
|
31
53
|
* Fallback options as defined by ROPID
|
|
32
54
|
*/
|
|
@@ -20,6 +20,7 @@ exports.TransferFacade = void 0;
|
|
|
20
20
|
const monitoring_1 = require("@golemio/core/dist/monitoring");
|
|
21
21
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
22
22
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
23
|
+
const GtfsStopParser_1 = require("../../../../helpers/GtfsStopParser");
|
|
23
24
|
const DateTimeUtils_1 = require("../../../../helpers/DateTimeUtils");
|
|
24
25
|
const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
|
|
25
26
|
const pid_1 = require("../..");
|
|
@@ -34,6 +35,7 @@ const PublicVehiclePositionsRepository_1 = require("../../../public/data-access/
|
|
|
34
35
|
const shared_1 = require("../../../shared");
|
|
35
36
|
const const_1 = require("../../../../const");
|
|
36
37
|
const TransferDepartureTransformation_1 = require("../transformations/TransferDepartureTransformation");
|
|
38
|
+
const DUMMY_EMPTY_STRING_FOR_FILTERING = "";
|
|
37
39
|
let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferFacade {
|
|
38
40
|
constructor(publicDepartureRepository, departuresRepository, departureTransformation, tripRepository, stopTimeRepository, delayComputationRepository) {
|
|
39
41
|
this.publicDepartureRepository = publicDepartureRepository;
|
|
@@ -97,6 +99,13 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
97
99
|
// filter out same line
|
|
98
100
|
return departure.route_short_name !== position.gtfs_route_short_name;
|
|
99
101
|
}
|
|
102
|
+
static jsonPathDataToLineFilterStop(stopInfo) {
|
|
103
|
+
return {
|
|
104
|
+
stop_id: GtfsStopParser_1.GtfsStopParser.normalizedNodeId(stopInfo[0]),
|
|
105
|
+
stop_name: stopInfo[1],
|
|
106
|
+
platform_code: stopInfo[2] || DUMMY_EMPTY_STRING_FOR_FILTERING,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
100
109
|
calculateTimeFrom(currentArrival, currentPosition, delayedTimeFrom, plannedTimeFrom) {
|
|
101
110
|
const arrivalDate = new Date(currentArrival.arrival_datetime);
|
|
102
111
|
// arrival before expected time (negative number) is taken as 0 delay
|
|
@@ -111,6 +120,8 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
111
120
|
let delayedTimeFrom = new Date(timeFrom.getTime());
|
|
112
121
|
let plannedTimeFrom = new Date(timeFrom.getTime());
|
|
113
122
|
let currentArrival = null;
|
|
123
|
+
let currentStop = null;
|
|
124
|
+
let currentTripId = null;
|
|
114
125
|
try {
|
|
115
126
|
// 1. find the vehicle
|
|
116
127
|
const currentPosition = await this.tripRepository.getDetailedVehiclePosition(`service-${vehicleType}-${reqNumber}`);
|
|
@@ -120,6 +131,12 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
120
131
|
currentArrival = await this.findVehicleArrival(currentPosition, stopIds, stopId);
|
|
121
132
|
}
|
|
122
133
|
if (currentPosition && currentArrival) {
|
|
134
|
+
currentStop = {
|
|
135
|
+
stop_id: currentArrival.stop_id,
|
|
136
|
+
stop_name: currentArrival.stop_name,
|
|
137
|
+
platform_code: currentArrival.platform_code || DUMMY_EMPTY_STRING_FOR_FILTERING,
|
|
138
|
+
};
|
|
139
|
+
currentTripId = currentPosition.gtfs_trip_id;
|
|
123
140
|
this.calculateTimeFrom(currentArrival, currentPosition, delayedTimeFrom, plannedTimeFrom);
|
|
124
141
|
}
|
|
125
142
|
else {
|
|
@@ -128,6 +145,8 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
128
145
|
transfers: [],
|
|
129
146
|
delayedTimeFrom,
|
|
130
147
|
plannedTimeFrom,
|
|
148
|
+
currentStop,
|
|
149
|
+
currentTripId,
|
|
131
150
|
};
|
|
132
151
|
}
|
|
133
152
|
// timeFrom in query can be too early, minimum is the real arrival of the vehicle
|
|
@@ -164,6 +183,8 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
164
183
|
transfers,
|
|
165
184
|
delayedTimeFrom,
|
|
166
185
|
plannedTimeFrom,
|
|
186
|
+
currentStop,
|
|
187
|
+
currentTripId,
|
|
167
188
|
};
|
|
168
189
|
}
|
|
169
190
|
catch (error) {
|
|
@@ -253,6 +274,199 @@ let TransferFacade = exports.TransferFacade = TransferFacade_1 = class TransferF
|
|
|
253
274
|
}
|
|
254
275
|
return outputGroup;
|
|
255
276
|
}
|
|
277
|
+
static findPreviousStopId(line) {
|
|
278
|
+
if (line.currentStopIndex > 0) {
|
|
279
|
+
return line.stops[line.currentStopIndex - 1].stop_id;
|
|
280
|
+
}
|
|
281
|
+
return line.stops[line.currentStopIndex].stop_id;
|
|
282
|
+
}
|
|
283
|
+
static isOtherEndNearCurrent(otherStops, currentStop) {
|
|
284
|
+
const next = otherStops[0];
|
|
285
|
+
const last = otherStops[otherStops.length - 1];
|
|
286
|
+
if (next.stop_id !== last.stop_id) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
if (next.stop_id === currentStop.stop_id) {
|
|
290
|
+
return true;
|
|
291
|
+
}
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
static isOtherSubsetOfCurrent(otherStops, currentStops) {
|
|
295
|
+
let oIndex = 0, oLen = otherStops.length, cLen = currentStops.length;
|
|
296
|
+
if (oLen > cLen) {
|
|
297
|
+
// other line is longer, thus is not a subset
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
for (let cIndex = 0; cIndex < cLen; cIndex++) {
|
|
301
|
+
if (currentStops[cIndex].stop_id === otherStops[oIndex].stop_id) {
|
|
302
|
+
oIndex++;
|
|
303
|
+
if (oIndex === oLen) {
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
static isOppositeDirection(previousStopId, otherFutureStops) {
|
|
311
|
+
return otherFutureStops.length > 0 && previousStopId === otherFutureStops[0].stop_id;
|
|
312
|
+
}
|
|
313
|
+
static async filterOutForwardSubgroupOfLine(params) {
|
|
314
|
+
const { currentLine } = params.data;
|
|
315
|
+
if (!params.data.otherLinesMap.size)
|
|
316
|
+
return params;
|
|
317
|
+
const currentFutureStops = currentLine.stops.slice(currentLine.currentStopIndex + 1);
|
|
318
|
+
const currentFutureStopIdsSet = new Set(currentFutureStops.map((stop) => stop.stop_id));
|
|
319
|
+
const previousStopId = TransferFacade_1.findPreviousStopId(currentLine);
|
|
320
|
+
for (const [tripId, otherLine] of params.data.otherLinesMap.entries()) {
|
|
321
|
+
if (params.data.tripsToKeep.has(tripId)) {
|
|
322
|
+
// already valid trip from different filter impl.
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
const otherFutureStops = otherLine.stops.slice(otherLine.currentStopIndex + 1);
|
|
326
|
+
if (!otherFutureStops.length) {
|
|
327
|
+
// remove it, no future stops on other line
|
|
328
|
+
params.data.otherLinesMap.delete(tripId);
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
// Filter 1.0: Check if next other stop is same as current stop or the line ends there
|
|
332
|
+
if (TransferFacade_1.isOtherEndNearCurrent(otherFutureStops, params.data.currentStop)) {
|
|
333
|
+
// remove it, transfer for 1-2 stops is not worth it
|
|
334
|
+
params.data.otherLinesMap.delete(tripId);
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
// Filter 1.1: Opposite direction is handled elsewhere, will skip all other Filters 1.x below
|
|
338
|
+
const isOppositeDirection = TransferFacade_1.isOppositeDirection(previousStopId, otherFutureStops);
|
|
339
|
+
if (isOppositeDirection) {
|
|
340
|
+
// leave it for other filter function, this one solves same direction only
|
|
341
|
+
continue;
|
|
342
|
+
}
|
|
343
|
+
// Filter 1.2: Remove trip if other future stops are a subset of current route
|
|
344
|
+
const isSubsetOfCurrentFuture = TransferFacade_1.isOtherSubsetOfCurrent(otherFutureStops, currentFutureStops);
|
|
345
|
+
if (isSubsetOfCurrentFuture) {
|
|
346
|
+
// remove from possible transfers, not relevant transfer at all
|
|
347
|
+
params.data.otherLinesMap.delete(tripId);
|
|
348
|
+
continue;
|
|
349
|
+
}
|
|
350
|
+
// Filter 1.3: If other line has something unique to my current trip, keep it
|
|
351
|
+
const hasOtherFutureStopUniqueToCurrent = otherFutureStops.some(({ stop_id }) => !currentFutureStopIdsSet.has(stop_id));
|
|
352
|
+
if (hasOtherFutureStopUniqueToCurrent) {
|
|
353
|
+
// keep this other-stop transfer line
|
|
354
|
+
params.data.tripsToKeep.add(tripId);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return params;
|
|
358
|
+
}
|
|
359
|
+
static async filterOutLinesWithBacktrackingConflict(params) {
|
|
360
|
+
const { currentLine } = params.data;
|
|
361
|
+
const previousCountMax = params.options.previousCountMax;
|
|
362
|
+
if (!params.data.otherLinesMap.size)
|
|
363
|
+
return params;
|
|
364
|
+
const previousCount = Math.min(previousCountMax, Math.max(previousCountMax, currentLine.currentStopIndex));
|
|
365
|
+
// Get previous N stops before currentStop, most recent first
|
|
366
|
+
const currentLinePastStops = currentLine.stops
|
|
367
|
+
.slice(0, currentLine.currentStopIndex) // all stops before current
|
|
368
|
+
.reverse()
|
|
369
|
+
.slice(0, previousCount + 1); // take N+1 most recent (if one would be different, line should pass)
|
|
370
|
+
for (const [tripId, otherLine] of params.data.otherLinesMap.entries()) {
|
|
371
|
+
if (params.data.tripsToKeep.has(tripId)) {
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
const otherStopIndex = otherLine.currentStopIndex + 1;
|
|
375
|
+
// Get next N+1 stops after currentStop in the other line
|
|
376
|
+
const otherFutureStopsToCheck = otherLine.stops.slice(otherStopIndex, otherStopIndex + previousCount + 1);
|
|
377
|
+
// Filter 2.0: Future stops of other line are subset (or same) as past stop (limit to previousCount) of current line.
|
|
378
|
+
// The order of the current previous stops and other future stops is checked
|
|
379
|
+
const isSubsetOfCurrentPast = TransferFacade_1.isOtherSubsetOfCurrent(otherFutureStopsToCheck, currentLinePastStops);
|
|
380
|
+
if (isSubsetOfCurrentPast) {
|
|
381
|
+
// remove from possible transfers, not relevant transfer at all
|
|
382
|
+
params.data.otherLinesMap.delete(tripId);
|
|
383
|
+
params.data.tripsToKeep.delete(tripId);
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
params.data.tripsToKeep.add(tripId);
|
|
387
|
+
}
|
|
388
|
+
return params;
|
|
389
|
+
}
|
|
390
|
+
static async applyFiltersSequentially(params, filters) {
|
|
391
|
+
return filters.reduce((promiseChain, filterFn) => promiseChain.then(filterFn), Promise.resolve(params));
|
|
392
|
+
}
|
|
393
|
+
static rawTripLinesEntriesToTransfersMap(currentStopInput, currentTripId, stopTimesMap, rawTripIds, rawLinesMap) {
|
|
394
|
+
const otherLinesMap = new Map();
|
|
395
|
+
// apply same transformations as later on the other trips, so we have same format of stop_id / stop_name
|
|
396
|
+
const currentStop = TransferFacade_1.jsonPathDataToLineFilterStop([
|
|
397
|
+
currentStopInput.stop_id,
|
|
398
|
+
currentStopInput.stop_name,
|
|
399
|
+
currentStopInput.platform_code,
|
|
400
|
+
]);
|
|
401
|
+
for (const [tripId, rawLine] of [...rawLinesMap.entries()].concat([...stopTimesMap.entries()])) {
|
|
402
|
+
if (!rawLine?.length) {
|
|
403
|
+
continue;
|
|
404
|
+
}
|
|
405
|
+
let index = null;
|
|
406
|
+
let stops = [];
|
|
407
|
+
if (tripId === currentTripId || rawTripIds.has(tripId)) {
|
|
408
|
+
stops = rawLine.map(TransferFacade_1.jsonPathDataToLineFilterStop);
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
stops = rawLine.map((s) => TransferFacade_1.jsonPathDataToLineFilterStop([s.stop_id, s.stop_name]));
|
|
412
|
+
}
|
|
413
|
+
if (tripId === currentTripId) {
|
|
414
|
+
index = rawLine.findIndex((rawStop) => {
|
|
415
|
+
return rawStop[0] === currentStopInput.stop_id; // gtfs stop id format
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
otherLinesMap.set(tripId, {
|
|
419
|
+
stops,
|
|
420
|
+
currentStopIndex: index ??
|
|
421
|
+
stops.findIndex((stop) => stop.stop_id === currentStop.stop_id && stop.stop_name === currentStop.stop_name),
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
return otherLinesMap;
|
|
425
|
+
}
|
|
426
|
+
async findRelevantTripIdsFromLines(otherLinesTripIdsFromDelay, currentStopInput, currentTripId, stopTimeIds, previousCountMax = 1) {
|
|
427
|
+
if (!otherLinesTripIdsFromDelay.size && !stopTimeIds.length) {
|
|
428
|
+
return [];
|
|
429
|
+
}
|
|
430
|
+
otherLinesTripIdsFromDelay.add(currentTripId);
|
|
431
|
+
const jsonPath = "$.stop_times[*].stop['stop_id','stop_name']";
|
|
432
|
+
const jsonPropertiesCount = 2;
|
|
433
|
+
// JSON.MGET has some serious redis/valkey CPU implications, and we can load stop-times
|
|
434
|
+
// for trips where there is position from stop-times-cache ... so let's combine these two flows in parallel
|
|
435
|
+
const [tripsToStopTimes, rawLinesMap] = await Promise.all([
|
|
436
|
+
this.stopTimeRepository.getManyPublicStopTimeCaches(stopTimeIds),
|
|
437
|
+
this.delayComputationRepository.getJsonPathFieldsAsListOfValues(Array.from(otherLinesTripIdsFromDelay.values()), jsonPath, jsonPropertiesCount),
|
|
438
|
+
]);
|
|
439
|
+
if (!rawLinesMap || !tripsToStopTimes) {
|
|
440
|
+
throw new golemio_errors_1.GeneralError("Failed to find lines and stops for transfer trips", this.constructor.name, "Failed to read stop_id and stop_name properties", 500);
|
|
441
|
+
}
|
|
442
|
+
const otherLinesMap = TransferFacade_1.rawTripLinesEntriesToTransfersMap(currentStopInput, currentTripId, tripsToStopTimes, otherLinesTripIdsFromDelay, rawLinesMap);
|
|
443
|
+
const currentLine = otherLinesMap.get(currentTripId) || null;
|
|
444
|
+
if (!currentLine?.stops.length) {
|
|
445
|
+
throw new golemio_errors_1.GeneralError(`Cannot find data in delay cache for current trip '${currentTripId}'`, this.constructor.name);
|
|
446
|
+
}
|
|
447
|
+
// remove current trip from the lines map
|
|
448
|
+
otherLinesMap.delete(currentTripId);
|
|
449
|
+
if (!otherLinesMap.size) {
|
|
450
|
+
return [];
|
|
451
|
+
}
|
|
452
|
+
const filters = [
|
|
453
|
+
TransferFacade_1.filterOutForwardSubgroupOfLine,
|
|
454
|
+
TransferFacade_1.filterOutLinesWithBacktrackingConflict, // keep oncoming traffic going to my previous stop
|
|
455
|
+
];
|
|
456
|
+
const data = {
|
|
457
|
+
currentStop: currentLine.stops[currentLine.currentStopIndex],
|
|
458
|
+
currentLine,
|
|
459
|
+
otherLinesMap,
|
|
460
|
+
tripsToKeep: new Set(),
|
|
461
|
+
};
|
|
462
|
+
const options = {
|
|
463
|
+
previousCountMax,
|
|
464
|
+
};
|
|
465
|
+
const params = { data, options };
|
|
466
|
+
const results = await TransferFacade_1.applyFiltersSequentially(params, filters);
|
|
467
|
+
const tripIdsToKeep = results.data.tripsToKeep;
|
|
468
|
+
return Array.from(tripIdsToKeep.values());
|
|
469
|
+
}
|
|
256
470
|
/**
|
|
257
471
|
* Fallback options as defined by ROPID
|
|
258
472
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/TransferFacade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TransferFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/TransferFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,8DAAgE;AAChE,6EAA8F;AAE9F,iEAAwE;AAExE,uEAAyD;AACzD,qEAAuD;AACvD,uEAA4D;AAC5D,+BAYiB;AACjB,mDAA2D;AAC3D,qDAAoD;AACpD,0HAAoG;AACpG,+FAA0E;AAC1E,6GAAqG;AACrG,mHAA2G;AAC3G,yGAAiG;AACjG,yHAAiH;AACjH,4CAA8C;AAM9C,6CAA8C;AAC9C,wGAAqG;AAsBrG,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAGrC,IAAM,cAAc,+CAApB,MAAM,cAAc;IAKvB,YAC8D,yBAAwD,EACjE,oBAA0C,EAC/B,uBAAwD,EACvD,cAAgD,EACxD,kBAA4C,EAC1C,0BAAsD;QALnD,8BAAyB,GAAzB,yBAAyB,CAA+B;QACjE,yBAAoB,GAApB,oBAAoB,CAAsB;QAC/B,4BAAuB,GAAvB,uBAAuB,CAAiC;QACvD,mBAAc,GAAd,cAAc,CAAkC;QACxD,uBAAkB,GAAlB,kBAAkB,CAA0B;QAC1C,+BAA0B,GAA1B,0BAA0B,CAA4B;IAC9G,CAAC;IAEG,KAAK,CAAC,qBAAqB,CAC9B,OAAiB,EACjB,UAAyB,EACzB,aAAqB,EACrB,aAAqB,EACrB,QAAQ,GAAG,yBAAgB,CAAC,QAAQ;QAEpC,IAAI,iBAAiB,GAAyB,EAAE,CAAC;QACjD,IAAI;YACA,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;gBACtE,QAAQ,EAAE,OAAO;gBACjB,aAAa;gBACb,aAAa;aAChB,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,wCAAwC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACvG;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,EAAE,CAAC;SACb;QAED,IAAI,kBAAkB,GAAyB,EAAE,CAAC;QAClD,IAAI;YACA,MAAM,mBAAmB,GAAG,IAAI,2BAAkB,CAAC,iBAAiB,EAAE;gBAClE,GAAG,IAAI,CAAC,cAAc;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,UAAU;aACb,CAAC,CAAC,yBAAyB,EAAE,CAAC;YAE/B,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;SACzF;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YACD,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACtG;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,CAA+B,EAAE,CAA+B;QAC/F,IAAI,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,EAAE;YAC7C,OAAO,CAAC,CAAC,CAAC;SACb;QACD,IAAI,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,EAAE;YAC7C,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,SAAuC,EAAE,QAA4B;QAChG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,YAAY,EAAE;YACnE,OAAO,KAAK,CAAC,CAAC,6CAA6C;SAC9D;QACD,IAAI,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE;YAC9C,OAAO,IAAI,CAAC,CAAC,0DAA0D;SAC1E;QACD,uBAAuB;QACvB,OAAO,SAAS,CAAC,gBAAgB,KAAK,QAAQ,CAAC,qBAAqB,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,QAAkB;QAC1D,OAAO;YACH,OAAO,EAAE,+BAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,gCAAgC;SACxD,CAAC;IACf,CAAC;IAEO,iBAAiB,CACrB,cAAqD,EACrD,eAAmC,EACnC,eAAqB,EACrB,eAAqB;QAErB,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,gBAA0B,CAAC,CAAC;QACxE,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QACxE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAClE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,gBAAgB,CACzB,MAAc,EACd,OAAiB,EACjB,KAAa,EACb,SAAiB,EACjB,WAAmB,EACnB,QAAc;QAEd,MAAM,IAAI,GAAG,IAAA,4BAAe,EAAC,6BAA6B,CAAC,CAAC;QAC5D,IAAI,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAgB,CAAC,CAAC;QAE9E,IAAI,eAAe,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,eAAe,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnD,IAAI,cAAc,GAAiD,IAAI,CAAC;QACxE,IAAI,WAAW,GAAiB,IAAI,CAAC;QACrC,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,IAAI;YACA,sBAAsB;YACtB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,WAAW,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC;YAEpH,IAAI,eAAe,EAAE;gBACjB,wBAAwB;gBACxB,qCAAqC;gBACrC,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aACpF;YAED,IAAI,eAAe,IAAI,cAAc,EAAE;gBACnC,WAAW,GAAG;oBACV,OAAO,EAAE,cAAc,CAAC,OAAO;oBAC/B,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,aAAa,EAAE,cAAc,CAAC,aAAa,IAAI,gCAAgC;iBAClF,CAAC;gBACF,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC;gBAC7C,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;aAC7F;iBAAM;gBACH,8EAA8E;gBAC9E,OAAO;oBACH,SAAS,EAAE,EAAE;oBACb,eAAe;oBACf,eAAe;oBACf,WAAW;oBACX,aAAa;iBACE,CAAC;aACvB;YAED,iFAAiF;YACjF,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE;gBAChD,eAAe,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,eAAe,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;aACxC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,gBAAc,CAAC,YAAY,CAAC,CACpG,CAAC;YAEF,IAAI,iBAAiB,GAAmC,EAAE,CAAC;YAC3D,IAAI;gBACA,+CAA+C;gBAC/C,yFAAyF;gBACzF,iBAAiB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,2BAA2B,CAChF,OAAO,EACP,EAAE,GAAG,gBAAc,CAAC,oBAAoB,GAAG,YAAY,EACvD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,gBAAc,CAAC,uBAAuB,CAAC,EAC5E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,oDAAoD;iBAC/E,CAAC;aACL;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,YAAY,qCAAoB,EAAE;oBACvC,MAAM,KAAK,CAAC;iBACf;gBACD,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aACnG;YAED,wDAAwD;YACxD,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACvD,gBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,eAAe,CAAC,CAC7D,CAAC;YAEF,iBAAiB,CAAC,IAAI,CAAC,gBAAc,CAAC,mBAAmB,CAAC,CAAC;YAE3D,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE7F,qEAAqE;YACrE,MAAM,eAAe,GAAG,KAAK,CAAC;YAE9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sCAAsC,CACpF,uBAAuB,EACvB,eAAe,CAClB,CAAC;YAEF,IAAI,SAAS,GAA6B,EAAE,CAAC;YAE7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,2CAA2C,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;YAElH,SAAS,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YAElC,OAAO;gBACH,SAAS;gBACT,eAAe;gBACf,eAAe;gBACf,WAAW;gBACX,aAAa;aAChB,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YACD,MAAM,IAAI,6BAAY,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC1F;gBAAS;YACN,IAAI,EAAE,GAAG,EAAE,CAAC;SACf;IACL,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAC/B,SAAc,EACd,OAAiB;QAEjB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAW,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,eAAmC,EACnC,OAAiB,EACjB,MAAc;QAEd,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,0BAA0B,CAAC,gCAAgC,CACrF,eAAe,CAAC,YAAY,EAC5B,YAAY,CACf,CAAuC,CAAC;QAEzC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;YAChC,OAAO,IAAI,CAAC;SACf;QAED,uEAAuE;QACvE,8CAA8C;QAC9C,IAAI,iBAAiB,GAAG,gBAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5F,uEAAuE;QACvE,iBAAiB,KAAK,gBAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEzF,IAAI,iBAAiB,EAAE;YACnB,MAAM,WAAW,GAAS,6BAAa,CAAC,4BAA4B,CAChE,iBAAiB,CAAC,oBAAoB,EACtC,eAAe,CAAC,aAAa,CAAC,gBAAgB,CACjD,CAAC;YACF,MAAM,aAAa,GAAS,6BAAa,CAAC,4BAA4B,CAClE,iBAAiB,CAAC,sBAAsB,EACxC,eAAe,CAAC,aAAa,CAAC,gBAAgB,CACjD,CAAC;YAEF,OAAO;gBACH,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,SAAS;gBAC3C,OAAO,EAAE,iBAAiB,CAAC,OAAO;gBAClC,kBAAkB,EAAE,aAAa,CAAC,WAAW,EAAE;gBAC/C,gBAAgB,EAAE,WAAW,CAAC,WAAW,EAAE;gBAC3C,gBAAgB,EAAE,eAAe,CAAC,qBAAqB;gBACvD,UAAU,EAAE,eAAe,CAAC,UAAU;gBACtC,OAAO,EAAE,eAAe,CAAC,YAAY;gBACrC,aAAa,EAAE,iBAAiB,CAAC,aAAa;gBAC9C,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,aAAc;aACrB,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,2CAA2C,CACrD,UAA0C,EAC1C,eAAkD;QAElD,MAAM,WAAW,GAA6B,EAAE,CAAC;QACjD,MAAM,mBAAmB,GAAe,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwC,CAAC;QAExE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,0DAA0D;YAC1D,MAAM,SAAS,GAAyB,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBACnB,WAAW,CAAC,IAAI,CAAC;oBACb,SAAS;oBACT,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,SAAS;aACZ;YAED,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,yBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEpG,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;gBAC9B,IAAI,SAAS,CAAC,aAAa,IAAI,IAAI,IAAI,SAAS,CAAC,UAAU,KAAK,kCAAiB,CAAC,KAAK,EAAE;oBACrF,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAClD,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9D,SAAS;iBACZ;gBAED,gFAAgF;gBAChF,WAAW,CAAC,IAAI,CAAC;oBACb,SAAS;oBACT,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAC;aACN;SACJ;QAED,MAAM,sBAAsB,GAA2C,CAAC,mBAAmB,CAAC,MAAM;YAC9F,CAAC,CAAC,IAAI,GAAG,EAAE;YACX,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;QAErF,KAAK,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,EAAE;YAChF,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;YAE1F,WAAW,CAAC,IAAI,CAAC;gBACb,SAAS;gBACT,QAAQ,EAAE,QAAQ,IAAI,IAAI;gBAC1B,QAAQ,EAAE,QAAQ,IAAI,IAAI;aAC7B,CAAC,CAAC;SACN;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAAC,IAAmB;QACjD,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;SACxD;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAAC,UAAmB,EAAE,WAAkB;QACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAC/B,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAAmB,EAAE,YAAqB;QAC5E,IAAI,MAAM,GAAG,CAAC,EACV,IAAI,GAAG,UAAU,CAAC,MAAM,EACxB,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAI,GAAG,IAAI,EAAE;YACb,6CAA6C;YAC7C,OAAO,KAAK,CAAC;SAChB;QACD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;gBAC7D,MAAM,EAAE,CAAC;gBACT,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,cAAsB,EAAE,gBAAyB;QAChF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACzF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAqB;QACrE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEnD,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QACrF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,MAAM,cAAc,GAAG,gBAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEtE,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE;YACnE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,iDAAiD;gBACjD,SAAS;aACZ;YAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBAC1B,2CAA2C;gBAC3C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,SAAS;aACZ;YAED,sFAAsF;YACtF,IAAI,gBAAc,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACjF,oDAAoD;gBACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,SAAS;aACZ;YAED,6FAA6F;YAC7F,MAAM,mBAAmB,GAAG,gBAAc,CAAC,mBAAmB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YACjG,IAAI,mBAAmB,EAAE;gBACrB,0EAA0E;gBAC1E,SAAS;aACZ;YAED,8EAA8E;YAC9E,MAAM,uBAAuB,GAAG,gBAAc,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YAC5G,IAAI,uBAAuB,EAAE;gBACzB,+DAA+D;gBAC/D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,SAAS;aACZ;YAED,6EAA6E;YAC7E,MAAM,iCAAiC,GAAG,gBAAgB,CAAC,IAAI,CAC3D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CACzD,CAAC;YACF,IAAI,iCAAiC,EAAE;gBACnC,qCAAqC;gBACrC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACvC;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,MAAqB;QAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,gBAAgB,GAAW,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE3G,6DAA6D;QAC7D,MAAM,oBAAoB,GAAG,WAAW,CAAC,KAAK;aACzC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,2BAA2B;aAClE,OAAO,EAAE;aACT,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,qEAAqE;QAEvG,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE;YACnE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,SAAS;aACZ;YAED,MAAM,cAAc,GAAG,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAEtD,yDAAyD;YACzD,MAAM,uBAAuB,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;YAE1G,qHAAqH;YACrH,4EAA4E;YAC5E,MAAM,qBAAqB,GAAG,gBAAc,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;YACnH,IAAI,qBAAqB,EAAE;gBACvB,+DAA+D;gBAC/D,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvC,SAAS;aACZ;YAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACvC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAqB,EAAE,OAAuB;QACxF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5G,CAAC;IAEO,MAAM,CAAC,iCAAiC,CAC5C,gBAAuB,EACvB,aAAqB,EACrB,YAAoD,EACpD,UAAuB,EACvB,WAA+B;QAE/B,MAAM,aAAa,GAAqB,IAAI,GAAG,EAAE,CAAC;QAElD,wGAAwG;QACxG,MAAM,WAAW,GAAU,gBAAc,CAAC,4BAA4B,CAAC;YACnE,gBAAgB,CAAC,OAAO;YACxB,gBAAgB,CAAC,SAAS;YAC1B,gBAAgB,CAAC,aAAa;SACjC,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAC5F,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;gBAClB,SAAS;aACZ;YACD,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,IAAI,KAAK,GAAY,EAAE,CAAC;YACxB,IAAI,MAAM,KAAK,aAAa,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACpD,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAc,CAAC,4BAA4B,CAAC,CAAC;aACpE;iBAAM;gBACH,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAC/C,gBAAc,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;aACL;YAED,IAAI,MAAM,KAAK,aAAa,EAAE;gBAC1B,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAiB,EAAE,EAAE;oBAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC,sBAAsB;gBAC1E,CAAC,CAAC,CAAC;aACN;YAED,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE;gBACtB,KAAK;gBACL,gBAAgB,EACZ,KAAK;oBACL,KAAK,CAAC,SAAS,CACX,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,CACpG;aACR,CAAC,CAAC;SACN;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,4BAA4B,CACrC,0BAAuC,EACvC,gBAAuB,EACvB,aAAqB,EACrB,WAAuB,EACvB,mBAA2B,CAAC;QAE5B,IAAI,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACzD,OAAO,EAAE,CAAC;SACb;QAED,0BAA0B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,6CAA6C,CAAC;QAC/D,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAE9B,uFAAuF;QACvF,2GAA2G;QAC3G,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtD,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,WAAW,CAAC;YAChE,IAAI,CAAC,0BAA0B,CAAC,+BAA+B,CAC3D,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,EAC/C,QAAQ,EACR,mBAAmB,CACtB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE;YACnC,MAAM,IAAI,6BAAY,CAClB,mDAAmD,EACnD,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,iDAAiD,EACjD,GAAG,CACN,CAAC;SACL;QAED,MAAM,aAAa,GAAqB,gBAAc,CAAC,iCAAiC,CACpF,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,WAAW,CACd,CAAC;QAEF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;QAC7D,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE;YAC5B,MAAM,IAAI,6BAAY,CAAC,qDAAqD,aAAa,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxH;QAED,yCAAyC;QACzC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEpC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;YACrB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,OAAO,GAAmB;YAC5B,gBAAc,CAAC,8BAA8B;YAC7C,gBAAc,CAAC,sCAAsC,EAAE,kDAAkD;SAC5G,CAAC;QAEF,MAAM,IAAI,GAAsB;YAC5B,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAC5D,WAAW;YACX,aAAa;YACb,WAAW,EAAE,IAAI,GAAG,EAAE;SACzB,CAAC;QAEF,MAAM,OAAO,GAA0B;YACnC,gBAAgB;SACnB,CAAC;QAEF,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,gBAAc,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/E,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAY,cAAc;QACtB,OAAO;YACH,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,mBAAa,CAAC,UAAU;YAC9B,KAAK,EAAE,oBAAc,CAAC,IAAI;YAC1B,MAAM,EAAE,qBAAe,CAAC,6BAA6B;YACrD,IAAI,EAAE,CAAC,mBAAa,CAAC,QAAQ,CAAC;YAC9B,oBAAoB,EAAE,EAAE;YACxB,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI,EAAE,2BAA2B;SACpD,CAAC;IACN,CAAC;;AAzmBuB,2BAAY,GAAG,EAAE,GAAG,IAAI,AAAZ,CAAa;AACzB,mCAAoB,GAAG,EAAE,AAAL,CAAM;AAC1B,sCAAuB,GAAG,gBAAc,CAAC,oBAAoB,GAAG,gBAAc,CAAC,YAAY,AAApE,CAAqE;yBAH3G,cAAc;IAD1B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,6BAA6B,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,oBAAoB,CAAC,CAAA;IACvC,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,+BAA+B,CAAC,CAAA;IAClD,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,gCAAgC,CAAC,CAAA;IACnD,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,wBAAwB,CAAC,CAAA;IAC3C,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,0BAA0B,CAAC,CAAA;qCALuC,6DAA6B;QAC3C,kCAAoB;QACN,iEAA+B;QACvC,mEAAgC;QACpC,mDAAwB;QACd,uDAA0B;GAXxG,cAAc,CA2mB1B"}
|
|
@@ -7,4 +7,6 @@ export declare class DelayComputationRepository implements IDelayComputationRepo
|
|
|
7
7
|
private log;
|
|
8
8
|
constructor(redisConnector: IoRedisConnector, log: ILogger);
|
|
9
9
|
getDelayComputationCacheProperty<K extends keyof IDelayComputationDto>(gtfsTripId: string, property: K): Promise<Pick<IDelayComputationDto, K> | null>;
|
|
10
|
+
private customJsonReducer;
|
|
11
|
+
getJsonPathFieldsAsListOfValues(tripIds: string[], jsonPath: string, expectingKeysCount: number): Promise<Map<string, any[]> | null>;
|
|
10
12
|
}
|
|
@@ -43,6 +43,50 @@ let DelayComputationRepository = exports.DelayComputationRepository = class Dela
|
|
|
43
43
|
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Failed to fetch '${property}' from delay computation cache`, this.constructor.name, err);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
customJsonReducer(fieldCould) {
|
|
47
|
+
return function reduceListOfFields(prev, curr, idx) {
|
|
48
|
+
if (idx % fieldCould === 0) {
|
|
49
|
+
// zero-indexed is the beginning of new-list of properties
|
|
50
|
+
prev.push([curr]);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// all next are pushed into the new-list
|
|
54
|
+
prev[prev.length - 1].push(curr);
|
|
55
|
+
}
|
|
56
|
+
return prev;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async getJsonPathFieldsAsListOfValues(tripIds, jsonPath, expectingKeysCount) {
|
|
60
|
+
if (!this.redisConnector.isConnected()) {
|
|
61
|
+
await this.redisConnector.connect();
|
|
62
|
+
}
|
|
63
|
+
const mapTripToStops = new Map();
|
|
64
|
+
if (!tripIds.length)
|
|
65
|
+
return mapTripToStops;
|
|
66
|
+
const redisKeys = tripIds.map((t) => `${const_1.GTFS_DELAY_COMPUTATION_NAMESPACE_PREFIX}:${t}`);
|
|
67
|
+
const connection = this.redisConnector.getConnection();
|
|
68
|
+
try {
|
|
69
|
+
const jsonResult = await connection.call("JSON.MGET", redisKeys.concat(jsonPath));
|
|
70
|
+
if (!jsonResult) {
|
|
71
|
+
this.log.info(`${this.constructor.name}: Cannot read custom jsonPath '${jsonPath}' in Redis keys for trip ids: '${tripIds}'`);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const reducerFn = this.customJsonReducer(expectingKeysCount);
|
|
75
|
+
for (const [index, resultLine] of jsonResult.entries()) {
|
|
76
|
+
if (!resultLine) {
|
|
77
|
+
mapTripToStops.set(tripIds[index], []);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const parsedLine = JSON.parse(resultLine);
|
|
81
|
+
mapTripToStops.set(tripIds[index], parsedLine.reduce(reducerFn, []));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return mapTripToStops;
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Failed to read custom jsonPath '${jsonPath}' from delay computation cache`, this.constructor.name, err);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
46
90
|
};
|
|
47
91
|
exports.DelayComputationRepository = DelayComputationRepository = __decorate([
|
|
48
92
|
(0, tsyringe_1.injectable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayComputationRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/DelayComputationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAA2D;AAG3D,wFAA6F;AAC7F,oGAAiG;AACjG,wEAAqE;AAErE,+DAAuE;AACvE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,0BAA0B,wCAAhC,MAAM,0BAA0B;IACnC,YACmD,cAAgC,EAC7C,GAAY;QADC,mBAAc,GAAd,cAAc,CAAkB;QAC7C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAEG,KAAK,CAAC,gCAAgC,CACzC,UAAkB,EAClB,QAAW;QAEX,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACvC;QAED,MAAM,QAAQ,GAAG,GAAG,+CAAuC,IAAI,UAAU,EAAE,CAAC;QAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAEvD,IAAI;YACA,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,UAAU,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,eAAe,QAAQ,6BAA6B,QAAQ,GAAG,CAAC,CAAC;gBACvG,OAAO,IAAI,CAAC;aACf;YACD,OAAO,iCAAe,CAAC,WAAW,CAA0B,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC5G;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,sBAAsB,QAAQ,gCAAgC,EACtF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;SACL;IACL,CAAC;CACJ,CAAA;
|
|
1
|
+
{"version":3,"file":"DelayComputationRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/DelayComputationRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,5 @@ export declare class PublicStopTimeRepository implements IStopTimeRepository {
|
|
|
7
7
|
private log;
|
|
8
8
|
constructor(redisConnector: IoRedisConnector, log: ILogger);
|
|
9
9
|
getPublicStopTimeCache(vehicleId: string, gtfsTripId: string): Promise<IPublicStopTimeCacheDto[]>;
|
|
10
|
-
getManyPublicStopTimeCaches(tuples:
|
|
10
|
+
getManyPublicStopTimeCaches(tuples: string[][]): Promise<Map<string, IPublicStopTimeCacheDto[]>>;
|
|
11
11
|
}
|
|
@@ -33,41 +33,37 @@ let PublicStopTimeRepository = exports.PublicStopTimeRepository = class PublicSt
|
|
|
33
33
|
try {
|
|
34
34
|
const key = `${vehicleId}-${gtfsTripId}`;
|
|
35
35
|
stopTimeCache = await connection.get(`${const_1.PUBLIC_STOP_TIME_CACHE_NAMESPACE_PREFIX}:${key}`);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (stopTimeCache === null) {
|
|
41
|
-
this.log.info(`${this.constructor.name}: Cannot find public stop time cache`);
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
36
|
+
if (stopTimeCache === null) {
|
|
37
|
+
this.log.info(`${this.constructor.name}: Cannot find public stop time cache`);
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
45
40
|
return JSON.parse(stopTimeCache);
|
|
46
41
|
}
|
|
47
42
|
catch (err) {
|
|
48
|
-
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot parse public stop time cache: ${err.message}`, this.constructor.name, err);
|
|
43
|
+
throw new golemio_errors_1.GeneralError(`${this.constructor.name}: Cannot read and parse public stop time cache: ${err.message}`, this.constructor.name, err);
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
46
|
async getManyPublicStopTimeCaches(tuples) {
|
|
52
47
|
const connection = this.redisConnector.getConnection();
|
|
53
48
|
const parsedStopTimeCaches = new Map();
|
|
49
|
+
if (!tuples.length)
|
|
50
|
+
return parsedStopTimeCaches;
|
|
54
51
|
const mappedKeys = tuples.map((k) => `${const_1.PUBLIC_STOP_TIME_CACHE_NAMESPACE_PREFIX}:${k[0]}-${k[1]}`);
|
|
55
52
|
const stopCaches = await connection.mget(mappedKeys);
|
|
56
53
|
let i = -1;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
try {
|
|
54
|
+
try {
|
|
55
|
+
for (const stopCache of stopCaches) {
|
|
56
|
+
i++;
|
|
57
|
+
if (stopCache === null)
|
|
58
|
+
continue;
|
|
63
59
|
const tripId = tuples[i][1];
|
|
64
60
|
parsedStopTimeCaches.set(tripId, JSON.parse(stopCache));
|
|
65
61
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
return parsedStopTimeCaches;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new golemio_errors_1.GeneralError("Cannot parse stop time cache", this.constructor.name, error);
|
|
69
66
|
}
|
|
70
|
-
return parsedStopTimeCaches;
|
|
71
67
|
}
|
|
72
68
|
};
|
|
73
69
|
exports.PublicStopTimeRepository = PublicStopTimeRepository = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicStopTimeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wFAA6F;AAE7F,oGAAiG;AACjG,wEAAqE;AAErE,+DAAuE;AACvE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACmD,cAAgC,EAC7C,GAAY;QADC,mBAAc,GAAd,cAAc,CAAkB;QAC7C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAEG,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,UAAkB;QACrE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACvC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,IAAI;YACA,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YACzC,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,+CAAuC,IAAI,GAAG,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PublicStopTimeRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicStopTimeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wFAA6F;AAE7F,oGAAiG;AACjG,wEAAqE;AAErE,+DAAuE;AACvE,6EAAwE;AACxE,iEAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACmD,cAAgC,EAC7C,GAAY;QADC,mBAAc,GAAd,cAAc,CAAkB;QAC7C,QAAG,GAAH,GAAG,CAAS;IAC/C,CAAC;IAEG,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,UAAkB;QACrE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;SACvC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,aAAa,GAAkB,IAAI,CAAC;QAExC,IAAI;YACA,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YACzC,aAAa,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,+CAAuC,IAAI,GAAG,EAAE,CAAC,CAAC;YAE1F,IAAI,aAAa,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,sCAAsC,CAAC,CAAC;gBAC9E,OAAO,EAAE,CAAC;aACb;YAED,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mDAAmD,GAAG,CAAC,OAAO,EAAE,EACxF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;SACL;IACL,CAAC;IAEM,KAAK,CAAC,2BAA2B,CAAC,MAAkB;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAEvD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAqC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,oBAAoB,CAAC;QAEhD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,+CAAuC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnG,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErD,IAAI,CAAC,GAAW,CAAC,CAAC,CAAC;QACnB,IAAI;YACA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,CAAC,EAAE,CAAC;gBACJ,IAAI,SAAS,KAAK,IAAI;oBAAE,SAAS;gBAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5B,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAA8B,CAAC,CAAC;aACxF;YACD,OAAO,oBAAoB,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,6BAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACxF;IACL,CAAC;CACJ,CAAA;mCAzDY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;IACrC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCADsC,mCAAgB;GAF1E,wBAAwB,CAyDpC"}
|
|
@@ -1126,11 +1126,11 @@ Worker má na starost retenci dat tabulek Azure Table Storage
|
|
|
1126
1126
|
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
1127
1127
|
- žádné
|
|
1128
1128
|
- datové zdroje
|
|
1129
|
-
-
|
|
1129
|
+
- žádné
|
|
1130
1130
|
- transformace
|
|
1131
1131
|
- žádné
|
|
1132
1132
|
- data modely
|
|
1133
|
-
-
|
|
1133
|
+
- podle [`RepositoryTableNameEnum`](../src/integration-engine/data-retention/workers/constants/RepositoryTableNameEnum.ts)
|
|
1134
1134
|
|
|
1135
1135
|
#### _task: TableStorageRetentionTask_
|
|
1136
1136
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "4.3.2-rc.
|
|
3
|
+
"version": "4.3.2-rc.2149467904",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"typescript-transform-paths": "^3.4.6"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
|
-
"@golemio/core": ">=
|
|
75
|
+
"@golemio/core": ">=2.0.0"
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
78
|
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.3",
|