@golemio/pid 2.13.7-dev.1317643198 → 2.13.7-rc.1319082266
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.d.ts +0 -2
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js +3 -34
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js +7 -15
- package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +0 -2
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +0 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +0 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.d.ts +1 -3
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.js +2 -13
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +4 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +27 -11
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +6 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +19 -8
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
- package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.js +2 -2
- package/dist/output-gateway/public/controllers/v1/PublicDepartureBoardsController.js.map +1 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.d.ts +1 -1
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js +6 -21
- package/dist/output-gateway/public/service/facade/DepartureBoardFacade.js.map +1 -1
- package/docs/openapi-output.yaml +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { IStopDto } from "../../schema-definitions/ropid-gtfs/interfaces/IStopDto";
|
|
2
1
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine";
|
|
3
2
|
import { IValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
4
3
|
import Sequelize from "@golemio/core/dist/shared/sequelize";
|
|
@@ -14,5 +13,4 @@ export declare class RopidGTFSStopsModel extends PostgresModel implements IModel
|
|
|
14
13
|
/** Type/Strategy of saving the data */
|
|
15
14
|
protected savingType: "insertOnly" | "insertOrUpdate";
|
|
16
15
|
constructor();
|
|
17
|
-
getAll: () => Promise<IStopDto[]>;
|
|
18
16
|
}
|
|
@@ -1,32 +1,12 @@
|
|
|
1
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
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
3
|
exports.RopidGTFSStopsModel = void 0;
|
|
22
4
|
const const_1 = require("../../schema-definitions/const");
|
|
23
5
|
const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
|
|
24
6
|
const StopDto_1 = require("../../schema-definitions/ropid-gtfs/models/StopDto");
|
|
25
7
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
26
|
-
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
27
8
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
28
|
-
|
|
29
|
-
let RopidGTFSStopsModel = exports.RopidGTFSStopsModel = class RopidGTFSStopsModel extends integration_engine_1.PostgresModel {
|
|
9
|
+
class RopidGTFSStopsModel extends integration_engine_1.PostgresModel {
|
|
30
10
|
constructor() {
|
|
31
11
|
super(ropid_gtfs_1.RopidGTFS.stops.name + "Model", {
|
|
32
12
|
outputSequelizeAttributes: ropid_gtfs_1.RopidGTFS.stops.outputSequelizeAttributes,
|
|
@@ -34,18 +14,7 @@ let RopidGTFSStopsModel = exports.RopidGTFSStopsModel = class RopidGTFSStopsMode
|
|
|
34
14
|
pgSchema: const_1.PG_SCHEMA,
|
|
35
15
|
savingType: "insertOnly",
|
|
36
16
|
}, new golemio_validator_1.JSONSchemaValidator(ropid_gtfs_1.RopidGTFS.stops.name + "ModelValidator", StopDto_1.StopDto.jsonSchema));
|
|
37
|
-
this.getAll = () => __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
try {
|
|
39
|
-
return this.sequelizeModel.findAll();
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
throw new golemio_errors_1.GeneralError("Database error", "RopidGTFSStopsModel", err, 500);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
17
|
}
|
|
46
|
-
}
|
|
47
|
-
exports.RopidGTFSStopsModel = RopidGTFSStopsModel
|
|
48
|
-
(0, tsyringe_1.injectable)(),
|
|
49
|
-
__metadata("design:paramtypes", [])
|
|
50
|
-
], RopidGTFSStopsModel);
|
|
18
|
+
}
|
|
19
|
+
exports.RopidGTFSStopsModel = RopidGTFSStopsModel;
|
|
51
20
|
//# sourceMappingURL=RopidGTFSStopsModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSStopsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSStopsModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RopidGTFSStopsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSStopsModel.ts"],"names":[],"mappings":";;;AAAA,0DAAuC;AACvC,oEAA4C;AAC5C,gFAAyD;AACzD,8EAA8E;AAC9E,mFAA8F;AAG9F,MAAa,mBAAoB,SAAQ,kCAAa;IAYlD;QACI,KAAK,CACD,sBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAC9B;YACI,yBAAyB,EAAE,sBAAS,CAAC,KAAK,CAAC,yBAAyB;YACpE,WAAW,EAAE,sBAAS,CAAC,KAAK,CAAC,WAAW;YACxC,QAAQ,EAAE,iBAAS;YACnB,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,sBAAS,CAAC,KAAK,CAAC,IAAI,GAAG,gBAAgB,EAAE,iBAAO,CAAC,UAAU,CAAC,CACvF,CAAC;IACN,CAAC;CACJ;AAxBD,kDAwBC"}
|
package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js
CHANGED
|
@@ -54,21 +54,13 @@ let PublicGtfsDepartureRepository = exports.PublicGtfsDepartureRepository = Publ
|
|
|
54
54
|
const pipeline = this.connection.pipeline();
|
|
55
55
|
// Automatically remove departures that are older than 3 hours to keep the cache clean
|
|
56
56
|
pipeline.zremrangebyscore(sortedSetKey, "-inf", new Date().getTime() / 1000 - 3 * 3600);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
pipeline.
|
|
64
|
-
const firstDepartureScore = new Date(departures[0].departure_datetime).getTime() / 1000;
|
|
65
|
-
const lastDepartureScore = new Date(departures[departures.length - 1].departure_datetime).getTime() / 1000;
|
|
66
|
-
// Remove departures that are in the same time range
|
|
67
|
-
pipeline.zremrangebyscore(sortedSetKey, firstDepartureScore, lastDepartureScore);
|
|
68
|
-
for (const departure of departures) {
|
|
69
|
-
const departureScore = new Date(departure.departure_datetime).getTime() / 1000;
|
|
70
|
-
pipeline.zadd(sortedSetKey, departureScore, JSON.stringify(departure));
|
|
71
|
-
}
|
|
57
|
+
const firstDepartureScore = new Date(departures[0].departure_datetime).getTime() / 1000;
|
|
58
|
+
const lastDepartureScore = new Date(departures[departures.length - 1].departure_datetime).getTime() / 1000;
|
|
59
|
+
// Remove departures that are in the same time range
|
|
60
|
+
pipeline.zremrangebyscore(sortedSetKey, firstDepartureScore, lastDepartureScore);
|
|
61
|
+
for (const departure of departures) {
|
|
62
|
+
const departureScore = new Date(departure.departure_datetime).getTime() / 1000;
|
|
63
|
+
pipeline.zadd(sortedSetKey, departureScore, JSON.stringify(departure));
|
|
72
64
|
}
|
|
73
65
|
pipeline.expire(sortedSetKey, intervalParams.intervalToHours * 3600);
|
|
74
66
|
yield pipeline.exec();
|
package/dist/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicGtfsDepartureRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iFAAgF;AAEhF,uIAA0G;AAC1G,wFAAqF;AACrF,6EAA+G;AAC/G,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,6BAA6B,6EAAnC,MAAM,6BAA8B,SAAQ,uBAAU;IAGzD;QACI,KAAK,CACD,yBAAyB,EACzB;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,+BAA6B,CAAC,gBAAgB;SACzD,EACD,IAAI,uCAAmB,CAAC,wCAAwC,EAAE,2DAA4B,CAAC,CAClG,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACU,wBAAwB,CACjC,UAA0C,EAC1C,MAAc,EACd,cAAuD;;YAEvD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC9C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,gCAAe,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9F;YAED,IAAI;gBACA,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"PublicGtfsDepartureRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/PublicGtfsDepartureRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,iFAAgF;AAEhF,uIAA0G;AAC1G,wFAAqF;AACrF,6EAA+G;AAC/G,mFAAkF;AAClF,iEAAgE;AAGzD,IAAM,6BAA6B,6EAAnC,MAAM,6BAA8B,SAAQ,uBAAU;IAGzD;QACI,KAAK,CACD,yBAAyB,EACzB;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,+BAA6B,CAAC,gBAAgB;SACzD,EACD,IAAI,uCAAmB,CAAC,wCAAwC,EAAE,2DAA4B,CAAC,CAClG,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACU,wBAAwB,CACjC,UAA0C,EAC1C,MAAc,EACd,cAAuD;;YAEvD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC9C;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,gCAAe,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC9F;YAED,IAAI;gBACA,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAE5C,sFAAsF;gBACtF,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBAExF,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACxF,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBAE3G,oDAAoD;gBACpD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;gBAEjF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;oBAC/E,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC1E;gBAED,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;gBACrE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;aACzB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iCAAiC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACjH;QACL,CAAC;KAAA;;AA3Da,8CAAgB,GAAG,yCAAiC,AAApC,CAAqC;wCAD1D,6BAA6B;IADzC,IAAA,qBAAU,GAAE;;GACA,6BAA6B,CA6DzC"}
|
|
@@ -22,7 +22,6 @@ const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
|
|
|
22
22
|
const DeparturesPresetsDatasource_1 = require("../workers/presets/data-access/DeparturesPresetsDatasource");
|
|
23
23
|
const CheckForNewDeparturesPresetsTask_1 = require("../workers/presets/tasks/CheckForNewDeparturesPresetsTask");
|
|
24
24
|
const DownloadDeparturesPresetsTask_1 = require("../workers/presets/tasks/DownloadDeparturesPresetsTask");
|
|
25
|
-
const RopidGTFSStopsModel_1 = require("../RopidGTFSStopsModel");
|
|
26
25
|
//#region Initialization
|
|
27
26
|
const RopidGtfsContainer = Di_1.PidContainer.createChildContainer();
|
|
28
27
|
exports.RopidGtfsContainer = RopidGtfsContainer;
|
|
@@ -36,7 +35,6 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
|
|
|
36
35
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository, RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository);
|
|
37
36
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository, precomputed_1.DeparturesRepository);
|
|
38
37
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
|
|
39
|
-
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel, RopidGTFSStopsModel_1.RopidGTFSStopsModel);
|
|
40
38
|
//#endregion
|
|
41
39
|
//#region Transformations
|
|
42
40
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSTransformation, RopidGTFSTransformation_1.RopidGTFSTransformation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AACpE,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AACpE,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;AAEvG,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA6C3E,gDAAkB;AA5C3B,YAAY;AAEZ,qBAAqB;AACrB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACnH,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACvH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,yBAAyB,EACjD,qDAAyB,CAC5B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC9G,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,kCAAoB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAClH,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,kCAAkC,EAC1D,uEAAkC,CACrC,CAAC;AACF,YAAY;AAEZ,gBAAgB;AAChB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/F,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzG,QAAQ,CAAC,iDAAuB,CAAC,gBAAgB,EAAE,mCAAgB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;KACxG,gBAAgB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC7G,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,mCAAmC,EAC3D,yEAAmC,CACtC,CAAC;AACF,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC3H,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC"}
|
|
@@ -19,7 +19,6 @@ const RopidGtfsContainerToken = {
|
|
|
19
19
|
DeparturesPresetsDataSource: Symbol(),
|
|
20
20
|
CheckForNewDeparturesPresetsTask: Symbol(),
|
|
21
21
|
DownloadDeparturesPresetsTask: Symbol(),
|
|
22
|
-
RopidGTFSStopsModel: Symbol(),
|
|
23
22
|
};
|
|
24
23
|
exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
|
|
25
24
|
//# sourceMappingURL=RopidGtfsContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;IAC7C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,6BAA6B,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;IAC7C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,6BAA6B,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEO,0DAAuB"}
|
|
@@ -5,18 +5,16 @@ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleC
|
|
|
5
5
|
import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
|
|
6
6
|
import { IRefreshPublicDepartureParams } from "./interfaces/IRefreshPublicDepartureParams";
|
|
7
7
|
import { RefreshPublicDepartureValidationSchema } from "./schema/RefreshPublicDepartureSchema";
|
|
8
|
-
import { RopidGTFSStopsModel } from "../../../RopidGTFSStopsModel";
|
|
9
8
|
export declare class RefreshPublicGtfsDepartureCacheTask extends AbstractTask<IRefreshPublicDepartureParams> {
|
|
10
9
|
private departureTransformation;
|
|
11
10
|
private departureRepository;
|
|
12
11
|
private publicDepartureRepository;
|
|
13
12
|
private config;
|
|
14
|
-
private stopsModel;
|
|
15
13
|
readonly queueName = "refreshPublicGtfsDepartureCache";
|
|
16
14
|
readonly queueTtl: number;
|
|
17
15
|
readonly schema: typeof RefreshPublicDepartureValidationSchema;
|
|
18
16
|
private readonly departurePageSize;
|
|
19
|
-
constructor(departureTransformation: PublicDepartureCacheTransformation, departureRepository: DeparturesRepository, publicDepartureRepository: PublicGtfsDepartureRepository, config: ISimpleConfig
|
|
17
|
+
constructor(departureTransformation: PublicDepartureCacheTransformation, departureRepository: DeparturesRepository, publicDepartureRepository: PublicGtfsDepartureRepository, config: ISimpleConfig);
|
|
20
18
|
protected execute(params: IRefreshPublicDepartureParams): Promise<void>;
|
|
21
19
|
private getIntervalParamsWithDefault;
|
|
22
20
|
private getDeparturesByStopId;
|
|
@@ -32,16 +32,14 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
32
32
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
33
33
|
const constants_1 = require("../constants");
|
|
34
34
|
const RefreshPublicDepartureSchema_1 = require("./schema/RefreshPublicDepartureSchema");
|
|
35
|
-
const RopidGTFSStopsModel_1 = require("../../../RopidGTFSStopsModel");
|
|
36
35
|
const DEFAULT_PAGE_SIZE = 50000;
|
|
37
36
|
let RefreshPublicGtfsDepartureCacheTask = exports.RefreshPublicGtfsDepartureCacheTask = class RefreshPublicGtfsDepartureCacheTask extends workers_1.AbstractTask {
|
|
38
|
-
constructor(departureTransformation, departureRepository, publicDepartureRepository, config
|
|
37
|
+
constructor(departureTransformation, departureRepository, publicDepartureRepository, config) {
|
|
39
38
|
super(constants_1.TIMETABLE_WORKER_NAME);
|
|
40
39
|
this.departureTransformation = departureTransformation;
|
|
41
40
|
this.departureRepository = departureRepository;
|
|
42
41
|
this.publicDepartureRepository = publicDepartureRepository;
|
|
43
42
|
this.config = config;
|
|
44
|
-
this.stopsModel = stopsModel;
|
|
45
43
|
this.queueName = "refreshPublicGtfsDepartureCache";
|
|
46
44
|
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
47
45
|
this.schema = RefreshPublicDepartureSchema_1.RefreshPublicDepartureValidationSchema;
|
|
@@ -53,12 +51,10 @@ let RefreshPublicGtfsDepartureCacheTask = exports.RefreshPublicGtfsDepartureCach
|
|
|
53
51
|
const intervalParams = this.getIntervalParamsWithDefault(params);
|
|
54
52
|
const numberOfDepartures = yield this.departureRepository.countDeparturesForPublicCache(intervalParams);
|
|
55
53
|
const pages = Math.ceil(numberOfDepartures / this.departurePageSize);
|
|
56
|
-
const stopIdsInDepartures = new Set();
|
|
57
54
|
for (let page = 0; page < pages; page++) {
|
|
58
55
|
const departuresForCache = yield this.departureRepository.getDepaturesForPublicCache(page, this.departurePageSize, intervalParams);
|
|
59
56
|
const departuresByStopIdDict = this.getDeparturesByStopId(departuresForCache);
|
|
60
57
|
for (const [stopId, departures] of departuresByStopIdDict.entries()) {
|
|
61
|
-
stopIdsInDepartures.add(stopId);
|
|
62
58
|
try {
|
|
63
59
|
const departuresDto = this.departureTransformation.transformArray(departures);
|
|
64
60
|
yield this.publicDepartureRepository.replaceDeparturesForStop(departuresDto, stopId, intervalParams);
|
|
@@ -71,12 +67,6 @@ let RefreshPublicGtfsDepartureCacheTask = exports.RefreshPublicGtfsDepartureCach
|
|
|
71
67
|
}
|
|
72
68
|
}
|
|
73
69
|
}
|
|
74
|
-
const allStops = yield this.stopsModel.getAll();
|
|
75
|
-
for (const { stop_id: id } of allStops) {
|
|
76
|
-
if (!stopIdsInDepartures.has(id)) {
|
|
77
|
-
yield this.publicDepartureRepository.replaceDeparturesForStop([], id, intervalParams);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
70
|
});
|
|
81
71
|
}
|
|
82
72
|
getIntervalParamsWithDefault(params) {
|
|
@@ -105,9 +95,8 @@ exports.RefreshPublicGtfsDepartureCacheTask = RefreshPublicGtfsDepartureCacheTas
|
|
|
105
95
|
__param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository)),
|
|
106
96
|
__param(2, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicGtfsDepartureRepository)),
|
|
107
97
|
__param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
108
|
-
__param(4, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel)),
|
|
109
98
|
__metadata("design:paramtypes", [PublicDepartureCacheTransformation_1.PublicDepartureCacheTransformation,
|
|
110
99
|
precomputed_1.DeparturesRepository,
|
|
111
|
-
PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository, Object
|
|
100
|
+
PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository, Object])
|
|
112
101
|
], RefreshPublicGtfsDepartureCacheTask);
|
|
113
102
|
//# sourceMappingURL=RefreshPublicGtfsDepartureCacheTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshPublicGtfsDepartureCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,4GAA+G;AAC/G,kEAA8E;AAE9E,kFAAqF;AACrF,oHAAuH;AAEvH,wEAAqE;AACrE,2EAA6E;AAC7E,6EAA8F;AAC9F,iEAAwE;AACxE,4CAAqD;AAErD,wFAA+F;
|
|
1
|
+
{"version":3,"file":"RefreshPublicGtfsDepartureCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
|
|
2
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
2
3
|
import { ILogger } from "@golemio/core/dist/helpers/logger";
|
|
3
4
|
import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
|
|
4
5
|
import { TimestampValidator } from "../TimestampValidator";
|
|
5
6
|
export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
|
|
7
|
+
private config;
|
|
6
8
|
private logger;
|
|
7
9
|
private timestampValidator;
|
|
8
|
-
constructor(logger: ILogger, timestampValidator: TimestampValidator);
|
|
10
|
+
constructor(config: ISimpleConfig, logger: ILogger, timestampValidator: TimestampValidator);
|
|
9
11
|
/**
|
|
10
12
|
* Get messages that are valid for processing
|
|
11
13
|
*/
|
|
12
14
|
getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
|
|
15
|
+
private get regNumberWhitelist();
|
|
13
16
|
}
|
|
@@ -19,7 +19,8 @@ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
|
|
|
19
19
|
const TimestampValidator_1 = require("../TimestampValidator");
|
|
20
20
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
21
21
|
let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
|
|
22
|
-
constructor(logger, timestampValidator) {
|
|
22
|
+
constructor(config, logger, timestampValidator) {
|
|
23
|
+
this.config = config;
|
|
23
24
|
this.logger = logger;
|
|
24
25
|
this.timestampValidator = timestampValidator;
|
|
25
26
|
}
|
|
@@ -29,13 +30,18 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
29
30
|
getFilteredMessages(messages, timestamp) {
|
|
30
31
|
let filteredMessages = [];
|
|
31
32
|
for (const message of messages) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
if (message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "") {
|
|
34
|
+
if (this.regNumberWhitelist && !this.regNumberWhitelist.includes(message.registration_number.toString())) {
|
|
35
|
+
this.logger.verbose(
|
|
36
|
+
// eslint-disable-next-line max-len
|
|
37
|
+
`getFilteredMessages: message with registration_number=${message.registration_number} is not in whitelist, skipping`);
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
|
|
41
|
+
this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
|
|
42
|
+
`(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
39
45
|
filteredMessages.push(message);
|
|
40
46
|
}
|
|
41
47
|
}
|
|
@@ -44,11 +50,21 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
44
50
|
}
|
|
45
51
|
return filteredMessages;
|
|
46
52
|
}
|
|
53
|
+
get regNumberWhitelist() {
|
|
54
|
+
const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
|
|
55
|
+
const whitelistDict = this.config.getValue(valuePath, {});
|
|
56
|
+
const whitelist = Object.values(whitelistDict);
|
|
57
|
+
if (whitelist[0] !== "*") {
|
|
58
|
+
return whitelist;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
47
62
|
};
|
|
48
63
|
exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
|
|
49
64
|
(0, tsyringe_1.injectable)(),
|
|
50
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.
|
|
51
|
-
__param(1, (0, tsyringe_1.inject)(
|
|
52
|
-
|
|
65
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
66
|
+
__param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
67
|
+
__param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
|
|
68
|
+
__metadata("design:paramtypes", [Object, Object, TimestampValidator_1.TimestampValidator])
|
|
53
69
|
], RegionalBusMessageFilter);
|
|
54
70
|
//# sourceMappingURL=RegionalBusMessageFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,iEAAwE;AAExE,uEAA8E;AAC9E,8DAA2D;AAC3D,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAC4C,MAAqB,EAC3B,MAAe,EACI,kBAAsC;QAFnD,WAAM,GAAN,MAAM,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC,EAAE,SAAiB;QACnF,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACxG,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE;oBACtG,IAAI,CAAC,MAAM,CAAC,OAAO;oBACf,mCAAmC;oBACnC,yDAAyD,OAAO,CAAC,mBAAmB,gCAAgC,CACvH,CAAC;oBACF,SAAS;iBACZ;gBACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAU,CAAC,EAAE;oBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,OAAO,CAAC,SAAS,gBAAgB;wBAChE,SAAS,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,eAAe,GAAG,EACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;oBACF,SAAS;iBACZ;gBAED,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,IAAY,kBAAkB;QAC1B,MAAM,SAAS,GAAG,sEAAsE,CAAC;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAyB,SAAS,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;mCAzDY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;qDAA6B,uCAAkB;GAJtF,wBAAwB,CAyDpC"}
|
|
@@ -13,6 +13,7 @@ export declare class RefreshPublicStopTimeCacheTask extends AbstractEmptyTask {
|
|
|
13
13
|
readonly queueTtl = 10000;
|
|
14
14
|
private lockTimeout;
|
|
15
15
|
private refreshInterval;
|
|
16
|
+
private vehicleIdGenerator;
|
|
16
17
|
constructor(config: ISimpleConfig, logger: ILogger, redisClient: IoRedisConnector, publicStopTimeRepository: PublicStopTimeRepository, publicStopTimeCacheRepository: PublicStopTimeCacheRepository);
|
|
17
18
|
protected execute(): Promise<void>;
|
|
18
19
|
private createMutex;
|
|
@@ -48,6 +48,7 @@ let RefreshPublicStopTimeCacheTask = exports.RefreshPublicStopTimeCacheTask = cl
|
|
|
48
48
|
this.queueTtl = 10000; // 10s
|
|
49
49
|
this.lockTimeout = config.getValue("old.datasources.pid.vehicle-positions.publicCache.mutexLockStopTimeTimeout", 6000); // default 6s
|
|
50
50
|
this.refreshInterval = this.lockTimeout * 0.8;
|
|
51
|
+
this.vehicleIdGenerator = new VehicleIdGenerator_1.VehicleIdGenerator();
|
|
51
52
|
}
|
|
52
53
|
execute() {
|
|
53
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAA8E;AAG9E,oGAAiG;AACjG,wEAAqE;AAErE,8EAAqE;AACrE,mEAA2E;AAC3E,2EAAkF;AAClF,6EAA8F;AAC9F,+EAAkE;AAClE,iEAAwE;AACxE,mDAA2D;AAC3D,4CAA2C;AAC3C,sGAAmG;AACnG,4FAAyF;AACzF,gDAA6C;AAC7C,iFAAsG;AAG/F,IAAM,8BAA8B,4CAApC,MAAM,8BAA+B,SAAQ,2BAAiB;
|
|
1
|
+
{"version":3,"file":"RefreshPublicStopTimeCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
|
3
3
|
import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
|
|
4
4
|
import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
|
|
5
5
|
export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
|
|
6
|
-
private static ORIGIN_TIME_FORMAT;
|
|
7
6
|
name: string;
|
|
8
7
|
private config;
|
|
9
|
-
private
|
|
8
|
+
private static ORIGIN_TIME_FORMAT;
|
|
10
9
|
constructor();
|
|
11
10
|
/**
|
|
12
11
|
* Overrides BaseTransformation::transform
|
|
@@ -32,7 +31,6 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
32
31
|
* @returns {number}
|
|
33
32
|
*/
|
|
34
33
|
private checkMidnight;
|
|
35
|
-
private isBlacklistedAgency;
|
|
36
34
|
/**
|
|
37
35
|
* Fix source negative bearing value due to overflow by adding 256
|
|
38
36
|
*
|
|
@@ -47,4 +45,9 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
47
45
|
* @returns {stringList}
|
|
48
46
|
*/
|
|
49
47
|
private formatASWStopId;
|
|
48
|
+
/**
|
|
49
|
+
* Returns list of vehicle reg numbers that should be excluded from MPVNet processing
|
|
50
|
+
* (already processed from another source)
|
|
51
|
+
*/
|
|
52
|
+
private get regionalBusRegNumberBlacklist();
|
|
50
53
|
}
|
|
@@ -31,7 +31,6 @@ var PositionTrackingEnum;
|
|
|
31
31
|
class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
32
32
|
constructor() {
|
|
33
33
|
super();
|
|
34
|
-
this.skipAgencyNames = [DPPUtils_1.default.DPP_AGENCY_NAME];
|
|
35
34
|
/**
|
|
36
35
|
* Overrides BaseTransformation::transform
|
|
37
36
|
*/
|
|
@@ -62,9 +61,14 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
62
61
|
this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
|
|
63
62
|
var _a, _b;
|
|
64
63
|
const attributes = element.$;
|
|
64
|
+
// DPP and regional bus trips to be excluded in HTTP ingress
|
|
65
|
+
const isDPPTrip = attributes.dopr === DPPUtils_1.default.DPP_AGENCY_NAME;
|
|
66
|
+
const isRegionalBusTrip = !!attributes.vuzevc &&
|
|
67
|
+
this.regionalBusRegNumberBlacklist &&
|
|
68
|
+
this.regionalBusRegNumberBlacklist.includes(attributes.vuzevc);
|
|
65
69
|
// Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
|
|
66
70
|
const hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
|
|
67
|
-
if (
|
|
71
|
+
if (isDPPTrip || isRegionalBusTrip || hasInvalidAttributes) {
|
|
68
72
|
return null;
|
|
69
73
|
}
|
|
70
74
|
attributes.lin = attributes.lin || "none";
|
|
@@ -229,12 +233,6 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
229
233
|
};
|
|
230
234
|
this.name = vehicle_positions_1.VehiclePositions.name;
|
|
231
235
|
this.config = Di_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
|
|
232
|
-
this.skipAgencyNames = this.skipAgencyNames.concat(this.config
|
|
233
|
-
.getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", "ARRIVA CITY,ARRIVA CITY (Neratovice)")
|
|
234
|
-
.split(","));
|
|
235
|
-
}
|
|
236
|
-
isBlacklistedAgency(agency) {
|
|
237
|
-
return agency && this.skipAgencyNames.includes(agency);
|
|
238
236
|
}
|
|
239
237
|
/**
|
|
240
238
|
* Fix source negative bearing value due to overflow by adding 256
|
|
@@ -257,6 +255,19 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
257
255
|
const aswParsedStopPostId = parseInt(stopId, 10) - aswParsedStopNodeId * fixedRightPadFactor;
|
|
258
256
|
return aswParsedStopNodeId + "/" + aswParsedStopPostId;
|
|
259
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Returns list of vehicle reg numbers that should be excluded from MPVNet processing
|
|
260
|
+
* (already processed from another source)
|
|
261
|
+
*/
|
|
262
|
+
get regionalBusRegNumberBlacklist() {
|
|
263
|
+
const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
|
|
264
|
+
const blacklistDict = this.config.getValue(valuePath, {});
|
|
265
|
+
const blacklist = Object.values(blacklistDict);
|
|
266
|
+
if (blacklist.length > 0 && blacklist[0] !== "*") {
|
|
267
|
+
return blacklist;
|
|
268
|
+
}
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
260
271
|
}
|
|
261
272
|
exports.MpvMessageTransformation = MpvMessageTransformation;
|
|
262
273
|
MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2FAA0D;AAG1D,wEAAqE;AACrE,qEAA0F;AAC1F,2FAA4G;AAC5G,gGAA2E;AAC3E,gDAAgE;AAChE,mEAA2C;AAC3C,8EAA2E;AAC3E,oEAAiE;AAGjE,0EAA4D;AAE5D,IAAK,oBAGJ;AAHD,WAAK,oBAAoB;IACrB,0CAAkB,CAAA;IAClB,sCAAc,CAAA;AAClB,CAAC,EAHI,oBAAoB,KAApB,oBAAoB,QAGxB;AAED,MAAa,wBAAyB,SAAQ,oCAAkB;
|
|
1
|
+
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,8 @@ class PublicDepartureBoardsController {
|
|
|
21
21
|
const facade = Di_1.OgPublicContainer.resolve(OgModuleToken_1.OgModuleToken.DepartureBoardFacade);
|
|
22
22
|
const params = this.parseDepartureParams(req.query);
|
|
23
23
|
const result = yield facade.getAll(params.stopIds, params.limit, params.routeShortNames, params.minutesAfter);
|
|
24
|
-
if (result ===
|
|
25
|
-
res.status(404).
|
|
24
|
+
if (result.flat().length === 0) {
|
|
25
|
+
res.status(404).json(result);
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
28
|
res.json(result);
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -9,7 +9,7 @@ export declare class DepartureBoardFacade {
|
|
|
9
9
|
private readonly descriptorRepository;
|
|
10
10
|
private readonly transformation;
|
|
11
11
|
constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, descriptorRepository: VehicleDescriptorCachedRepository);
|
|
12
|
-
getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number): Promise<PublicApiDepartureBoardGroup[]
|
|
12
|
+
getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number): Promise<PublicApiDepartureBoardGroup[]>;
|
|
13
13
|
private handleStopGroupDepartures;
|
|
14
14
|
private duplicateDeparturesWithDifferentVehicleIds;
|
|
15
15
|
private sortStopGroupsByPriority;
|
|
@@ -23,9 +23,12 @@ class DepartureBoardFacade {
|
|
|
23
23
|
}
|
|
24
24
|
getAll(stopIds, limit, routeShortNames, minutesAfter) {
|
|
25
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
let output;
|
|
26
|
+
let output = [];
|
|
27
27
|
const sortedStopGroups = this.sortStopGroupsByPriority(stopIds);
|
|
28
|
-
const promises = sortedStopGroups.map((stopGroup) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const promises = sortedStopGroups.map((stopGroup) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const group = yield this.handleStopGroupDepartures(stopGroup, limit, routeShortNames, minutesAfter);
|
|
30
|
+
return group;
|
|
31
|
+
}));
|
|
29
32
|
try {
|
|
30
33
|
output = yield Promise.all(promises);
|
|
31
34
|
}
|
|
@@ -35,19 +38,7 @@ class DepartureBoardFacade {
|
|
|
35
38
|
}
|
|
36
39
|
throw new golemio_errors_1.GeneralError("Error while retrieving cached data", this.constructor.name, err, 500);
|
|
37
40
|
}
|
|
38
|
-
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return output.map((value) => {
|
|
43
|
-
if (value === null) {
|
|
44
|
-
return [];
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return value;
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
41
|
+
return output;
|
|
51
42
|
});
|
|
52
43
|
}
|
|
53
44
|
handleStopGroupDepartures(stopGroup, limit, routeShortNames, minutesAfter) {
|
|
@@ -57,18 +48,12 @@ class DepartureBoardFacade {
|
|
|
57
48
|
const spanDepartures = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getPublicDepartureCache`);
|
|
58
49
|
const departures = yield this.departureRepository.getPublicGtfsDepartureCache(stopGroup.stopIds, minutesAfter);
|
|
59
50
|
spanDepartures === null || spanDepartures === void 0 ? void 0 : spanDepartures.end();
|
|
60
|
-
if (departures.length === 0) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
51
|
const spanPositions = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.getAllVehiclePositions`);
|
|
64
52
|
const positionsByTrip = yield this.tripRepository.getAllVehiclePositionsForMultipleTrips(departures.map((departure) => departure.trip_id));
|
|
65
53
|
spanPositions === null || spanPositions === void 0 ? void 0 : spanPositions.end();
|
|
66
54
|
const spanTransform = (0, trace_provider_1.createChildSpan)(`Departures.${stopGroup.priority}.transformDepartures`);
|
|
67
55
|
try {
|
|
68
56
|
for (const departure of departures) {
|
|
69
|
-
if (Object.keys(departure).length === 0) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
57
|
const positions = (_a = positionsByTrip.get(departure.trip_id)) !== null && _a !== void 0 ? _a : [];
|
|
73
58
|
const duplicatedDepartures = yield this.duplicateDeparturesWithDifferentVehicleIds(departure, positions);
|
|
74
59
|
outputGroup = outputGroup.concat(duplicatedDepartures);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,6EAA8F;AAC9F,oGAAiG;AACjG,+FAA6F;AAE7F,4EAAyE;AAEzE,MAAa,oBAAoB;IAG7B,YACqB,mBAA6C,EAC7C,cAA2C,EAC3C,oBAAuD;QAFvD,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,mBAAc,GAAd,cAAc,CAA6B;QAC3C,yBAAoB,GAApB,oBAAoB,CAAmC;QAExE,IAAI,CAAC,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;IAC9D,CAAC;IAEY,MAAM,CACf,OAA0C,EAC1C,KAAa,EACb,eAAgC,EAChC,YAAoB;;YAEpB,IAAI,
|
|
1
|
+
{"version":3,"file":"DepartureBoardFacade.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/service/facade/DepartureBoardFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,6EAA8F;AAC9F,oGAAiG;AACjG,+FAA6F;AAE7F,4EAAyE;AAEzE,MAAa,oBAAoB;IAG7B,YACqB,mBAA6C,EAC7C,cAA2C,EAC3C,oBAAuD;QAFvD,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,mBAAc,GAAd,cAAc,CAA6B;QAC3C,yBAAoB,GAApB,oBAAoB,CAAmC;QAExE,IAAI,CAAC,cAAc,GAAG,IAAI,6DAA6B,EAAE,CAAC;IAC9D,CAAC;IAEY,MAAM,CACf,OAA0C,EAC1C,KAAa,EACb,eAAgC,EAChC,YAAoB;;YAEpB,IAAI,MAAM,GAAmC,EAAE,CAAC;YAEhD,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAO,SAAS,EAAE,EAAE;gBACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;gBACpG,OAAO,KAAK,CAAC;YACjB,CAAC,CAAA,CAAC,CAAC;YAEH,IAAI;gBACA,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACjG;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEa,yBAAyB,CACnC,SAAuC,EACvC,KAAa,EACb,eAAgC,EAChC,YAAoB;;;YAEpB,IAAI,WAAW,GAAiC,EAAE,CAAC;YAEnD,MAAM,cAAc,GAAG,IAAA,gCAAe,EAAC,cAAc,SAAS,CAAC,QAAQ,0BAA0B,CAAC,CAAC;YACnG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC/G,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,EAAE,CAAC;YAEtB,MAAM,aAAa,GAAG,IAAA,gCAAe,EAAC,cAAc,SAAS,CAAC,QAAQ,yBAAyB,CAAC,CAAC;YACjG,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sCAAsC,CACpF,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CACnD,CAAC;YACF,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,EAAE,CAAC;YAErB,MAAM,aAAa,GAAG,IAAA,gCAAe,EAAC,cAAc,SAAS,CAAC,QAAQ,sBAAsB,CAAC,CAAC;YAC9F,IAAI;gBACA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;oBAChC,MAAM,SAAS,GAAG,MAAA,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;oBAC/D,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,0CAA0C,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBACzG,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;iBAC1D;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;gBAED,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACjG;oBAAS;gBACN,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,EAAE,CAAC;aACxB;YAED,MAAM,cAAc,GAAG,IAAA,gCAAe,EAAC,cAAc,SAAS,CAAC,QAAQ,uBAAuB,CAAC,CAAC;YAChG,IAAI;gBACA,WAAW,GAAG,6CAAqB,CAAC,iCAAiC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACpG,WAAW,GAAG,6CAAqB,CAAC,kCAAkC,CAAC,WAAW,CAAC,CAAC;gBACpF,6FAA6F;gBAC7F,gCAAgC;gBAChC,WAAW,GAAG,6CAAqB,CAAC,gCAAgC,CAAC,WAAW,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACtH;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,qCAAqC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAClG;oBAAS;gBACN,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,EAAE,CAAC;aACzB;YAED,OAAO,WAAW,CAAC;;KACtB;IAEa,0CAA0C,CACpD,SAAuC,EACvC,gBAAsC;;YAEtC,IAAI,WAAW,GAAiC,EAAE,CAAC;YAEnD,kEAAkE;YAClE,yCAAyC;YACzC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,WAAW,CAAC,IAAI,CACZ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;oBACjC,SAAS;oBACT,eAAe,EAAE,IAAI;oBACrB,iBAAiB,EAAE,IAAI;iBAC1B,CAAC,CACL,CAAC;gBAEF,OAAO,WAAW,CAAC;aACtB;YAED,mEAAmE;YACnE,+DAA+D;YAC/D,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;gBAC5C,MAAM,iBAAiB,GAAG,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,CAAC,mBAAmB;oBACxE,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAC7C,SAAS,CAAC,UAAU,EACpB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,CAAC,mBAAmB,CACrD;oBACH,CAAC,CAAC,IAAI,CAAC;gBAEX,WAAW,CAAC,IAAI,CACZ,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;oBACjC,SAAS;oBACT,eAAe;oBACf,iBAAiB;iBACpB,CAAC,CACL,CAAC;aACL;YAED,OAAO,WAAW,CAAC;QACvB,CAAC;KAAA;IAEO,wBAAwB,CAAC,OAA0C;QACvE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;CACJ;AAtID,oDAsIC"}
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1352,7 +1352,7 @@ paths:
|
|
|
1352
1352
|
401:
|
|
1353
1353
|
$ref: "#/components/responses/UnauthorizedError"
|
|
1354
1354
|
404:
|
|
1355
|
-
description: Not found - no
|
|
1355
|
+
description: Not found - no departures found for the given query parameters
|
|
1356
1356
|
content:
|
|
1357
1357
|
application/json:
|
|
1358
1358
|
schema:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "2.13.7-
|
|
3
|
+
"version": "2.13.7-rc.1319082266",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@golemio/core": ">=1.9.16"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.
|
|
79
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.3",
|
|
80
80
|
"@turf/turf": "^6.5.0",
|
|
81
81
|
"cheap-ruler": "^3.0.2",
|
|
82
82
|
"csv-parser": "^3.0.0",
|