@golemio/pid 2.12.10-dev.1267735301 → 2.12.10-dev.1269288119
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/public/controllers/v1/PublicDepartureBoardsController.js +5 -0
- package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.js.map +1 -1
- package/dist/output-gateway/public/routers/v1/PublicDeparturesRouter.js +3 -2
- package/dist/output-gateway/public/routers/v1/PublicDeparturesRouter.js.map +1 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +11 -0
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,9 +12,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PublicDepartureBoardsController = void 0;
|
|
13
13
|
const Di_1 = require("../../ioc/Di");
|
|
14
14
|
const OgModuleToken_1 = require("../../ioc/OgModuleToken");
|
|
15
|
+
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
15
16
|
class PublicDepartureBoardsController {
|
|
16
17
|
constructor() {
|
|
17
18
|
this.getAll = (req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const span = (0, trace_provider_1.createChildSpan)("PublicDepartureBoardsController.getAll");
|
|
18
20
|
try {
|
|
19
21
|
const facade = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.DepartureBoardFacade);
|
|
20
22
|
const params = this.parseDepartureParams(req.query);
|
|
@@ -28,6 +30,9 @@ class PublicDepartureBoardsController {
|
|
|
28
30
|
catch (err) {
|
|
29
31
|
next(err);
|
|
30
32
|
}
|
|
33
|
+
finally {
|
|
34
|
+
span === null || span === void 0 ? void 0 : span.end();
|
|
35
|
+
}
|
|
31
36
|
});
|
|
32
37
|
}
|
|
33
38
|
parseDepartureParams(query) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicDepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/controllers/v1/PublicDepartureBoardsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsD;AACtD,2DAA6D;
|
|
1
|
+
{"version":3,"file":"PublicDepartureBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/controllers/v1/PublicDepartureBoardsController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsD;AACtD,2DAA6D;AAK7D,+FAA6F;AAE7F,MAAa,+BAA+B;IACxC;QAEO,WAAM,GAAmB,CAAO,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACrD,MAAM,IAAI,GAAG,IAAA,gCAAe,EAAC,wCAAwC,CAAC,CAAC;YAEvE,IAAI;gBACA,MAAM,MAAM,GAAG,sBAAiB,CAAC,OAAO,CAAuB,6BAAa,CAAC,oBAAoB,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBAE9G,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7B,OAAO;iBACV;gBAED,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;oBAAS;gBACN,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;aACf;QACL,CAAC,CAAA,CAAC;IArBa,CAAC;IAuBR,oBAAoB,CAAC,KAAe;QACxC,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,OAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAiB,CAAC,CAAC;YACpH,eAAe,EAAE,KAAK,CAAC,eAAe;gBAClC,CAAC,CAAC,KAAK,CAAC,eAAe,YAAY,KAAK;oBACpC,CAAC,CAAE,KAAK,CAAC,eAA4B;oBACrC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAyB,CAAC;gBACvC,CAAC,CAAC,IAAI;YACV,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAsB,CAAC,CAAC,CAAC,CAAC,EAAE;SACjF,CAAC;IACN,CAAC;IAEO,YAAY,CAAC,gBAA0B;QAC3C,IAAI,MAAM,GAAsC,IAAI,GAAG,EAAE,CAAC;QAE1D,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,OAAO,GAAa,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,CAAC,GAAG,CAAC;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACnC,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;aACjC,CAAC,CAAC;SACN;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AArDD,0EAqDC"}
|
|
@@ -6,11 +6,12 @@ const Validation_1 = require("@golemio/core/dist/output-gateway/Validation");
|
|
|
6
6
|
const express_1 = require("@golemio/core/dist/shared/express");
|
|
7
7
|
const express_validator_1 = require("@golemio/core/dist/shared/express-validator");
|
|
8
8
|
const CustomStopIdGroupValidator_1 = require("./helpers/CustomStopIdGroupValidator");
|
|
9
|
+
const redis_1 = require("@golemio/core/dist/output-gateway/redis");
|
|
9
10
|
class PublicDeparturesRouter {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.router = (0, express_1.Router)();
|
|
12
13
|
this.departureController = new PublicDepartureBoardsController_1.PublicDepartureBoardsController();
|
|
13
|
-
this.initRoutes();
|
|
14
|
+
this.initRoutes("5 seconds");
|
|
14
15
|
}
|
|
15
16
|
initRoutes(expire) {
|
|
16
17
|
this.router.get("/", [
|
|
@@ -18,7 +19,7 @@ class PublicDeparturesRouter {
|
|
|
18
19
|
(0, express_validator_1.query)("limit").optional().isInt({ min: 1, max: 20 }).not().isArray(),
|
|
19
20
|
(0, express_validator_1.query)("routeShortNames").optional().not().isEmpty({ ignore_whitespace: true }),
|
|
20
21
|
(0, express_validator_1.query)("minutesAfter").optional().isInt({ min: 1, max: 360 }).not().isArray(),
|
|
21
|
-
], Validation_1.checkErrors, this.departureController.getAll);
|
|
22
|
+
], Validation_1.checkErrors, (0, redis_1.useCacheMiddleware)(expire), this.departureController.getAll);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
exports.PublicDeparturesRouter = PublicDeparturesRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicDeparturesRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicDeparturesRouter.ts"],"names":[],"mappings":";;;AAAA,0GAA4G;AAC5G,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AACpE,qFAAkF;
|
|
1
|
+
{"version":3,"file":"PublicDeparturesRouter.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/routers/v1/PublicDeparturesRouter.ts"],"names":[],"mappings":";;;AAAA,0GAA4G;AAC5G,6EAA2E;AAC3E,+DAA2D;AAC3D,mFAAoE;AACpE,qFAAkF;AAClF,mEAA6E;AAE7E,MAAa,sBAAsB;IAI/B;QACI,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,iEAA+B,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uDAA0B,CAAC,QAAQ,CAAC;YACrE,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACpE,IAAA,yBAAK,EAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC9E,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;SAC/E,EACD,wBAAW,EACX,IAAA,0BAAkB,EAAC,MAAM,CAAC,EAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAClC,CAAC;IACN,CAAC;CACJ;AAxBD,wDAwBC;AAED,MAAM,wBAAwB,GAAG,IAAI,sBAAsB,EAAE,CAAC,MAAM,CAAC;AAC5D,4DAAwB"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.DepartureBoardFacade = void 0;
|
|
13
13
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
14
14
|
const PublicDepartureTransformation_1 = require("../transformations/PublicDepartureTransformation");
|
|
15
|
+
const trace_provider_1 = require("@golemio/core/dist/monitoring/opentelemetry/trace-provider");
|
|
15
16
|
class DepartureBoardFacade {
|
|
16
17
|
constructor(departureRepository, tripRepository, descriptorRepository) {
|
|
17
18
|
this.departureRepository = departureRepository;
|
|
@@ -25,7 +26,10 @@ class DepartureBoardFacade {
|
|
|
25
26
|
const sortedStopGroups = this.sortStopGroupsByPriority(stopIds);
|
|
26
27
|
for (const stopGroup of sortedStopGroups) {
|
|
27
28
|
let outputGroup = [];
|
|
29
|
+
const spanDepartures = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getPublicDepartureCache`);
|
|
28
30
|
const departures = yield this.departureRepository.getPublicGtfsDepartureCache(stopGroup.stopIds, minutesAfter);
|
|
31
|
+
spanDepartures === null || spanDepartures === void 0 ? void 0 : spanDepartures.end();
|
|
32
|
+
const spanVehicles = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getAllVehicleIdsAndDupl`);
|
|
29
33
|
try {
|
|
30
34
|
for (const departure of departures) {
|
|
31
35
|
const vehicleIds = yield this.tripRepository.getAllVehicleIdsForTrip(departure.trip_id);
|
|
@@ -39,6 +43,10 @@ class DepartureBoardFacade {
|
|
|
39
43
|
}
|
|
40
44
|
throw new golemio_errors_1.GeneralError("Error while retrieving cached data", this.constructor.name, err, 500);
|
|
41
45
|
}
|
|
46
|
+
finally {
|
|
47
|
+
spanVehicles === null || spanVehicles === void 0 ? void 0 : spanVehicles.end();
|
|
48
|
+
}
|
|
49
|
+
const spanManipulate = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.manipulateDepartures`);
|
|
42
50
|
try {
|
|
43
51
|
if (routeShortNames) {
|
|
44
52
|
outputGroup = outputGroup.filter((departure) => routeShortNames.includes(departure.route.short_name));
|
|
@@ -51,6 +59,9 @@ class DepartureBoardFacade {
|
|
|
51
59
|
catch (err) {
|
|
52
60
|
throw new golemio_errors_1.GeneralError("Error while manipulating departures", this.constructor.name, err, 500);
|
|
53
61
|
}
|
|
62
|
+
finally {
|
|
63
|
+
spanManipulate === null || spanManipulate === void 0 ? void 0 : spanManipulate.end();
|
|
64
|
+
}
|
|
54
65
|
output.push(outputGroup);
|
|
55
66
|
}
|
|
56
67
|
return output;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,6EAA8F;AAC9F,oGAAiG;
|
|
1
|
+
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":"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"}
|