@golemio/pid 3.17.2-dev.1929777703 → 3.17.2-dev.1969248519
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers/GtfsStopParser.d.ts +2 -0
- package/dist/helpers/GtfsStopParser.js +11 -8
- package/dist/helpers/GtfsStopParser.js.map +1 -1
- package/dist/integration-engine/jis/ioc/Di.js +8 -0
- package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
- package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +3 -0
- package/dist/integration-engine/jis/ioc/JISContainerToken.js +4 -0
- package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
- package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.d.ts +9 -0
- package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js +78 -0
- package/dist/integration-engine/jis/repositories/JISInfotextsRedisRepository.js.map +1 -0
- package/dist/integration-engine/jis/repositories/JISInfotextsRepository.d.ts +6 -1
- package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js +50 -2
- package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js.map +1 -1
- package/dist/integration-engine/jis/workers/JISWorker.js +1 -0
- package/dist/integration-engine/jis/workers/JISWorker.js.map +1 -1
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.d.ts +11 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js +42 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsCacheTask.js.map +1 -0
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.d.ts +1 -2
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js +5 -4
- package/dist/integration-engine/jis/workers/tasks/RefreshJISInfotextsTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.d.ts +18 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js +44 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSCisStopsModel.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.d.ts +5 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js +24 -0
- package/dist/integration-engine/ropid-gtfs/RopidGTFSStopsModel.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -0
- package/dist/integration-engine/ropid-gtfs/index.js +1 -0
- package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +8 -0
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +8 -5
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.d.ts +12 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js +44 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.d.ts +12 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js +87 -0
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js +2 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.d.ts +90 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js +316 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/BasePositionsManager.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +10 -61
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +67 -280
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +10 -49
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +16 -229
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
- package/dist/schema-definitions/jis/redis/const.d.ts +1 -0
- package/dist/schema-definitions/jis/redis/const.js +2 -1
- package/dist/schema-definitions/jis/redis/const.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.d.ts +16 -0
- package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js +3 -0
- package/dist/schema-definitions/ropid-gtfs/interfaces/IStopCisDto.js.map +1 -0
- package/dist/schema-definitions/ropid-gtfs/interfaces/IStopDto.d.ts +1 -0
- package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.d.ts +58 -0
- package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js +69 -0
- package/dist/schema-definitions/ropid-gtfs/models/StopCisDto.js.map +1 -0
- package/dist/schema-definitions/ropid-gtfs/redis/const.d.ts +1 -0
- package/dist/schema-definitions/ropid-gtfs/redis/const.js +2 -1
- package/dist/schema-definitions/ropid-gtfs/redis/const.js.map +1 -1
- package/docs/asyncapi.yaml +45 -0
- package/docs/cache/types/redis.md +82 -2
- package/docs/jis/index.md +15 -5
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IStopDto } from "../../schema-definitions/ropid-gtfs/interfaces/IStopDto";
|
|
1
|
+
import { IAwsNodeIdGtfsStopIdDto, IStopDto } from "../../schema-definitions/ropid-gtfs/interfaces/IStopDto";
|
|
2
2
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine";
|
|
3
3
|
import { IValidator } from "@golemio/core/dist/shared/golemio-validator";
|
|
4
4
|
import Sequelize from "@golemio/core/dist/shared/sequelize";
|
|
@@ -15,4 +15,8 @@ export declare class RopidGTFSStopsModel extends PostgresModel implements IModel
|
|
|
15
15
|
protected savingType: "insertOnly" | "insertOrUpdate";
|
|
16
16
|
constructor();
|
|
17
17
|
getAll: () => Promise<IStopDto[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Retrieve all aswNodeIds and gtfs_ids where location_type is 0 and computed_cis_stop_id is not null
|
|
20
|
+
*/
|
|
21
|
+
getAllAswNodeGtfsStops: () => Promise<IAwsNodeIdGtfsStopIdDto[]>;
|
|
18
22
|
}
|
|
@@ -10,12 +10,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RopidGTFSStopsModel = void 0;
|
|
13
|
+
const StopEnums_1 = require("../../helpers/StopEnums");
|
|
13
14
|
const const_1 = require("../../schema-definitions/const");
|
|
14
15
|
const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
|
|
15
16
|
const StopDto_1 = require("../../schema-definitions/ropid-gtfs/models/StopDto");
|
|
16
17
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
17
18
|
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
18
19
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
20
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
19
21
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
20
22
|
let RopidGTFSStopsModel = exports.RopidGTFSStopsModel = class RopidGTFSStopsModel extends integration_engine_1.PostgresModel {
|
|
21
23
|
constructor() {
|
|
@@ -33,6 +35,28 @@ let RopidGTFSStopsModel = exports.RopidGTFSStopsModel = class RopidGTFSStopsMode
|
|
|
33
35
|
throw new golemio_errors_1.GeneralError("Database error", "RopidGTFSStopsModel", err, 500);
|
|
34
36
|
}
|
|
35
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Retrieve all aswNodeIds and gtfs_ids where location_type is 0 and computed_cis_stop_id is not null
|
|
40
|
+
*/
|
|
41
|
+
this.getAllAswNodeGtfsStops = async () => {
|
|
42
|
+
try {
|
|
43
|
+
const stops = (await this.sequelizeModel.findAll({
|
|
44
|
+
attributes: ["asw_node_id", "stop_id"],
|
|
45
|
+
raw: true,
|
|
46
|
+
where: {
|
|
47
|
+
location_type: StopEnums_1.GtfsStopLocationType.StopOrPlatform,
|
|
48
|
+
computed_cis_stop_id: { [sequelize_1.Op.not]: null },
|
|
49
|
+
},
|
|
50
|
+
}));
|
|
51
|
+
if (!stops || stops.length === 0) {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
return stops;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
throw new golemio_errors_1.GeneralError("Error while getting GTFS stop ids", this.constructor.name, error);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
36
60
|
}
|
|
37
61
|
};
|
|
38
62
|
exports.RopidGTFSStopsModel = RopidGTFSStopsModel = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RopidGTFSStopsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSStopsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAuC;AACvC,oEAA4C;AAE5C,gFAAyD;AACzD,8EAA8E;AAC9E,6EAAwE;AACxE,mFAA8F;
|
|
1
|
+
{"version":3,"file":"RopidGTFSStopsModel.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGTFSStopsModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAA0D;AAC1D,0DAAuC;AACvC,oEAA4C;AAE5C,gFAAyD;AACzD,8EAA8E;AAC9E,6EAAwE;AACxE,mFAA8F;AAC9F,mEAAoE;AACpE,iEAAgE;AAGzD,IAAM,mBAAmB,iCAAzB,MAAM,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;QAGC,WAAM,GAAG,KAAK,IAAyB,EAAE;YAC5C,IAAI;gBACA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACxC;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC7E;QACL,CAAC,CAAC;QAEF;;WAEG;QACI,2BAAsB,GAAG,KAAK,IAAI,EAAE;YACvC,IAAI;gBACA,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBACtC,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE;wBACH,aAAa,EAAE,gCAAoB,CAAC,cAAc;wBAClD,oBAAoB,EAAE,EAAE,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;qBAC3C;iBACJ,CAAC,CAA8B,CAAC;gBAEjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;aAChB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC7F;QACL,CAAC,CAAC;IA/BF,CAAC;CAgCJ,CAAA;8BAvDY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;;GACA,mBAAmB,CAuD/B"}
|
|
@@ -22,4 +22,5 @@ __exportStar(require("./RopidGtfsFacade"), exports);
|
|
|
22
22
|
__exportStar(require("./RopidGTFSStopTimesModel"), exports);
|
|
23
23
|
__exportStar(require("./RopidGTFSStopsModel"), exports);
|
|
24
24
|
__exportStar(require("./RopidGTFSShapesModel"), exports);
|
|
25
|
+
__exportStar(require("./RopidGTFSCisStopsModel"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yFAAuE;AACvE,oFAAkE;AAClE,4EAA0D;AAC1D,wDAAsC;AACtC,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yFAAuE;AACvE,oFAAkE;AAClE,4EAA0D;AAC1D,wDAAsC;AACtC,oDAAkC;AAClC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC"}
|
|
@@ -25,6 +25,7 @@ const RopidGTFSTransformation_1 = require("../transformations/RopidGTFSTransform
|
|
|
25
25
|
const DeparturesPresetsDatasource_1 = require("../workers/presets/data-access/DeparturesPresetsDatasource");
|
|
26
26
|
const CheckForNewDeparturesPresetsTask_1 = require("../workers/presets/tasks/CheckForNewDeparturesPresetsTask");
|
|
27
27
|
const DownloadDeparturesPresetsTask_1 = require("../workers/presets/tasks/DownloadDeparturesPresetsTask");
|
|
28
|
+
const RefreshGtfsStopsCacheTask_1 = require("../workers/timetables/tasks/RefreshGtfsStopsCacheTask");
|
|
28
29
|
const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask");
|
|
29
30
|
const SaveStaticDataTask_1 = require("../workers/timetables/tasks/SaveStaticDataTask");
|
|
30
31
|
const DeparturesDirectionRepository_1 = require("../workers/timetables/tasks/data-access/DeparturesDirectionRepository");
|
|
@@ -34,6 +35,8 @@ const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtf
|
|
|
34
35
|
const DeparturesDirectionTransformation_1 = require("../workers/timetables/tasks/transformations/DeparturesDirectionTransformation");
|
|
35
36
|
const MetroRailtrackDataTransformation_1 = require("../workers/timetables/tasks/transformations/MetroRailtrackDataTransformation");
|
|
36
37
|
const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
|
|
38
|
+
const GtfsStopsRedisRepository_1 = require("../workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository");
|
|
39
|
+
const RopidGTFSCisStopsModel_1 = require("../RopidGTFSCisStopsModel");
|
|
37
40
|
//#region Initialization
|
|
38
41
|
const RopidGtfsContainer = Di_1.PidContainer.createChildContainer();
|
|
39
42
|
exports.RopidGtfsContainer = RopidGtfsContainer;
|
|
@@ -54,6 +57,7 @@ RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.Pu
|
|
|
54
57
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel, RopidGTFSStopsModel_1.RopidGTFSStopsModel);
|
|
55
58
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidDeparturesPresetsRopidGTFSStopsRepository, RopidDeparturesPresetsRopidGTFSStopsRepository_1.RopidDeparturesPresetsRopidGTFSStopsRepository);
|
|
56
59
|
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturesDirectionRepository, DeparturesDirectionRepository_1.DeparturesDirectionRepository);
|
|
60
|
+
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSCisStopsModel, RopidGTFSCisStopsModel_1.RopidGTFSCisStopsModel);
|
|
57
61
|
//#endregion
|
|
58
62
|
//#region Transformations
|
|
59
63
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSTransformation, RopidGTFSTransformation_1.RopidGTFSTransformation);
|
|
@@ -70,6 +74,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
|
|
|
70
74
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade, DeparturePresetsFacade_1.DeparturePresetsFacade);
|
|
71
75
|
//#endregion
|
|
72
76
|
//#region Tasks
|
|
77
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshGtfsStopsCacheTask, RefreshGtfsStopsCacheTask_1.RefreshGtfsStopsCacheTask);
|
|
73
78
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshPublicGtfsDepartureCacheTask, RefreshPublicGtfsDepartureCacheTask_1.RefreshPublicGtfsDepartureCacheTask);
|
|
74
79
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DownloadDeparturesPresetsTask, DownloadDeparturesPresetsTask_1.DownloadDeparturesPresetsTask);
|
|
75
80
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask, CheckForNewDeparturesPresetsTask_1.CheckForNewDeparturesPresetsTask);
|
|
@@ -77,4 +82,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
|
|
|
77
82
|
//#endregion
|
|
78
83
|
//#region Helpers
|
|
79
84
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser, GtfsStopParser_1.GtfsStopParser);
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region Cache
|
|
87
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopsRedisRepository, GtfsStopsRedisRepository_1.GtfsStopsRedisRepository);
|
|
80
88
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AACzD,qCAA0C;AAC1C,0IAAqI;AACrI,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,gEAA6D;AAC7D,wDAAqD;AACrD,gFAA6E;AAC7E,wFAAqF;AACrF,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,oFAAiF;AACjF,4HAAyH;AACzH,kHAA+G;AAC/G,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;AACvG,yHAAsH;AACtH,uFAAoF;AACpF,yHAAsH;AACtH,qHAAkH;AAClH,yGAAsG;AACtG,2FAAwF;AACxF,qIAAkI;AAClI,mIAAgI;AAChI,uEAAoE;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ declare const RopidGtfsContainerToken: {
|
|
|
13
13
|
PublicGtfsDepartureRepository: symbol;
|
|
14
14
|
DeparturePresetsFacade: symbol;
|
|
15
15
|
RopidGtfsFacade: symbol;
|
|
16
|
+
RefreshGtfsStopsCacheTask: symbol;
|
|
16
17
|
RefreshPublicGtfsDepartureCacheTask: symbol;
|
|
17
18
|
DeparturesPresetsDataSource: symbol;
|
|
18
19
|
CheckForNewDeparturesPresetsTask: symbol;
|
|
@@ -29,5 +30,7 @@ declare const RopidGtfsContainerToken: {
|
|
|
29
30
|
DeparturesDirectionTransformation: symbol;
|
|
30
31
|
RopidDeparturesPresetsRopidGTFSStopsRepository: symbol;
|
|
31
32
|
GtfsStopParser: symbol;
|
|
33
|
+
GtfsStopsRedisRepository: symbol;
|
|
34
|
+
RopidGTFSCisStopsModel: symbol;
|
|
32
35
|
};
|
|
33
36
|
export { RopidGtfsContainerToken };
|
|
@@ -16,6 +16,7 @@ const RopidGtfsContainerToken = {
|
|
|
16
16
|
PublicGtfsDepartureRepository: Symbol("PublicGtfsDepartureRepository"),
|
|
17
17
|
DeparturePresetsFacade: Symbol("DeparturePresetsFacade"),
|
|
18
18
|
RopidGtfsFacade: Symbol("RopidGtfsFacade"),
|
|
19
|
+
RefreshGtfsStopsCacheTask: Symbol("RefreshGtfsStopsCacheTask"),
|
|
19
20
|
RefreshPublicGtfsDepartureCacheTask: Symbol("RefreshPublicGtfsDepartureCacheTask"),
|
|
20
21
|
DeparturesPresetsDataSource: Symbol("DeparturesPresetsDataSource"),
|
|
21
22
|
CheckForNewDeparturesPresetsTask: Symbol("CheckForNewDeparturesPresetsTask"),
|
|
@@ -32,6 +33,8 @@ const RopidGtfsContainerToken = {
|
|
|
32
33
|
DeparturesDirectionTransformation: Symbol("DeparturesDirectionTransformation"),
|
|
33
34
|
RopidDeparturesPresetsRopidGTFSStopsRepository: Symbol("RopidDeparturesPresetsRopidGTFSStopsRepository"),
|
|
34
35
|
GtfsStopParser: Symbol("GtfsStopParser"),
|
|
36
|
+
GtfsStopsRedisRepository: Symbol("GtfsStopsRedisRepository"),
|
|
37
|
+
RopidGTFSCisStopsModel: Symbol("RopidGTFSCisStopsModel"),
|
|
35
38
|
};
|
|
36
39
|
exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
|
|
37
40
|
//# 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,CAAC,2BAA2B,CAAC;IAC9D,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC5C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;
|
|
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,CAAC,2BAA2B,CAAC;IAC9D,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAC5C,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;IAC9D,mCAAmC,EAAE,MAAM,CAAC,qCAAqC,CAAC;IAClF,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,2BAA2B,EAAE,MAAM,CAAC,6BAA6B,CAAC;IAClE,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,qCAAqC,EAAE,MAAM,CAAC,uCAAuC,CAAC;IACtF,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,iCAAiC,EAAE,MAAM,CAAC,mCAAmC,CAAC;IAC9E,8CAA8C,EAAE,MAAM,CAAC,gDAAgD,CAAC;IACxG,cAAc,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACxC,wBAAwB,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAC5D,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;CAC3D,CAAC;AAEO,0DAAuB"}
|
|
@@ -19,6 +19,7 @@ class TimetableWorker extends workers_1.AbstractWorker {
|
|
|
19
19
|
task.queuePrefix = this.getQueuePrefix();
|
|
20
20
|
};
|
|
21
21
|
// Register tasks
|
|
22
|
+
this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshGtfsStopsCacheTask));
|
|
22
23
|
this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshPublicGtfsDepartureCacheTask));
|
|
23
24
|
this.registerTask(new CheckForNewDataTask_1.CheckForNewDataTask(this.getQueuePrefix()));
|
|
24
25
|
this.registerTask(new CheckSavedRowsAndReplaceTablesTask_1.CheckSavedRowsAndReplaceTablesTask(this.getQueuePrefix()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimetableWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,+EAAqF;AACrF,2EAA6F;AAC7F,2CAAoD;AACpD,qEAAkE;AAClE,mGAAgG;AAChG,uEAAoE;
|
|
1
|
+
{"version":3,"file":"TimetableWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/timetables/TimetableWorker.ts"],"names":[],"mappings":";;;AAAA,qCAA2D;AAC3D,+EAAqF;AACrF,2EAA6F;AAC7F,2CAAoD;AACpD,qEAAkE;AAClE,mGAAgG;AAChG,uEAAoE;AAEpE,uFAAoF;AAGpF,+EAA4E;AAE5E,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,iCAAqB,CAAC;QAsBhC,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QApBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAA4B,iDAAuB,CAAC,yBAAyB,CAAC,CAC3G,CAAC;QACF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CACtB,iDAAuB,CAAC,mCAAmC,CAC9D,CACJ,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,uEAAkC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,2DAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,mDAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,uBAAkB,CAAC,OAAO,CAAqB,iDAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClH,CAAC;CAMJ;AA3BD,0CA2BC"}
|
|
@@ -44,11 +44,14 @@ class CheckSavedRowsAndReplaceTablesTask extends workers_1.AbstractTask {
|
|
|
44
44
|
await this.dataCacheManager.cleanCache();
|
|
45
45
|
await this.ropidGtfsRepository.cleanTmpAndOldTables();
|
|
46
46
|
const rabbitExchangeName = this.config.getValue("env.RABBIT_EXCHANGE_NAME");
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
await Promise.all([
|
|
48
|
+
// send message to VP worker to refresh GTFS trip data (see task description for more info)
|
|
49
|
+
integration_engine_1.QueueManager.sendMessageToExchange(`${rabbitExchangeName}.${constants_1.WORKER_NAME.toLowerCase()}`, "refreshGTFSTripData", {}),
|
|
50
|
+
// send message to GTFS timetable worker to refresh public GTFS departure cache
|
|
51
|
+
// so that the new data is available in the public (Lítačka) API
|
|
52
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshPublicGtfsDepartureCache", {}),
|
|
53
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshGtfsStopsCache", {}),
|
|
54
|
+
]);
|
|
52
55
|
}
|
|
53
56
|
catch (err) {
|
|
54
57
|
await this.retryOrThrow(notDeployedVersions, data, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckSavedRowsAndReplaceTablesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.ts"],"names":[],"mappings":";;;AAGA,wEAA2E;AAC3E,kFAAqF;AACrF,wCAA2D;AAC3D,kFAAqF;AAErF,iGAA0G;AAE1G,wEAAqE;AAErE,8EAA8F;AAC9F,2EAA6E;AAC7E,6EAAwE;AAIxE,8EAAuE;AAEvE,MAAa,kCAAmC,SAAQ,sBAA4B;IAchF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAdP,cAAS,GAAG,gCAAgC,CAAC;QAC7C,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;QAC3C,WAAM,GAAG,6CAAmB,CAAC;QAazC,IAAI,CAAC,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QAEhF,IAAI,CAAC,kBAAkB,GAAG,uBAAkB,CAAC,OAAO,CAChD,iDAAuB,CAAC,2BAA2B,CACtD,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,mCAAgB,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,sBAAsB,GAAG,uBAAkB,CAAC,OAAO,CACpD,iDAAuB,CAAC,uBAAuB,CAClD,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,uBAAkB,CAAC,OAAO,CAAsB,iDAAuB,CAAC,mBAAmB,CAAC,CAAC;QACxH,IAAI,CAAC,eAAe,GAAG,uBAAkB,CAAC,OAAO,CAAkB,iDAAuB,CAAC,eAAe,CAAC,CAAC;IAChH,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAoB;QACxC,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,KAAK,SAAS,IAAI,CAAC,QAAQ,oBAAoB,CAAC,CAAC;SACzH;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,OAAO;SACV;QAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;QAEhG,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,sBAAsB,CAAC,qCAAqC,CAAC,6CAAqB,CAAC,GAAG,CAAC,CAAC;YACnG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;YAEtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,0BAA0B,CAAC,CAAC;YAEpF,2FAA2F;
|
|
1
|
+
{"version":3,"file":"CheckSavedRowsAndReplaceTablesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RopidGTFSCisStopsModel } from "../../..";
|
|
2
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import { GtfsStopsRedisRepository } from "./data-access/cache/GtfsStopsRedisRepository";
|
|
4
|
+
export declare class RefreshGtfsStopsCacheTask extends AbstractEmptyTask {
|
|
5
|
+
private gtfsStopsRedisRepository;
|
|
6
|
+
private gtfsStopCisModel;
|
|
7
|
+
readonly queueName = "refreshGtfsStopsCache";
|
|
8
|
+
readonly queueTtl: number;
|
|
9
|
+
private readonly gtfsStopRepository;
|
|
10
|
+
constructor(gtfsStopsRedisRepository: GtfsStopsRedisRepository, gtfsStopCisModel: RopidGTFSCisStopsModel);
|
|
11
|
+
protected execute(): Promise<void>;
|
|
12
|
+
}
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RefreshGtfsStopsCacheTask = void 0;
|
|
16
|
+
const ropid_gtfs_1 = require("../../..");
|
|
17
|
+
const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
|
|
18
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
19
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
20
|
+
const constants_1 = require("../constants");
|
|
21
|
+
const GtfsStopsRedisRepository_1 = require("./data-access/cache/GtfsStopsRedisRepository");
|
|
22
|
+
let RefreshGtfsStopsCacheTask = exports.RefreshGtfsStopsCacheTask = class RefreshGtfsStopsCacheTask extends integration_engine_1.AbstractEmptyTask {
|
|
23
|
+
constructor(gtfsStopsRedisRepository, gtfsStopCisModel) {
|
|
24
|
+
super(constants_1.TIMETABLE_WORKER_NAME);
|
|
25
|
+
this.gtfsStopsRedisRepository = gtfsStopsRedisRepository;
|
|
26
|
+
this.gtfsStopCisModel = gtfsStopCisModel;
|
|
27
|
+
this.queueName = "refreshGtfsStopsCache";
|
|
28
|
+
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
29
|
+
this.gtfsStopRepository = new ropid_gtfs_1.RopidGTFSStopsModel();
|
|
30
|
+
}
|
|
31
|
+
async execute() {
|
|
32
|
+
const cisStops = await this.gtfsStopCisModel.getAll();
|
|
33
|
+
const gtfsStops = await this.gtfsStopRepository.getAllAswNodeGtfsStops();
|
|
34
|
+
await this.gtfsStopsRedisRepository.refreshData(cisStops, gtfsStops);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.RefreshGtfsStopsCacheTask = RefreshGtfsStopsCacheTask = __decorate([
|
|
38
|
+
(0, tsyringe_1.injectable)(),
|
|
39
|
+
__param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopsRedisRepository)),
|
|
40
|
+
__param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSCisStopsModel)),
|
|
41
|
+
__metadata("design:paramtypes", [GtfsStopsRedisRepository_1.GtfsStopsRedisRepository,
|
|
42
|
+
ropid_gtfs_1.RopidGTFSCisStopsModel])
|
|
43
|
+
], RefreshGtfsStopsCacheTask);
|
|
44
|
+
//# sourceMappingURL=RefreshGtfsStopsCacheTask.js.map
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshGtfsStopsCacheTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshGtfsStopsCacheTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA6E;AAC7E,kFAAqF;AACrF,8EAA0E;AAC1E,iEAAwE;AACxE,4CAAqD;AACrD,2FAAwF;AAGjF,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,sCAAiB;IAM5D,YAC8D,wBAA0D,EAC5D,gBAAgD;QAExG,KAAK,CAAC,iCAAqB,CAAC,CAAC;QAHqC,6BAAwB,GAAxB,wBAAwB,CAA0B;QACpD,qBAAgB,GAAhB,gBAAgB,CAAwB;QAP5F,cAAS,GAAG,uBAAuB,CAAC;QACpC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAUpD,IAAI,CAAC,kBAAkB,GAAG,IAAI,gCAAmB,EAAE,CAAC;IACxD,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;QAEzE,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;CACJ,CAAA;oCArBY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,wBAAwB,CAAC,CAAA;IACxD,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,sBAAsB,CAAC,CAAA;qCADqC,mDAAwB;QAClC,mCAAsB;GARnG,yBAAyB,CAqBrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GtfsStopParser } from "../../../../../../../helpers/GtfsStopParser";
|
|
2
|
+
import { IStopCisDto } from "../../../../../../../schema-definitions/ropid-gtfs/interfaces/IStopCisDto";
|
|
3
|
+
import { IAwsNodeIdGtfsStopIdDto } from "../../../../../../../schema-definitions/ropid-gtfs/interfaces/IStopDto";
|
|
4
|
+
import { RedisModel } from "@golemio/core/dist/integration-engine";
|
|
5
|
+
export declare class GtfsStopsRedisRepository extends RedisModel {
|
|
6
|
+
private gtfsStopParser;
|
|
7
|
+
static NAMESPACE_PREFIX: string;
|
|
8
|
+
constructor(gtfsStopParser: GtfsStopParser);
|
|
9
|
+
refreshData(cisStops: Array<Pick<IStopCisDto, "id" | "cis">>, gtfsStops: IAwsNodeIdGtfsStopIdDto[]): Promise<void>;
|
|
10
|
+
private createNewCache;
|
|
11
|
+
private deleteOldCache;
|
|
12
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var GtfsStopsRedisRepository_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.GtfsStopsRedisRepository = void 0;
|
|
17
|
+
const GtfsStopParser_1 = require("../../../../../../../helpers/GtfsStopParser");
|
|
18
|
+
const RopidGtfsContainerToken_1 = require("../../../../../ioc/RopidGtfsContainerToken");
|
|
19
|
+
const const_1 = require("../../../../../../../schema-definitions/ropid-gtfs/redis/const");
|
|
20
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
21
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
22
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
23
|
+
const node_crypto_1 = require("node:crypto");
|
|
24
|
+
const TTL_SECONDS_BEFORE_DELETE = 60;
|
|
25
|
+
let GtfsStopsRedisRepository = exports.GtfsStopsRedisRepository = GtfsStopsRedisRepository_1 = class GtfsStopsRedisRepository extends integration_engine_1.RedisModel {
|
|
26
|
+
constructor(gtfsStopParser) {
|
|
27
|
+
super("GtfsStopsRedisRepository", {
|
|
28
|
+
isKeyConstructedFromData: false,
|
|
29
|
+
prefix: GtfsStopsRedisRepository_1.NAMESPACE_PREFIX,
|
|
30
|
+
});
|
|
31
|
+
this.gtfsStopParser = gtfsStopParser;
|
|
32
|
+
}
|
|
33
|
+
async refreshData(cisStops, gtfsStops) {
|
|
34
|
+
try {
|
|
35
|
+
const oldSetName = (await this.connection.get(`${this.prefix}:activeSetName`)) ?? "";
|
|
36
|
+
await this.createNewCache(cisStops, gtfsStops);
|
|
37
|
+
await this.deleteOldCache(oldSetName);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
throw new golemio_errors_1.GeneralError("refreshData failed", this.constructor.name, err);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async createNewCache(cisStops, gtfsStops) {
|
|
44
|
+
try {
|
|
45
|
+
const cisToAswNode = new Map();
|
|
46
|
+
for (const stop of cisStops) {
|
|
47
|
+
cisToAswNode.set(stop.cis, this.gtfsStopParser.getAswNodeFromId(stop.id));
|
|
48
|
+
}
|
|
49
|
+
const awsNodeToGtfsStops = new Map();
|
|
50
|
+
for (const stop of gtfsStops) {
|
|
51
|
+
const nodeStopIds = awsNodeToGtfsStops.get(stop.asw_node_id) ?? [];
|
|
52
|
+
if (nodeStopIds.length === 0) {
|
|
53
|
+
awsNodeToGtfsStops.set(stop.asw_node_id, nodeStopIds);
|
|
54
|
+
}
|
|
55
|
+
nodeStopIds.push(stop.stop_id);
|
|
56
|
+
}
|
|
57
|
+
const setName = (0, node_crypto_1.randomBytes)(4).toString("hex");
|
|
58
|
+
const pipeline = this.connection.pipeline();
|
|
59
|
+
pipeline.hset(`${this.prefix}:${setName}:awsNodeToGtfsStops`, awsNodeToGtfsStops);
|
|
60
|
+
pipeline.hset(`${this.prefix}:${setName}:cisToAswNode`, cisToAswNode);
|
|
61
|
+
pipeline.publish(`${this.prefix}`, `${this.prefix}:${setName}`);
|
|
62
|
+
pipeline.set(`${this.prefix}:activeSetName`, `${this.prefix}:${setName}`);
|
|
63
|
+
await pipeline.exec();
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
throw new golemio_errors_1.GeneralError("createNewCache failed", this.constructor.name, err);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async deleteOldCache(setName) {
|
|
70
|
+
try {
|
|
71
|
+
const pipeline = this.connection.pipeline();
|
|
72
|
+
pipeline.expire(`${setName}:awsNodeToGtfsStops`, TTL_SECONDS_BEFORE_DELETE);
|
|
73
|
+
pipeline.expire(`${setName}:cisToAswNode`, TTL_SECONDS_BEFORE_DELETE);
|
|
74
|
+
await pipeline.exec();
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
throw new golemio_errors_1.GeneralError("deleteOldCache failed", this.constructor.name, err);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
GtfsStopsRedisRepository.NAMESPACE_PREFIX = const_1.GTFS_STOPS_NAMESPACE_PREFIX;
|
|
82
|
+
exports.GtfsStopsRedisRepository = GtfsStopsRedisRepository = GtfsStopsRedisRepository_1 = __decorate([
|
|
83
|
+
(0, tsyringe_1.injectable)(),
|
|
84
|
+
__param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser)),
|
|
85
|
+
__metadata("design:paramtypes", [GtfsStopParser_1.GtfsStopParser])
|
|
86
|
+
], GtfsStopsRedisRepository);
|
|
87
|
+
//# sourceMappingURL=GtfsStopsRedisRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GtfsStopsRedisRepository.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/data-access/cache/GtfsStopsRedisRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,7 +163,7 @@ class PositionsRepository extends models_2.PostgresModel {
|
|
|
163
163
|
// Sequlize return with raw==true flatten array of results, nest==true is available for Sequelize ver >5 only
|
|
164
164
|
// We return objects of positions grouped by trips_id
|
|
165
165
|
try {
|
|
166
|
-
|
|
166
|
+
const positionsToReturn = results.reduce((p, c) => {
|
|
167
167
|
let pIndex = p.findIndex((e) => e.id === c.id);
|
|
168
168
|
if (pIndex === -1) {
|
|
169
169
|
p.push({
|
|
@@ -209,6 +209,7 @@ class PositionsRepository extends models_2.PostgresModel {
|
|
|
209
209
|
});
|
|
210
210
|
return p;
|
|
211
211
|
}, []);
|
|
212
|
+
return positionsToReturn;
|
|
212
213
|
}
|
|
213
214
|
catch (err) {
|
|
214
215
|
throw new golemio_errors_1.GeneralError(`Error while transforming data from db for batch. Trip count ${results.length}.`, this.name, err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PositionsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/PositionsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { IVPTripsPositionAttributes } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/IVPTripsPositionAttributes";
|
|
2
|
+
import { IVPTripsLastPositionContext } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/VPTripsLastPositionInterfaces";
|
|
3
|
+
import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
|
|
4
|
+
import { Feature, Point } from "@turf/turf";
|
|
5
|
+
import { StatePositionEnum } from "../../../../../const";
|
|
6
|
+
import { GTFSRouteTypeEnum } from "../../../../../helpers/RouteTypeEnums";
|
|
7
|
+
import { IComputationTrip, ICurrentPositionProperties, IPositionToUpdate, IProcessedPositions, IShapeAnchorPoint, ITripPositionsWithGTFS, IUpdatePositionsIteratorOptions } from "../interfaces/VPInterfaces";
|
|
8
|
+
import { PositionHandlerEnum } from "./PositionHandlerEnum";
|
|
9
|
+
import { ValidToCalculator } from "./ValidToCalculator";
|
|
10
|
+
import { IStopTime } from "../../../../ropid-gtfs/interfaces/TripModelInterfaces";
|
|
11
|
+
export declare abstract class BasePositionsManager {
|
|
12
|
+
protected readonly useEndTimestamp: boolean;
|
|
13
|
+
protected readonly allowCancelState: boolean;
|
|
14
|
+
protected static sortByOriginTimestamp: (a: IVPTripsPositionAttributes, b: IVPTripsPositionAttributes) => 1 | 0 | -1;
|
|
15
|
+
protected abstract validToCalculator: ValidToCalculator;
|
|
16
|
+
constructor({ useEndTimestamp, allowCancelState }: {
|
|
17
|
+
useEndTimestamp?: boolean | undefined;
|
|
18
|
+
allowCancelState?: boolean | undefined;
|
|
19
|
+
});
|
|
20
|
+
abstract updatePositions(options: IUpdatePositionsIteratorOptions, schedule: IScheduleDto[] | undefined): IProcessedPositions;
|
|
21
|
+
protected abstract getClosestPoint(currentPosition: Feature<Point, ICurrentPositionProperties>, context: IVPTripsLastPositionContext | null, startDayTimestamp: number, thisClosestPoint: IShapeAnchorPoint, tripGtfsData: IComputationTrip, gtfsRouteType?: GTFSRouteTypeEnum): IPositionToUpdate;
|
|
22
|
+
private getCurrentContext;
|
|
23
|
+
/**
|
|
24
|
+
* Compute positions and return computed positions
|
|
25
|
+
*
|
|
26
|
+
* @param {ITripPositionsWithGTFS} tripPositions - Trip positions with shape anchors data
|
|
27
|
+
* @returns {IProcessedPositions} - Returns computed/updated positions
|
|
28
|
+
*/
|
|
29
|
+
computePositions: (tripPositions: ITripPositionsWithGTFS, schedule?: IScheduleDto[] | undefined) => IProcessedPositions;
|
|
30
|
+
/**
|
|
31
|
+
* Decide how to process input position data
|
|
32
|
+
*
|
|
33
|
+
* @param {IVPTripsPositionAttributes} position - Input vehiclepositions_positions row data
|
|
34
|
+
* @returns {PositionHandlerEnum} - Returns action handler enum
|
|
35
|
+
*/
|
|
36
|
+
protected setPositionUpdateHandler: (position: IVPTripsPositionAttributes) => PositionHandlerEnum;
|
|
37
|
+
/**
|
|
38
|
+
* Returns estimate of point on shape, where the trip should be with appropriate delay
|
|
39
|
+
*
|
|
40
|
+
* @param {IShapeAnchorPoint[]} tripShapePoints - Precalculated trip shape equidistant points with scheduled times
|
|
41
|
+
* @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Current position of trip
|
|
42
|
+
* @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
|
|
43
|
+
* @param {number} startDayTimestamp - Unix timestamp of midnight before trip starts
|
|
44
|
+
* @returns {IPositionToUpdate} - Position object to update
|
|
45
|
+
*/
|
|
46
|
+
protected getEstimatedPoint: (tripGtfsData: IComputationTrip, currentPosition: Feature<Point, ICurrentPositionProperties>, context: IVPTripsLastPositionContext | null, startDayTimestamp: number, gtfsRouteType?: GTFSRouteTypeEnum) => IPositionToUpdate;
|
|
47
|
+
/**
|
|
48
|
+
* Corrects time delay at stop with dwelling time
|
|
49
|
+
*
|
|
50
|
+
* @param {number} timeDelay - Initial computed delay in seconds, can be negative for trip ahead
|
|
51
|
+
* @param {IVPTripsLastPositionContext | null} context - Context state, holds information about previous positions
|
|
52
|
+
* @param {Feature<Point, ICurrentPositionProperties>} currentPosition - Feature Point of current position
|
|
53
|
+
* @param {IShapeAnchorPoint} thisClosestPoint - Closest point of shape anchors
|
|
54
|
+
* @param { departureTime: number; arrivalTime: number } stopTimes - departure and arrival stop times in seconds
|
|
55
|
+
* @returns {number} - Result delay in seconds, can be negative for trip ahead
|
|
56
|
+
*/
|
|
57
|
+
protected getCorrectedTimeDelay: (timeDelay: number, context: IVPTripsLastPositionContext | null, currentPosition: Feature<Point, ICurrentPositionProperties>, thisStopSequence: number, stopTimes: {
|
|
58
|
+
departureTime: number;
|
|
59
|
+
arrivalTime: number;
|
|
60
|
+
}) => number;
|
|
61
|
+
/**
|
|
62
|
+
* Compute UTC timestamp of start of day when trip starts
|
|
63
|
+
*
|
|
64
|
+
* @param {number} startTimestamp - Unix timestamp of start of the trip
|
|
65
|
+
* @param {number} firstStopTimeScheduledSeconds - Number of seconds from midnight of first stop departure
|
|
66
|
+
* @returns {number} - Returns unix timestamp in milliseconds.
|
|
67
|
+
*/
|
|
68
|
+
protected getStartDayTimestamp: (startTimestamp: number, firstStopTimeScheduledSeconds: number) => number;
|
|
69
|
+
protected disruptAtStopStreak(position: IVPTripsPositionAttributes, positionToUpdate?: IPositionToUpdate | null): boolean;
|
|
70
|
+
protected setFirstUniqueStopSequence(positionToUpdate: IPositionToUpdate | null, context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes): void;
|
|
71
|
+
protected defaultNonTrackingPositionToUpdate(position: IVPTripsPositionAttributes, firstStopTime: IStopTime, startDayTimestamp: number, setAsInvisible: boolean, lastPositionDelayed: 0 | {
|
|
72
|
+
delay: number | null;
|
|
73
|
+
origin_timestamp: Date;
|
|
74
|
+
} | null): IPositionToUpdate;
|
|
75
|
+
/**
|
|
76
|
+
* Get delay in seconds for positions before track to ensure correct delay propagation
|
|
77
|
+
*
|
|
78
|
+
* @param lastPositionDelay The last position delay in seconds
|
|
79
|
+
* @param firstStopDepartureTime The first stop departure time in seconds. The time is measured from "noon minus 12h" of the
|
|
80
|
+
* service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
|
|
81
|
+
* midnight on the service day, enter the time as a value greater than 24:00:00 in seconds. See also
|
|
82
|
+
* <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
|
|
83
|
+
* @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
|
|
84
|
+
* @param startDayUnixTimestamp The Unix Epoch timestamp of the start of the service day, in milliseconds
|
|
85
|
+
*/
|
|
86
|
+
private getDelayBeforeTrack;
|
|
87
|
+
protected isFreshNewVehicleInSystem(context: IVPTripsLastPositionContext, position: IVPTripsPositionAttributes, endTimestamp: Date | null): boolean;
|
|
88
|
+
protected setLastPositionTracking(position: IVPTripsPositionAttributes, context: IVPTripsLastPositionContext, positionToUpdate: IPositionToUpdate | null): void;
|
|
89
|
+
protected detectDuplicatePosition(position: IVPTripsPositionAttributes, lastPositionOriginTimestamp: number | null, positionsSource: IVPTripsPositionAttributes[]): StatePositionEnum.AFTER_TRACK | StatePositionEnum.DUPLICATE;
|
|
90
|
+
}
|