@golemio/pid 4.3.2-rc.2136613967 → 4.3.2-rc.2149328485
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/output-gateway/jis/controllers/v1/V1EventsController.js +3 -1
- package/dist/output-gateway/jis/controllers/v1/V1EventsController.js.map +1 -1
- package/dist/output-gateway/jis/routers/v1/V1JISRouter.js +1 -1
- package/dist/output-gateway/jis/routers/v1/V1JISRouter.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js +3 -1
- package/dist/output-gateway/pid/controllers/v2/V2DepartureBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v3/V3InfotextsController.js +3 -1
- package/dist/output-gateway/pid/controllers/v3/V3InfotextsController.js.map +1 -1
- package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.js +6 -4
- package/dist/output-gateway/pid/controllers/v3/V3TransferBoardsController.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 +24 -7
- 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/routers/v2/V2PIDRouter.js +2 -2
- package/dist/output-gateway/pid/routers/v2/V2PIDRouter.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/controllers/v2/V2PublicDepartureBoardsController.js +3 -1
- package/dist/output-gateway/public/controllers/v2/V2PublicDepartureBoardsController.js.map +1 -1
- package/dist/output-gateway/public/controllers/v2/V2PublicGtfsController.js +5 -3
- package/dist/output-gateway/public/controllers/v2/V2PublicGtfsController.js.map +1 -1
- package/dist/output-gateway/public/controllers/v2/V2PublicVehiclePositionsController.js +7 -4
- package/dist/output-gateway/public/controllers/v2/V2PublicVehiclePositionsController.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/dist/output-gateway/ropid-gtfs/routers/v2/V2GTFSRouter.js +48 -39
- package/dist/output-gateway/ropid-gtfs/routers/v2/V2GTFSRouter.js.map +1 -1
- package/dist/output-gateway/vehicle-positions/routers/v2/V2VehiclePositionsRouter.js +16 -13
- package/dist/output-gateway/vehicle-positions/routers/v2/V2VehiclePositionsRouter.js.map +1 -1
- 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"}
|
|
@@ -20,14 +20,16 @@ const JISEventsCustomFormatTransformation_1 = require("../../transformations/JIS
|
|
|
20
20
|
const monitoring_1 = require("@golemio/core/dist/monitoring");
|
|
21
21
|
const EventsDto_1 = require("../../dto/EventsDto");
|
|
22
22
|
const shared_1 = require("../../../shared");
|
|
23
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
23
24
|
let V1EventsController = exports.V1EventsController = class V1EventsController {
|
|
24
25
|
constructor(jisEventsRepository, eventsCustomFormatTransformation) {
|
|
25
26
|
this.jisEventsRepository = jisEventsRepository;
|
|
26
27
|
this.eventsCustomFormatTransformation = eventsCustomFormatTransformation;
|
|
27
28
|
this.getAllEventsInCustomFormat = async (req, res, next) => {
|
|
28
29
|
const span = (0, monitoring_1.createChildSpan)("V1EventsController.getAllEventsInCustomFormat");
|
|
30
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
29
31
|
try {
|
|
30
|
-
const { displayPeriodEnd, displayPeriodStart, organizationNames } = shared_1.RopidRouterUtils.mapObjectToDTOInstance(EventsDto_1.EventsCustomFormatQueryDto,
|
|
32
|
+
const { displayPeriodEnd, displayPeriodStart, organizationNames } = shared_1.RopidRouterUtils.mapObjectToDTOInstance(EventsDto_1.EventsCustomFormatQueryDto, queryData);
|
|
31
33
|
const events = await this.jisEventsRepository.getAllForCustomFormat(organizationNames, displayPeriodStart, displayPeriodEnd);
|
|
32
34
|
const transformedEvents = this.eventsCustomFormatTransformation.transformArray(events);
|
|
33
35
|
return res.status(200).json(transformedEvents);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1EventsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/controllers/v1/V1EventsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,iEAAwE;AAExE,+EAA4E;AAC5E,mHAAkH;AAClH,8DAAgE;AAChE,mDAAmE;AACnE,4CAA8C;
|
|
1
|
+
{"version":3,"file":"V1EventsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/controllers/v1/V1EventsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,iEAAwE;AAExE,+EAA4E;AAC5E,mHAAkH;AAClH,8DAAgE;AAChE,mDAAmE;AACnE,4CAA8C;AAC9C,mFAA0E;AAGnE,IAAM,kBAAkB,gCAAxB,MAAM,kBAAkB;IAC3B,YAC4C,mBAAgD,EAExF,gCAA6E;QAF7B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAEhF,qCAAgC,GAAhC,gCAAgC,CAAqC;QAG1E,+BAA0B,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzE,MAAM,IAAI,GAAG,IAAA,4BAAe,EAAC,+CAA+C,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YACnC,IAAI;gBACA,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,GAAG,yBAAgB,CAAC,sBAAsB,CACvG,sCAA0B,EAC1B,SAAS,CACZ,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAC/D,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,CACnB,CAAC;gBACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,gCAAgC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEvF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aAClD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;IAxBC,CAAC;CAyBP,CAAA;6BA9BY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,mBAAmB,CAAC,CAAA;IACtC,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,mCAAmC,CAAC,CAAA;qCADc,yCAAmB;QAE9C,yEAAmC;GAJxE,kBAAkB,CA8B9B"}
|
|
@@ -17,7 +17,7 @@ class V1JISRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
17
17
|
this.router.get("/events/custom-format", [
|
|
18
18
|
(0, express_validator_1.query)("displayPeriodStart").optional().isISO8601(),
|
|
19
19
|
(0, express_validator_1.query)("displayPeriodEnd").optional().isISO8601(),
|
|
20
|
-
(0, express_validator_1.query)("organizationNames
|
|
20
|
+
(0, express_validator_1.query)("organizationNames").optional().isArray(),
|
|
21
21
|
], Validation_1.checkErrors,
|
|
22
22
|
// // max-age 5 seconds, stale-while-revalidate 5 seconds
|
|
23
23
|
this.cacheHeaderMiddleware.getMiddleware(5, 5), this.eventsController.getAllEventsInCustomFormat);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V1JISRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/routers/v1/V1JISRouter.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAChD,qDAAoD;AACpD,yDAAoD;AACpD,sFAAmF;AAEnF,+DAAuE;AACvE,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AAEpE,MAAa,WAAY,SAAQ,+BAAc;IAK3C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QALlB,WAAM,GAAW,IAAA,gBAAM,GAAE,CAAC;QAUhC,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,uBAAuB,EACvB;gBACI,IAAA,yBAAK,EAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAClD,IAAA,yBAAK,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAChD,IAAA,yBAAK,EAAC,
|
|
1
|
+
{"version":3,"file":"V1JISRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/jis/routers/v1/V1JISRouter.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAChD,qDAAoD;AACpD,yDAAoD;AACpD,sFAAmF;AAEnF,+DAAuE;AACvE,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AAEpE,MAAa,WAAY,SAAQ,+BAAc;IAK3C;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QALlB,WAAM,GAAW,IAAA,gBAAM,GAAE,CAAC;QAUhC,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,uBAAuB,EACvB;gBACI,IAAA,yBAAK,EAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAClD,IAAA,yBAAK,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE;gBAChD,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;aAClD,EACD,wBAAW;YACX,yDAAyD;YACzD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CACnD,CAAC;QACN,CAAC,CAAC;QAjBE,IAAI,CAAC,gBAAgB,GAAG,mBAAc,CAAC,OAAO,CAAqB,uBAAU,CAAC,kBAAkB,CAAC,CAAC;QAClG,IAAI,CAAC,qBAAqB,GAAG,mBAAc,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACjH,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CAeJ;AAzBD,kCAyBC;AAED,MAAM,WAAW,GAAmB,IAAI,WAAW,EAAE,CAAC;AAE7C,kCAAW"}
|
|
@@ -9,10 +9,12 @@ const PIDDepartureBoardsModel_1 = require("../../models/PIDDepartureBoardsModel"
|
|
|
9
9
|
const shared_1 = require("../../../shared");
|
|
10
10
|
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
11
11
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
12
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
12
13
|
class V2DepartureBoardsController {
|
|
13
14
|
constructor() {
|
|
14
15
|
this.getDepartureBoard = async (req, res, next) => {
|
|
15
|
-
const
|
|
16
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
17
|
+
const query = shared_1.RopidRouterUtils.mapObjectToDTOInstance(dto_1.DepartureBoardsQueryDTO, queryData);
|
|
16
18
|
const preferredTimezone = shared_1.RopidRouterUtils.getPreferredTimezone(query.preferredTimezone);
|
|
17
19
|
// datetime is valid ISO 8601 (by express validator)
|
|
18
20
|
// it matches:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkF;AAClF,kFAAiF;AACjF,4CAA8C;AAC9C,+FAA6F;AAE7F,gGAA2E;
|
|
1
|
+
{"version":3,"file":"V2DepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v2/V2DepartureBoardsController.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkF;AAClF,kFAAiF;AACjF,4CAA8C;AAC9C,+FAA6F;AAE7F,gGAA2E;AAC3E,mFAA0E;AAC1E,MAAa,2BAA2B;IAGpC;QAIO,sBAAiB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,yBAAgB,CAAC,sBAAsB,CAAC,6BAAuB,EAAE,SAAS,CAAC,CAAC;YAC1F,MAAM,iBAAiB,GAAG,yBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAEzF,oDAAoD;YACpD,cAAc;YACd,uBAAuB;YACvB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,MAAM,qBAAqB,GAAW,uDAAuD,CAAC;YAC9F,+DAA+D;YAC/D,MAAM,QAAQ,GAAuB,KAAK,CAAC,QAAQ;gBAC/C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;oBACzC,CAAC,CAAC,IAAA,yBAAM,EAAC,KAAK,CAAC,QAAQ,CAAC;oBACxB,CAAC,CAAC,yBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,+CAA+C,CAAC,CAAC;YAC9E,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBAChD,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,GAAG;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,QAAQ;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;oBACjC,QAAQ,EAAE,iBAAiB;oBAC3B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,YAAY,EAAE,KAAK,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAgB,CAAC,sBAAsB,CAAC,gCAA0B,EAAE,IAAI,CAAC,CAAC,CAAC;aACnG;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;QAjDE,IAAI,CAAC,oBAAoB,GAAG,IAAI,iDAAuB,EAAE,CAAC;IAC9D,CAAC;CAiDJ;AAtDD,kEAsDC"}
|
|
@@ -18,13 +18,15 @@ const InfotextFacade_1 = require("../../service/facade/InfotextFacade");
|
|
|
18
18
|
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
19
19
|
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
20
20
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
21
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
21
22
|
let V3InfotextsController = exports.V3InfotextsController = class V3InfotextsController {
|
|
22
23
|
constructor(infotextFacade) {
|
|
23
24
|
this.infotextFacade = infotextFacade;
|
|
24
25
|
this.getJisInfotexts = async (req, res, next) => {
|
|
25
26
|
const span = (0, trace_provider_1.createChildSpan)("V3InfotextsController.getJisInfotexts");
|
|
27
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
26
28
|
try {
|
|
27
|
-
const outputDto = await this.infotextFacade.getInfotextsForOverview((0, output_gateway_1.parseBooleanQueryParam)(
|
|
29
|
+
const outputDto = await this.infotextFacade.getInfotextsForOverview((0, output_gateway_1.parseBooleanQueryParam)(queryData.includeFuture));
|
|
28
30
|
return res.status(200).send(outputDto);
|
|
29
31
|
}
|
|
30
32
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3InfotextsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3InfotextsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,wEAAuE;AACvE,+FAA6F;AAC7F,sEAA2E;AAE3E,iEAAwE;
|
|
1
|
+
{"version":3,"file":"V3InfotextsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3InfotextsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,wEAAuE;AACvE,+FAA6F;AAC7F,sEAA2E;AAE3E,iEAAwE;AACxE,mFAA0E;AAEnE,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAC9B,YAA+C,cAAsC;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAE9E,oBAAe,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,uCAAuC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,IAAA,+BAAW,EAAC,GAAG,CAAC,CAAC;YAEnC,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAC/D,IAAA,uCAAsB,EAAC,SAAS,CAAC,aAAuB,CAAC,CAC5D,CAAC;gBACF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,EAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAC;IAjBsF,CAAC;CAkB5F,CAAA;gCAnBY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,cAAc,CAAC,CAAA;qCAAyB,+BAAc;GAD5E,qBAAqB,CAmBjC"}
|
|
@@ -25,15 +25,17 @@ const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/tr
|
|
|
25
25
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
26
26
|
const moment_timezone_1 = __importDefault(require("@golemio/core/dist/shared/moment-timezone"));
|
|
27
27
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
28
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
28
29
|
let V3TransferBoardsController = exports.V3TransferBoardsController = class V3TransferBoardsController {
|
|
29
30
|
constructor(stopFacade, infotextFacade, transferFacade) {
|
|
30
31
|
this.stopFacade = stopFacade;
|
|
31
32
|
this.infotextFacade = infotextFacade;
|
|
32
33
|
this.transferFacade = transferFacade;
|
|
33
34
|
this.getTransferDepartures = async (req, res, next) => {
|
|
35
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
34
36
|
const span = (0, trace_provider_1.createChildSpan)("V3TransferBoardsController.getTransferDepartures");
|
|
35
|
-
const cisId =
|
|
36
|
-
const tripNumber =
|
|
37
|
+
const cisId = queryData.cisId;
|
|
38
|
+
const tripNumber = queryData.tripNumber ?? null;
|
|
37
39
|
span?.setAttributes({ cisId, tripNumber });
|
|
38
40
|
// Additional type check for query string parameters
|
|
39
41
|
if (!this.isValidQueryStringParam(cisId)) {
|
|
@@ -45,8 +47,8 @@ let V3TransferBoardsController = exports.V3TransferBoardsController = class V3Tr
|
|
|
45
47
|
const currentMoment = (0, moment_timezone_1.default)();
|
|
46
48
|
let timeFrom = null;
|
|
47
49
|
let minutesOffset = 0;
|
|
48
|
-
if (
|
|
49
|
-
timeFrom = moment_timezone_1.default.tz(
|
|
50
|
+
if (queryData.timeFrom) {
|
|
51
|
+
timeFrom = moment_timezone_1.default.tz(queryData.timeFrom, RopidRouterUtils_1.RopidRouterUtils.TIMEZONE);
|
|
50
52
|
minutesOffset = timeFrom.diff(currentMoment, "minutes");
|
|
51
53
|
}
|
|
52
54
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3TransferBoardsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,qDAAoD;AACpD,wEAAuE;AACvE,gEAA+D;AAC/D,wEAAuE;AACvE,uEAA+D;AAC/D,+FAA6F;AAE7F,6EAAwE;AACxE,gGAA2E;AAE3E,iEAAwE;
|
|
1
|
+
{"version":3,"file":"V3TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3TransferBoardsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -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");
|
|
@@ -32,20 +33,24 @@ const DepartureCalculator_1 = require("../../../shared/DepartureCalculator");
|
|
|
32
33
|
const GtfsStopParser_1 = require("../../../../helpers/GtfsStopParser");
|
|
33
34
|
const DepartureBoardMapper_1 = __importDefault(require("../../helpers/DepartureBoardMapper"));
|
|
34
35
|
const RouteTypeEnums_1 = require("../../../../helpers/RouteTypeEnums");
|
|
36
|
+
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
35
37
|
const DEFAULT_TRANSFER_BOARDS_LIMIT = 8;
|
|
38
|
+
const DEFAULT_PREVIOUS_STOPS_TO_ALLOW = "0";
|
|
36
39
|
const METRO_TRAIN_ACCESSIBILITY = true; // metro trains are always considered wheelchair accessible vehicle
|
|
37
40
|
const DEFAULT_VEHICLE_ACCESSIBILITY = null; // unknown, possibly due to not knowing the vehicle running the trip
|
|
38
41
|
let V4TransferBoardsController = exports.V4TransferBoardsController = V4TransferBoardsController_1 = class V4TransferBoardsController {
|
|
39
|
-
constructor(stopFacade, infotextFacade, transferFacade, transformation) {
|
|
42
|
+
constructor(config, stopFacade, infotextFacade, transferFacade, transformation) {
|
|
43
|
+
this.config = config;
|
|
40
44
|
this.stopFacade = stopFacade;
|
|
41
45
|
this.infotextFacade = infotextFacade;
|
|
42
46
|
this.transferFacade = transferFacade;
|
|
43
47
|
this.transformation = transformation;
|
|
44
48
|
this.defaultTransferBoardsLimit = DEFAULT_TRANSFER_BOARDS_LIMIT;
|
|
45
49
|
this.getTransferBoardData = async (req, res, next) => {
|
|
50
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
46
51
|
const span = (0, trace_provider_1.createChildSpan)("V4TransferBoardsController.getTransferBoardData");
|
|
47
52
|
try {
|
|
48
|
-
const params = this.parseTransferBoardsParams(
|
|
53
|
+
const params = this.parseTransferBoardsParams(queryData);
|
|
49
54
|
span?.setAttributes(Object.fromEntries(Object.entries(params).filter(([_, value]) => value !== null)));
|
|
50
55
|
const now = new Date();
|
|
51
56
|
let timeFrom = null;
|
|
@@ -105,6 +110,16 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
105
110
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.minimalTransferTime(transferCacheDto.transfers, transferCacheDto.delayedTimeFrom);
|
|
106
111
|
TransferBoardSorter_1.TransferBoardSorter.sortDepartures(transferCacheDto.transfers);
|
|
107
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);
|
|
108
123
|
const transformedData = this.transformation.transformArray(transferCacheDto.transfers);
|
|
109
124
|
const filteredData = TransferBoardFilter_1.TransferBoardFilter.filterDepartures(transformedData, params.limit, transferCacheDto.delayedTimeFrom.getTime(), now.getTime());
|
|
110
125
|
const output = {
|
|
@@ -124,6 +139,7 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
124
139
|
span?.end();
|
|
125
140
|
}
|
|
126
141
|
};
|
|
142
|
+
this.countPreviousStopsToAllow = parseInt(config.getValue("env.VEHICLE_POSITIONS_COUNT_PREVIOUS_STOPS_TO_ALLOW", DEFAULT_PREVIOUS_STOPS_TO_ALLOW));
|
|
127
143
|
}
|
|
128
144
|
accessibilityForStops(stopsInfo) {
|
|
129
145
|
const accessibilityStopIdsMap = new Map();
|
|
@@ -171,11 +187,12 @@ let V4TransferBoardsController = exports.V4TransferBoardsController = V4Transfer
|
|
|
171
187
|
V4TransferBoardsController.NO_TRANSFERS = { departures: [], infotexts: [] };
|
|
172
188
|
exports.V4TransferBoardsController = V4TransferBoardsController = V4TransferBoardsController_1 = __decorate([
|
|
173
189
|
(0, tsyringe_1.injectable)(),
|
|
174
|
-
__param(0, (0, tsyringe_1.inject)(
|
|
175
|
-
__param(1, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
176
|
-
__param(2, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
177
|
-
__param(3, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
178
|
-
|
|
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,
|
|
179
196
|
InfotextFacade_1.InfotextFacade,
|
|
180
197
|
TransferFacade_1.TransferFacade,
|
|
181
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;
|
|
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":"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"}
|
|
@@ -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"}
|
|
@@ -60,11 +60,11 @@ class V2PIDRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
60
60
|
(0, express_validator_1.query)("airCondition").optional().isBoolean().not().isArray(),
|
|
61
61
|
(0, express_validator_1.query)("total").optional().isInt().not().isArray(),
|
|
62
62
|
];
|
|
63
|
-
this.router.get("/departureboards", validation, ...this.commonMiddleware("PIDDepartureBoards"),
|
|
63
|
+
this.router.get("/departureboards", validation, ...this.commonMiddleware("PIDDepartureBoards"), Validation_1.checkErrors,
|
|
64
64
|
// max-age 5 seconds, stale-while-revalidate 5 seconds
|
|
65
65
|
this.cacheHeaderMiddleware.getMiddleware(5, 5), this.departureBoardsController.getDepartureBoard);
|
|
66
66
|
};
|
|
67
|
-
this.commonMiddleware = (name) => [
|
|
67
|
+
this.commonMiddleware = (name) => [(0, Validation_1.paginationLimitMiddleware)(name)];
|
|
68
68
|
this.cacheHeaderMiddleware = ioc_1.OutputGatewayContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
|
|
69
69
|
this.departureBoardsController = new V2DepartureBoardsController_1.V2DepartureBoardsController();
|
|
70
70
|
this.initRoutes();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V2PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v2/V2PIDRouter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,kGAAiG;AACjG,+EAA8E;AAC9E,yDAAsE;AACtE,sFAAmF;AAEnF,
|
|
1
|
+
{"version":3,"file":"V2PIDRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/routers/v2/V2PIDRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
*/
|