@golemio/pid 3.9.1-dev.1676148605 → 3.9.1-dev.1682819910
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/output-gateway/pid/controllers/v3/V3InfotextsController.d.ts +3 -5
- package/dist/output-gateway/pid/controllers/v3/V3InfotextsController.js +8 -12
- package/dist/output-gateway/pid/controllers/v3/V3InfotextsController.js.map +1 -1
- package/dist/output-gateway/pid/data-access/JISInfotextRepository.js +1 -1
- package/dist/output-gateway/pid/data-access/JISInfotextRepository.js.map +1 -1
- package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.d.ts +6 -0
- package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js +69 -0
- package/dist/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.js.map +1 -0
- package/dist/output-gateway/pid/ioc/Di.js +4 -0
- package/dist/output-gateway/pid/ioc/Di.js.map +1 -1
- package/dist/output-gateway/pid/ioc/OgPidToken.d.ts +1 -0
- package/dist/output-gateway/pid/ioc/OgPidToken.js +3 -0
- package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.d.ts +1 -2
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js +22 -23
- package/dist/output-gateway/pid/models/PIDDepartureBoardsModel.js.map +1 -1
- package/dist/output-gateway/pid/service/facade/InfotextFacade.d.ts +12 -6
- package/dist/output-gateway/pid/service/facade/InfotextFacade.js +72 -12
- package/dist/output-gateway/pid/service/facade/InfotextFacade.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/// <reference types="express" />
|
|
2
|
-
import {
|
|
3
|
-
import { JISInfotextOverviewTransformation } from "../../service/transformations/JISInfotextOverviewTransformation";
|
|
2
|
+
import { InfotextFacade } from "../../service/facade/InfotextFacade";
|
|
4
3
|
import { RequestHandler } from "@golemio/core/dist/shared/express";
|
|
5
4
|
export declare class V3InfotextsController {
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
constructor(infotextRepository: JISInfotextRepository, infotextTransformation: JISInfotextOverviewTransformation);
|
|
5
|
+
private infotextFacade;
|
|
6
|
+
constructor(infotextFacade: InfotextFacade);
|
|
9
7
|
getJisInfotexts: RequestHandler;
|
|
10
8
|
}
|
|
@@ -13,23 +13,21 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.V3InfotextsController = void 0;
|
|
16
|
-
const JISInfotextRepository_1 = require("../../data-access/JISInfotextRepository");
|
|
17
16
|
const OgPidToken_1 = require("../../ioc/OgPidToken");
|
|
18
|
-
const
|
|
17
|
+
const InfotextFacade_1 = require("../../service/facade/InfotextFacade");
|
|
19
18
|
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
20
19
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
21
20
|
let V3InfotextsController = exports.V3InfotextsController = class V3InfotextsController {
|
|
22
|
-
constructor(
|
|
23
|
-
this.
|
|
24
|
-
this.infotextTransformation = infotextTransformation;
|
|
21
|
+
constructor(infotextFacade) {
|
|
22
|
+
this.infotextFacade = infotextFacade;
|
|
25
23
|
this.getJisInfotexts = async (_req, res, next) => {
|
|
26
24
|
const span = (0, trace_provider_1.createChildSpan)("V3InfotextsController.getJisInfotexts");
|
|
27
25
|
try {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
res.status(200).send(outputDto);
|
|
26
|
+
const outputDto = await this.infotextFacade.getInfotextsForOverview();
|
|
27
|
+
return res.status(200).send(outputDto);
|
|
31
28
|
}
|
|
32
29
|
catch (err) {
|
|
30
|
+
span?.recordException(err);
|
|
33
31
|
next(err);
|
|
34
32
|
}
|
|
35
33
|
finally {
|
|
@@ -40,9 +38,7 @@ let V3InfotextsController = exports.V3InfotextsController = class V3InfotextsCon
|
|
|
40
38
|
};
|
|
41
39
|
exports.V3InfotextsController = V3InfotextsController = __decorate([
|
|
42
40
|
(0, tsyringe_1.injectable)(),
|
|
43
|
-
__param(0, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
44
|
-
|
|
45
|
-
__metadata("design:paramtypes", [JISInfotextRepository_1.JISInfotextRepository,
|
|
46
|
-
JISInfotextOverviewTransformation_1.JISInfotextOverviewTransformation])
|
|
41
|
+
__param(0, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.InfotextFacade)),
|
|
42
|
+
__metadata("design:paramtypes", [InfotextFacade_1.InfotextFacade])
|
|
47
43
|
], V3InfotextsController);
|
|
48
44
|
//# sourceMappingURL=V3InfotextsController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3InfotextsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3InfotextsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"V3InfotextsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v3/V3InfotextsController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAoD;AACpD,wEAAuE;AACvE,+FAA6F;AAE7F,iEAAwE;AAGjE,IAAM,qBAAqB,mCAA3B,MAAM,qBAAqB;IAC9B,YAA+C,cAAsC;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAE9E,oBAAe,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/D,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,uCAAuC,CAAC,CAAC;YAEtE,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBACtE,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;IAdsF,CAAC;CAe5F,CAAA;gCAhBY,qBAAqB;IADjC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,uBAAU,CAAC,cAAc,CAAC,CAAA;qCAAyB,+BAAc;GAD5E,qBAAqB,CAgBjC"}
|
|
@@ -71,7 +71,7 @@ let JISInfotextRepository = exports.JISInfotextRepository = class JISInfotextRep
|
|
|
71
71
|
async findAllForDepartureBoard(stopsIds, timeFrom = new Date()) {
|
|
72
72
|
try {
|
|
73
73
|
return await this.sequelizeModel.findAll({
|
|
74
|
-
attributes: ["display_type", "active_period_start", "active_period_end", "description_text"],
|
|
74
|
+
attributes: ["display_type", "active_period_start", "active_period_end", "description_text", "severity_level"],
|
|
75
75
|
where: {
|
|
76
76
|
active_period_start: { [sequelize_1.Op.lte]: timeFrom },
|
|
77
77
|
active_period_end: { [sequelize_1.Op.or]: [{ [sequelize_1.Op.gte]: timeFrom }, { [sequelize_1.Op.is]: null }] },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JISInfotextRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/data-access/JISInfotextRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,6DAAuC;AACvC,gGAAsE;AAGtE,kIAA+H;AAC/H,wEAAqE;AACrE,6EAAwE;AACxE,mEAAsE;AACtE,iEAAwE;AACxE,kDAA+C;AAC/C,+FAA4F;AAGrF,IAAM,qBAAqB,mCAA3B,MAAM,qBAAsB,SAAQ,iDAAuB;IAM9D,YAC4D,sBAA2D,EAC9E,SAA6B,EACxC,MAAe;QAEzC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAVtB,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,qCAAiB,CAAC,SAAS,CAAC;QAU3C,IAAI,CAAC,cAAc,GAAG,SAAS;aAC1B,aAAa,EAAE;aACf,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1G,IAAI,CAAC,kBAAkB,GAAG,IAAI,6BAAa,EAAE,CAAC;QAE9C,eAAe;QACf,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YACtE,OAAO,EAAE,sBAAsB,CAAC,cAAc;YAC9C,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,SAAS;YACnB,EAAE,EAAE,OAAO;SACd,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE;YACtE,OAAO,EAAE,sBAAsB,CAAC,cAAc;YAC9C,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,aAAa;SAC1B,CAAC,CAAC;QACH,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE;YACjE,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,sBAAsB,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE;YACpF,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE;YAC/D,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE;YAClF,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;SACxB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,wBAAwB,CAAC,QAAkB,EAAE,QAAQ,GAAG,IAAI,IAAI,EAAE;QAC3E,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBACrC,UAAU,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"JISInfotextRepository.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/data-access/JISInfotextRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { JISInfotextsModel } from "../../../schema-definitions/jis/models/JISInfotextsModel";
|
|
2
|
+
export declare class JISInfotextStopSuppressionFilter {
|
|
3
|
+
filterBySeverityLevel(list: JISInfotextsModel[]): JISInfotextsModel[];
|
|
4
|
+
private isStopPresentInHigherSeverityLevels;
|
|
5
|
+
private mapSeverityLevelToNumber;
|
|
6
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.JISInfotextStopSuppressionFilter = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const MAX_SEVERITY_LEVEL = 2;
|
|
12
|
+
let JISInfotextStopSuppressionFilter = exports.JISInfotextStopSuppressionFilter = class JISInfotextStopSuppressionFilter {
|
|
13
|
+
filterBySeverityLevel(list) {
|
|
14
|
+
const stopsBySeverity = new Map([
|
|
15
|
+
[MAX_SEVERITY_LEVEL, new Set()],
|
|
16
|
+
[1, new Set()],
|
|
17
|
+
[0, new Set()], // INFO
|
|
18
|
+
]);
|
|
19
|
+
let filteredList = [];
|
|
20
|
+
for (const infotext of list) {
|
|
21
|
+
if (!infotext.stops) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const severity = this.mapSeverityLevelToNumber(infotext.severity_level);
|
|
25
|
+
for (let i = infotext.stops.length - 1; i >= 0; i--) {
|
|
26
|
+
const stop = infotext.stops[i];
|
|
27
|
+
const stopId = stop.getDataValue("stop_id");
|
|
28
|
+
if (severity === MAX_SEVERITY_LEVEL) {
|
|
29
|
+
stopsBySeverity.get(severity).add(stopId);
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
let isStopPresent = this.isStopPresentInHigherSeverityLevels(severity, stopId, stopsBySeverity);
|
|
33
|
+
if (isStopPresent) {
|
|
34
|
+
infotext.stops.splice(i, 1);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
stopsBySeverity.get(severity).add(stopId);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (infotext.stops.length > 0) {
|
|
41
|
+
filteredList.push(infotext);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return filteredList;
|
|
45
|
+
}
|
|
46
|
+
isStopPresentInHigherSeverityLevels(currentSeverity, stopId, stopsBySeverity) {
|
|
47
|
+
for (let i = currentSeverity + 1; i <= MAX_SEVERITY_LEVEL; i++) {
|
|
48
|
+
if (stopsBySeverity.get(i).has(stopId)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
mapSeverityLevelToNumber(severityLevel) {
|
|
55
|
+
switch (severityLevel) {
|
|
56
|
+
case "SEVERE":
|
|
57
|
+
return MAX_SEVERITY_LEVEL;
|
|
58
|
+
case "WARNING":
|
|
59
|
+
return 1;
|
|
60
|
+
case "INFO":
|
|
61
|
+
default:
|
|
62
|
+
return 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.JISInfotextStopSuppressionFilter = JISInfotextStopSuppressionFilter = __decorate([
|
|
67
|
+
(0, tsyringe_1.injectable)()
|
|
68
|
+
], JISInfotextStopSuppressionFilter);
|
|
69
|
+
//# sourceMappingURL=JISInfotextStopSuppressionFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JISInfotextStopSuppressionFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/JISInfotextStopSuppressionFilter.ts"],"names":[],"mappings":";;;;;;;;;AACA,uCAAsC;AAEtC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAGtB,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAClC,qBAAqB,CAAC,IAAyB;QAClD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAsB;YACjD,CAAC,kBAAkB,EAAE,IAAI,GAAG,EAAU,CAAC;YACvC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC;YACtB,CAAC,CAAC,EAAE,IAAI,GAAG,EAAU,CAAC,EAAE,OAAO;SAClC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAwB,EAAE,CAAC;QAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACjB,SAAS;aACZ;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAExE,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE5C,IAAI,QAAQ,KAAK,kBAAkB,EAAE;oBACjC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,SAAS;iBACZ;gBAED,IAAI,aAAa,GAAG,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBAEhG,IAAI,aAAa,EAAE;oBACf,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/B;qBAAM;oBACH,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC9C;aACJ;YAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/B;SACJ;QAED,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,mCAAmC,CACvC,eAAuB,EACvB,MAAc,EACd,eAAyC;QAEzC,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,wBAAwB,CAAC,aAAqB;QAClD,QAAQ,aAAa,EAAE;YACnB,KAAK,QAAQ;gBACT,OAAO,kBAAkB,CAAC;YAC9B,KAAK,SAAS;gBACV,OAAO,CAAC,CAAC;YACb,KAAK,MAAM,CAAC;YACZ;gBACI,OAAO,CAAC,CAAC;SAChB;IACL,CAAC;CACJ,CAAA;2CApEY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;GACA,gCAAgC,CAoE5C"}
|
|
@@ -10,6 +10,7 @@ const V3TransferBoardsController_1 = require("../controllers/v3/V3TransferBoards
|
|
|
10
10
|
const data_access_1 = require("../data-access");
|
|
11
11
|
const JISInfotextRepository_1 = require("../data-access/JISInfotextRepository");
|
|
12
12
|
const JISInfotextRopidGTFSStopsRepository_1 = require("../data-access/JISInfotextRopidGTFSStopsRepository");
|
|
13
|
+
const JISInfotextStopSuppressionFilter_1 = require("../helpers/JISInfotextStopSuppressionFilter");
|
|
13
14
|
const InfotextFacade_1 = require("../service/facade/InfotextFacade");
|
|
14
15
|
const StopFacade_1 = require("../service/facade/StopFacade");
|
|
15
16
|
const TransferFacade_1 = require("../service/facade/TransferFacade");
|
|
@@ -43,4 +44,7 @@ ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.TransferFacade, Transfe
|
|
|
43
44
|
//#region Controllers
|
|
44
45
|
ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V3TransferBoardsController, V3TransferBoardsController_1.V3TransferBoardsController);
|
|
45
46
|
ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.V3InfotextsController, V3InfotextsController_1.V3InfotextsController);
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region Helpers
|
|
49
|
+
ogPidContainer.registerSingleton(OgPidToken_1.OgPidToken.JISInfotextStopSuppressionFilter, JISInfotextStopSuppressionFilter_1.JISInfotextStopSuppressionFilter);
|
|
46
50
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,sHAAiH;AACjH,gGAA2F;AAC3F,wGAAmG;AACnG,+DAA+E;AAE/E,mFAAgF;AAChF,6FAA0F;AAC1F,gDAAsD;AACtD,gFAA6E;AAC7E,4GAAyG;AACzG,qEAAkE;AAClE,6DAA0D;AAC1D,qEAAkE;AAClE,sHAAmH;AACnH,oHAAiH;AACjH,oHAAiH;AACjH,gHAA6G;AAC7G,6CAA0C;AAE1C,MAAM,cAAc,GAAwB,4BAAsB,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,sHAAiH;AACjH,gGAA2F;AAC3F,wGAAmG;AACnG,+DAA+E;AAE/E,mFAAgF;AAChF,6FAA0F;AAC1F,gDAAsD;AACtD,gFAA6E;AAC7E,4GAAyG;AACzG,kGAA+F;AAC/F,qEAAkE;AAClE,6DAA0D;AAC1D,qEAAkE;AAClE,sHAAmH;AACnH,oHAAiH;AACjH,oHAAiH;AACjH,gHAA6G;AAC7G,6CAA0C;AAE1C,MAAM,cAAc,GAAwB,4BAAsB,CAAC,oBAAoB,EAAE,CAAC;AAkC/D,wCAAc;AAhCzC,sBAAsB;AACtB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC5F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mCAAmC,EAAE,yEAAmC,CAAC,CAAC;AACtH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,mCAAmC,EAAE,yEAAmC,CAAC,CAAC;AACtH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC1F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,oBAAoB,EAAE,kCAAoB,CAAC,CAAC;AACxF,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC9F,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AAChH,YAAY;AAEZ,yBAAyB;AACzB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACpH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAClH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,iCAAiC,EAAE,qEAAiC,CAAC,CAAC;AAClH,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,+BAA+B,EAAE,iEAA+B,CAAC,CAAC;AAC9G,YAAY;AAEZ,gBAAgB;AAChB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,UAAU,EAAE,uBAAU,CAAC,CAAC;AACpE,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC5E,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,cAAc,EAAE,+BAAc,CAAC,CAAC;AAC5E,YAAY;AAEZ,qBAAqB;AACrB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACpG,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC1F,YAAY;AAEZ,iBAAiB;AACjB,cAAc,CAAC,iBAAiB,CAAC,uBAAU,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OgPidToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/OgPidToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,sBAAsB;IACtB,sBAAsB,EAAE,MAAM,EAAE;IAChC,mCAAmC,EAAE,MAAM,EAAE;IAC7C,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,uBAAuB,EAAE,MAAM,EAAE;IACjC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;IAEZ,yBAAyB;IACzB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,+BAA+B,EAAE,MAAM,EAAE;IACzC,YAAY;IAEZ,gBAAgB;IAChB,UAAU,EAAE,MAAM,EAAE;IACpB,cAAc,EAAE,MAAM,EAAE;IACxB,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;IAEZ,qBAAqB;IACrB,0BAA0B,EAAE,MAAM,EAAE;IACpC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,YAAY;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"OgPidToken.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/ioc/OgPidToken.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACtB,sBAAsB;IACtB,sBAAsB,EAAE,MAAM,EAAE;IAChC,mCAAmC,EAAE,MAAM,EAAE;IAC7C,qBAAqB,EAAE,MAAM,EAAE;IAC/B,oBAAoB,EAAE,MAAM,EAAE;IAC9B,uBAAuB,EAAE,MAAM,EAAE;IACjC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;IAEZ,yBAAyB;IACzB,kCAAkC,EAAE,MAAM,EAAE;IAC5C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,iCAAiC,EAAE,MAAM,EAAE;IAC3C,+BAA+B,EAAE,MAAM,EAAE;IACzC,YAAY;IAEZ,gBAAgB;IAChB,UAAU,EAAE,MAAM,EAAE;IACpB,cAAc,EAAE,MAAM,EAAE;IACxB,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;IAEZ,qBAAqB;IACrB,0BAA0B,EAAE,MAAM,EAAE;IACpC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,YAAY;IAEZ,iBAAiB;IACjB,gCAAgC,EAAE,MAAM,EAAE;IAC1C,YAAY;CACf,CAAC"}
|
|
@@ -6,8 +6,7 @@ declare class PIDDepartureBoardsModel {
|
|
|
6
6
|
private readonly departuresRepository;
|
|
7
7
|
private readonly runTripsRedisRepository;
|
|
8
8
|
private readonly positionsRedisRepository;
|
|
9
|
-
private readonly
|
|
10
|
-
private readonly infotextTransformation;
|
|
9
|
+
private readonly infotextFacade;
|
|
11
10
|
constructor();
|
|
12
11
|
getAll(options: IGetDeparturesOptions): Promise<IDepartureBoardOutputDto>;
|
|
13
12
|
private retrieveAndReturnStops;
|
|
@@ -27,8 +27,7 @@ class PIDDepartureBoardsModel {
|
|
|
27
27
|
this.departuresRepository = new data_access_1.DeparturesRepository(Di_1.OgPidContainer.resolve(CoreToken_1.CoreToken.PostgresConnector), Di_1.OgPidContainer.resolve(CoreToken_1.CoreToken.SimpleConfig));
|
|
28
28
|
this.runTripsRedisRepository = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.RunTripsRedisRepository);
|
|
29
29
|
this.positionsRedisRepository = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.PublicVehiclePositionsRepository);
|
|
30
|
-
this.
|
|
31
|
-
this.infotextTransformation = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.JISInfotextDepartureTransformation);
|
|
30
|
+
this.infotextFacade = Di_1.OgPidContainer.resolve(OgPidToken_1.OgPidToken.InfotextFacade);
|
|
32
31
|
}
|
|
33
32
|
async getAll(options) {
|
|
34
33
|
const currentMoment = (0, moment_timezone_1.default)();
|
|
@@ -76,7 +75,6 @@ class PIDDepartureBoardsModel {
|
|
|
76
75
|
runScheduleMap,
|
|
77
76
|
untrackedTrips,
|
|
78
77
|
}).toArray();
|
|
79
|
-
spanProcessing?.end();
|
|
80
78
|
return {
|
|
81
79
|
departures: departuresToInclude,
|
|
82
80
|
infotexts: infotextsToInclude,
|
|
@@ -90,6 +88,9 @@ class PIDDepartureBoardsModel {
|
|
|
90
88
|
}
|
|
91
89
|
throw new golemio_errors_1.GeneralError("Error while processing departures", this.constructor.name, error, 500);
|
|
92
90
|
}
|
|
91
|
+
finally {
|
|
92
|
+
spanProcessing?.end();
|
|
93
|
+
}
|
|
93
94
|
//#endregion
|
|
94
95
|
}
|
|
95
96
|
async retrieveAndReturnStops(options) {
|
|
@@ -114,7 +115,6 @@ class PIDDepartureBoardsModel {
|
|
|
114
115
|
throw new golemio_errors_1.GeneralError(`Too many stops, try lower number or split requests. The maximum is ${STOPS_MAX_COUNT} stops.`, this.constructor.name, undefined, 413);
|
|
115
116
|
}
|
|
116
117
|
const stopIds = stopsToInclude.map(({ stop_id }) => stop_id);
|
|
117
|
-
spanStops?.end();
|
|
118
118
|
return { stopsToInclude, stopIds };
|
|
119
119
|
}
|
|
120
120
|
catch (error) {
|
|
@@ -124,32 +124,27 @@ class PIDDepartureBoardsModel {
|
|
|
124
124
|
}
|
|
125
125
|
throw new golemio_errors_1.GeneralError("Error while getting stops", this.constructor.name, error, 500);
|
|
126
126
|
}
|
|
127
|
+
finally {
|
|
128
|
+
spanStops?.end();
|
|
129
|
+
}
|
|
127
130
|
}
|
|
128
131
|
async retrieveAndReturnInfotexts(stopIds, currentMoment, options) {
|
|
129
132
|
const spanInfotexts = (0, trace_provider_1.createChildSpan)("V2PIDRouter.DB.infotexts");
|
|
130
133
|
try {
|
|
131
|
-
|
|
132
|
-
const infotextsToInclude = this.infotextTransformation.transformArray(infotexts.map((infotext) => ({
|
|
133
|
-
data: infotext,
|
|
134
|
-
timeZone: options.timezone,
|
|
135
|
-
})));
|
|
136
|
-
spanInfotexts?.end();
|
|
137
|
-
return infotextsToInclude;
|
|
134
|
+
return await this.infotextFacade.getInfotextsForDepartureBoards(stopIds, currentMoment, options);
|
|
138
135
|
}
|
|
139
136
|
catch (error) {
|
|
140
137
|
spanInfotexts?.recordException(error);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
spanInfotexts?.end();
|
|
145
142
|
}
|
|
146
143
|
}
|
|
147
144
|
async retrieveAndReturnDirections(stopIds) {
|
|
148
145
|
const spanDirections = (0, trace_provider_1.createChildSpan)("V2PIDRouter.DB.directions");
|
|
149
146
|
try {
|
|
150
|
-
|
|
151
|
-
spanDirections?.end();
|
|
152
|
-
return departuresDirections;
|
|
147
|
+
return await this.ropidDeparturesDirectionsModel.GetAll(stopIds);
|
|
153
148
|
}
|
|
154
149
|
catch (error) {
|
|
155
150
|
spanDirections?.recordException(error);
|
|
@@ -158,13 +153,16 @@ class PIDDepartureBoardsModel {
|
|
|
158
153
|
}
|
|
159
154
|
throw new golemio_errors_1.GeneralError("Error while getting directions", this.constructor.name, error, 500);
|
|
160
155
|
}
|
|
156
|
+
finally {
|
|
157
|
+
spanDirections?.end();
|
|
158
|
+
}
|
|
161
159
|
}
|
|
162
160
|
async retrieveAndReturnDepartures(stopIds, currentMoment, options) {
|
|
163
161
|
const spanDepartures = (0, trace_provider_1.createChildSpan)("V2PIDRouter.DB.departures");
|
|
164
162
|
spanDepartures?.setAttributes({ stopIds });
|
|
165
163
|
try {
|
|
166
164
|
const minutesOffset = options.timeFrom ? options.timeFrom.diff(currentMoment, "minutes") : 0;
|
|
167
|
-
|
|
165
|
+
return await this.departuresRepository.GetAll({
|
|
168
166
|
currentMoment,
|
|
169
167
|
minutesAfter: options.minutesAfter,
|
|
170
168
|
minutesBefore: options.minutesBefore,
|
|
@@ -173,8 +171,6 @@ class PIDDepartureBoardsModel {
|
|
|
173
171
|
mode: options.mode,
|
|
174
172
|
isAirCondition: !!options.airCondition,
|
|
175
173
|
});
|
|
176
|
-
spanDepartures?.end();
|
|
177
|
-
return departures;
|
|
178
174
|
}
|
|
179
175
|
catch (error) {
|
|
180
176
|
spanDepartures?.recordException(error);
|
|
@@ -183,6 +179,9 @@ class PIDDepartureBoardsModel {
|
|
|
183
179
|
}
|
|
184
180
|
throw new golemio_errors_1.GeneralError("Error while getting departures", this.constructor.name, error, 500);
|
|
185
181
|
}
|
|
182
|
+
finally {
|
|
183
|
+
spanDepartures?.end();
|
|
184
|
+
}
|
|
186
185
|
}
|
|
187
186
|
async retrieveAndReturnRunTrips(runTuples) {
|
|
188
187
|
const runScheduleMap = new Map();
|
|
@@ -201,7 +200,6 @@ class PIDDepartureBoardsModel {
|
|
|
201
200
|
}
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
|
-
spanRunTrips?.end();
|
|
205
203
|
}
|
|
206
204
|
catch (error) {
|
|
207
205
|
spanRunTrips?.recordException(error);
|
|
@@ -210,6 +208,7 @@ class PIDDepartureBoardsModel {
|
|
|
210
208
|
"Cannot retrieve run schedule. The API consumer will receive departures with missing vehicles even if they requested to skip them.");
|
|
211
209
|
}
|
|
212
210
|
finally {
|
|
211
|
+
spanRunTrips?.end();
|
|
213
212
|
return {
|
|
214
213
|
runSchedule: runScheduleMap,
|
|
215
214
|
runTripIds: tripIds,
|
|
@@ -222,7 +221,6 @@ class PIDDepartureBoardsModel {
|
|
|
222
221
|
try {
|
|
223
222
|
const tripIdsArray = Array.from(tripIds);
|
|
224
223
|
untrackedTrips = await this.positionsRedisRepository.getTripsWithUntrackedVehicles(tripIdsArray);
|
|
225
|
-
spanUntrackedTrips?.end();
|
|
226
224
|
}
|
|
227
225
|
catch (error) {
|
|
228
226
|
spanUntrackedTrips?.recordException(error);
|
|
@@ -231,6 +229,7 @@ class PIDDepartureBoardsModel {
|
|
|
231
229
|
"Cannot retrieve untracked trips. The API consumer will receive departures with missing vehicles even if they requested to skip them.");
|
|
232
230
|
}
|
|
233
231
|
finally {
|
|
232
|
+
spanUntrackedTrips?.end();
|
|
234
233
|
return untrackedTrips;
|
|
235
234
|
}
|
|
236
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA0D;AAC1D,gDAA2D;AAG3D,oDAA+C;AAO/C,wEAAqE;AACrE,+FAA6F;AAC7F,6EAA8F;AAC9F,gGAA2E;AAC3E,wBAAmD;AACnD,0BAAkD;
|
|
1
|
+
{"version":3,"file":"PIDDepartureBoardsModel.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/models/PIDDepartureBoardsModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA0D;AAC1D,gDAA2D;AAG3D,oDAA+C;AAO/C,wEAAqE;AACrE,+FAA6F;AAC7F,6EAA8F;AAC9F,gGAA2E;AAC3E,wBAAmD;AACnD,0BAAkD;AAGlD,kCAA2C;AAC3C,kDAA+C;AAE/C,oFAA6D;AAC7D,mDAAgD;AAGhD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,0EAA0E;AAC1E,sEAAsE;AACtE,MAAM,uBAAuB;IAQzB;QACI,IAAI,CAAC,GAAG,GAAG,mBAAc,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,8BAA8B,GAAG,IAAI,iCAA8B,EAAE,CAAC;QAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAI,kCAAoB,CAChD,mBAAc,CAAC,OAAO,CAAqB,qBAAS,CAAC,iBAAiB,CAAC,EACvE,mBAAc,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAChE,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,mBAAc,CAAC,OAAO,CAA2B,uBAAU,CAAC,uBAAuB,CAAC,CAAC;QACpH,IAAI,CAAC,wBAAwB,GAAG,mBAAc,CAAC,OAAO,CAClD,uBAAU,CAAC,gCAAgC,CAC9C,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,mBAAc,CAAC,OAAO,CAAiB,uBAAU,CAAC,cAAc,CAAC,CAAC;IAC5F,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAA8B;QAC9C,MAAM,aAAa,GAAG,IAAA,yBAAM,GAAE,CAAC;QAE/B,gFAAgF;QAChF,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnE,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC;YAChE,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC;SACpE,CAAC,CAAC;QACH,YAAY;QAEZ,mEAAmE;QACnE,IAAI,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QACvD,IAAI,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,MAAM,kBAAkB,GACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAa,CAAC,SAAS,CAAC,CAAC;QAEpG,qHAAqH;QACrH,iFAAiF;QACjF,IAAI,kBAAkB,EAAE;YACpB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YAEpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;oBAC9C,SAAS;iBACZ;gBAED,SAAS,CAAC,GAAG,CAAC,qBAAS,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;aACnF;YAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAEpF,cAAc,GAAG,WAAW,CAAC;YAC7B,cAAc,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;SAC3E;QACD,YAAY;QAEZ,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAA,gCAAe,EAAC,wBAAwB,CAAC,CAAC;QACjE,IAAI;YACA,MAAM,mBAAmB,GAAG,IAAI,2BAAkB,CAAC,UAAU,EAAE;gBAC3D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,oBAAoB,EAAE,UAAU;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,IAAI;gBAChB,cAAc;gBACd,cAAc;aACjB,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,OAAO;gBACH,UAAU,EAAE,mBAAmB;gBAC/B,SAAS,EAAE,kBAAkB;gBAC7B,KAAK,EAAE,cAAc;aACxB,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAClG;gBAAS;YACN,cAAc,EAAE,GAAG,EAAE,CAAC;SACzB;QACD,YAAY;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAChC,OAA8B;QAE9B,MAAM,SAAS,GAAG,IAAA,gCAAe,EAAC,sBAAsB,CAAC,CAAC;QAC1D,SAAS,EAAE,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEjF,IAAI;YACA,MAAM,cAAc,GAAG,MAAM,eAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBACrD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gBAC9C,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,eAAe,GAAG,CAAC;gBAC1B,YAAY,EAAE,gCAAoB,CAAC,cAAc;gBACjD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,6BAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACpF;iBAAM,IAAI,cAAc,CAAC,MAAM,GAAG,eAAe,EAAE;gBAChD,MAAM,IAAI,6BAAY,CAClB,sEAAsE,eAAe,SAAS,EAC9F,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,GAAG,CACN,CAAC;aACL;YAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACZ,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC1F;gBAAS;YACN,SAAS,EAAE,GAAG,EAAE,CAAC;SACpB;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACpC,OAAiB,EACjB,aAAqB,EACrB,OAA8B;QAE9B,MAAM,aAAa,GAAG,IAAA,gCAAe,EAAC,0BAA0B,CAAC,CAAC;QAClE,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;SACpG;QAAC,OAAO,KAAK,EAAE;YACZ,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,aAAa,EAAE,GAAG,EAAE,CAAC;SACxB;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAiB;QACvD,MAAM,cAAc,GAAG,IAAA,gCAAe,EAAC,2BAA2B,CAAC,CAAC;QACpE,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACpE;QAAC,OAAO,KAAK,EAAE;YACZ,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC/F;gBAAS;YACN,cAAc,EAAE,GAAG,EAAE,CAAC;SACzB;IACL,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACrC,OAAiB,EACjB,aAAqB,EACrB,OAA8B;QAE9B,MAAM,cAAc,GAAG,IAAA,gCAAe,EAAC,2BAA2B,CAAC,CAAC;QACpE,cAAc,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3C,IAAI;YACA,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;gBAC1C,aAAa;gBACb,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,aAAa;gBACb,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY;aACzC,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAEvC,IAAI,KAAK,YAAY,qCAAoB,EAAE;gBACvC,MAAM,KAAK,CAAC;aACf;YAED,MAAM,IAAI,6BAAY,CAAC,gCAAgC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC/F;gBAAS;YACN,cAAc,EAAE,GAAG,EAAE,CAAC;SACzB;IACL,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,SAAsB;QAI1D,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,YAAY,GAAG,IAAA,gCAAe,EAAC,4BAA4B,CAAC,CAAC;QAEnE,IAAI;YACA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAE3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,OAAO,EAAE;oBACT,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAChC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAE5C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE;wBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC7B;iBACJ;aACJ;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,KAAK;YACL,mCAAmC;YACnC,mIAAmI,CACtI,CAAC;SACL;gBAAS;YACN,YAAY,EAAE,GAAG,EAAE,CAAC;YACpB,OAAO;gBACH,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,OAAO;aACtB,CAAC;SACL;IACL,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,OAAoB;QAC9D,IAAI,cAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC5C,MAAM,kBAAkB,GAAG,IAAA,gCAAe,EAAC,kCAAkC,CAAC,CAAC;QAE/E,IAAI;YACA,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;SACpG;QAAC,OAAO,KAAK,EAAE;YACZ,kBAAkB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,KAAK;YACL,mCAAmC;YACnC,sIAAsI,CACzI,CAAC;SACL;gBAAS;YACN,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC1B,OAAO,cAAc,CAAC;SACzB;IACL,CAAC;CACJ;AAEQ,0DAAuB"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { JISInfotextRepository } from "../../data-access/JISInfotextRepository";
|
|
2
|
-
import { IInfotextTransferOutputDto } from "../../domain/InfotextInterfaces";
|
|
2
|
+
import { IInfotextDepartureOutputDto, IInfotextOverviewOutputDto, IInfotextTransferOutputDto } from "../../domain/InfotextInterfaces";
|
|
3
|
+
import { JISInfotextStopSuppressionFilter } from "../../helpers/JISInfotextStopSuppressionFilter";
|
|
4
|
+
import { IGetDeparturesOptions } from "../../models/interfaces/IGetDeparturesOptions";
|
|
3
5
|
import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
6
|
+
import { JISInfotextDepartureTransformation } from "../transformations/JISInfotextDepartureTransformation";
|
|
7
|
+
import { JISInfotextOverviewTransformation } from "../transformations/JISInfotextOverviewTransformation";
|
|
4
8
|
import { JISInfotextTransferTransformation } from "../transformations/JISInfotextTransferTransformation";
|
|
5
9
|
export declare class InfotextFacade {
|
|
6
10
|
private infotextRepository;
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
private infotextDepartureTransformation;
|
|
12
|
+
private infotextTransferTransformation;
|
|
13
|
+
private infotextOverviewTransformation;
|
|
14
|
+
private infotextStopFilter;
|
|
15
|
+
constructor(infotextRepository: JISInfotextRepository, infotextDepartureTransformation: JISInfotextDepartureTransformation, infotextTransferTransformation: JISInfotextTransferTransformation, infotextOverviewTransformation: JISInfotextOverviewTransformation, infotextStopFilter: JISInfotextStopSuppressionFilter);
|
|
16
|
+
getInfotextsForDepartureBoards(stopIds: string[], currentMoment: Moment, options: IGetDeparturesOptions): Promise<IInfotextDepartureOutputDto[]>;
|
|
12
17
|
getInfotextsForTransferBoards(stopIds: string[], currentMoment: Moment, timeFrom: Moment | null): Promise<IInfotextTransferOutputDto[]>;
|
|
18
|
+
getInfotextsForOverview(): Promise<IInfotextOverviewOutputDto[]>;
|
|
13
19
|
}
|
|
@@ -14,38 +14,98 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.InfotextFacade = void 0;
|
|
16
16
|
const JISInfotextRepository_1 = require("../../data-access/JISInfotextRepository");
|
|
17
|
+
const JISInfotextStopSuppressionFilter_1 = require("../../helpers/JISInfotextStopSuppressionFilter");
|
|
17
18
|
const OgPidToken_1 = require("../../ioc/OgPidToken");
|
|
18
19
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
19
20
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
21
|
+
const JISInfotextDepartureTransformation_1 = require("../transformations/JISInfotextDepartureTransformation");
|
|
22
|
+
const JISInfotextOverviewTransformation_1 = require("../transformations/JISInfotextOverviewTransformation");
|
|
20
23
|
const JISInfotextTransferTransformation_1 = require("../transformations/JISInfotextTransferTransformation");
|
|
21
24
|
let InfotextFacade = exports.InfotextFacade = class InfotextFacade {
|
|
22
|
-
constructor(infotextRepository,
|
|
25
|
+
constructor(infotextRepository, infotextDepartureTransformation, infotextTransferTransformation, infotextOverviewTransformation, infotextStopFilter) {
|
|
23
26
|
this.infotextRepository = infotextRepository;
|
|
24
|
-
this.
|
|
27
|
+
this.infotextDepartureTransformation = infotextDepartureTransformation;
|
|
28
|
+
this.infotextTransferTransformation = infotextTransferTransformation;
|
|
29
|
+
this.infotextOverviewTransformation = infotextOverviewTransformation;
|
|
30
|
+
this.infotextStopFilter = infotextStopFilter;
|
|
31
|
+
}
|
|
32
|
+
async getInfotextsForDepartureBoards(stopIds, currentMoment, options) {
|
|
33
|
+
try {
|
|
34
|
+
const infotexts = await this.infotextRepository.findAllForDepartureBoard(stopIds, (options.timeFrom ?? currentMoment).toDate());
|
|
35
|
+
if (infotexts.length === 0) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
const filteredInfotexts = this.infotextStopFilter.filterBySeverityLevel(infotexts);
|
|
39
|
+
if (filteredInfotexts.length === 0) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
const infotextsToInclude = [];
|
|
43
|
+
for (const infotext of filteredInfotexts) {
|
|
44
|
+
const infotextDto = this.infotextDepartureTransformation.transformElement({
|
|
45
|
+
data: infotext,
|
|
46
|
+
timeZone: options.timezone,
|
|
47
|
+
});
|
|
48
|
+
infotextsToInclude.push(infotextDto);
|
|
49
|
+
}
|
|
50
|
+
return infotextsToInclude;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error instanceof golemio_errors_1.AbstractGolemioError) {
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
throw new golemio_errors_1.GeneralError("Failed to retrieve infotexts for departure boards", this.constructor.name, error, 500);
|
|
57
|
+
}
|
|
25
58
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Retrieves active infotexts for given GTFS stop IDs
|
|
28
|
-
*/
|
|
29
59
|
async getInfotextsForTransferBoards(stopIds, currentMoment, timeFrom) {
|
|
30
|
-
let infotexts = [];
|
|
31
60
|
try {
|
|
32
|
-
const
|
|
33
|
-
infotexts
|
|
61
|
+
const infotexts = await this.infotextRepository.findAllForDepartureBoard(stopIds, timeFrom ? timeFrom.toDate() : currentMoment.toDate());
|
|
62
|
+
if (infotexts.length === 0) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
const filteredInfotexts = this.infotextStopFilter.filterBySeverityLevel(infotexts);
|
|
66
|
+
if (filteredInfotexts.length === 0) {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
return this.infotextTransferTransformation.transformArray(infotexts);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
if (error instanceof golemio_errors_1.AbstractGolemioError) {
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
throw new golemio_errors_1.GeneralError("Failed to retrieve infotexts for transfer boards", this.constructor.name, error, 500);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async getInfotextsForOverview() {
|
|
79
|
+
try {
|
|
80
|
+
const infotexts = await this.infotextRepository.findAllForOverview();
|
|
81
|
+
if (infotexts.length === 0) {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
const filteredInfotexts = this.infotextStopFilter.filterBySeverityLevel(infotexts);
|
|
85
|
+
if (filteredInfotexts.length === 0) {
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
return this.infotextOverviewTransformation.transformArray(filteredInfotexts);
|
|
34
89
|
}
|
|
35
90
|
catch (error) {
|
|
36
91
|
if (error instanceof golemio_errors_1.AbstractGolemioError) {
|
|
37
92
|
throw error;
|
|
38
93
|
}
|
|
39
|
-
throw new golemio_errors_1.GeneralError("Failed to retrieve infotexts", this.constructor.name, error, 500);
|
|
94
|
+
throw new golemio_errors_1.GeneralError("Failed to retrieve infotexts for overview", this.constructor.name, error, 500);
|
|
40
95
|
}
|
|
41
|
-
return infotexts;
|
|
42
96
|
}
|
|
43
97
|
};
|
|
44
98
|
exports.InfotextFacade = InfotextFacade = __decorate([
|
|
45
99
|
(0, tsyringe_1.injectable)(),
|
|
46
100
|
__param(0, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.JISInfotextRepository)),
|
|
47
|
-
__param(1, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.
|
|
101
|
+
__param(1, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.JISInfotextDepartureTransformation)),
|
|
102
|
+
__param(2, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.JISInfotextTransferTransformation)),
|
|
103
|
+
__param(3, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.JISInfotextOverviewTransformation)),
|
|
104
|
+
__param(4, (0, tsyringe_1.inject)(OgPidToken_1.OgPidToken.JISInfotextStopSuppressionFilter)),
|
|
48
105
|
__metadata("design:paramtypes", [JISInfotextRepository_1.JISInfotextRepository,
|
|
49
|
-
|
|
106
|
+
JISInfotextDepartureTransformation_1.JISInfotextDepartureTransformation,
|
|
107
|
+
JISInfotextTransferTransformation_1.JISInfotextTransferTransformation,
|
|
108
|
+
JISInfotextOverviewTransformation_1.JISInfotextOverviewTransformation,
|
|
109
|
+
JISInfotextStopSuppressionFilter_1.JISInfotextStopSuppressionFilter])
|
|
50
110
|
], InfotextFacade);
|
|
51
111
|
//# sourceMappingURL=InfotextFacade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfotextFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/InfotextFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mFAAkF;
|
|
1
|
+
{"version":3,"file":"InfotextFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/facade/InfotextFacade.ts"],"names":[],"mappings":"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"}
|