@golemio/pid 2.8.6 → 2.8.7-dev.963032002
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/db/migrations/postgresql/20230802143613-ropid-gtfs-update-procedures.js +53 -0
- package/db/migrations/postgresql/sqls/20230802143613-ropid-gtfs-update-procedures-down.sql +7 -0
- package/db/migrations/postgresql/sqls/20230802143613-ropid-gtfs-update-procedures-up.sql +149 -0
- package/dist/integration-engine/ioc/Di.js +0 -4
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +0 -2
- package/dist/integration-engine/ioc/ModuleContainerToken.js +0 -2
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +1 -1
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +6 -8
- package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.d.ts +30 -0
- package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js +152 -0
- package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.d.ts +22 -0
- package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.js +120 -0
- package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.d.ts +18 -0
- package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.js +95 -0
- package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.js.map +1 -0
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.d.ts +1 -2
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +2 -16
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +1 -4
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js +2 -38
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +1 -4
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +2 -37
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +2 -4
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +2 -38
- package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.d.ts +3 -3
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js +17 -15
- package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -1
- package/dist/integration-engine/ropid-gtfs/index.js +1 -1
- package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js +8 -1
- package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +4 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +4 -0
- package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.js +3 -3
- package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.d.ts +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js +3 -5
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.d.ts +6 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +54 -38
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.d.ts +3 -2
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js +8 -7
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.d.ts +2 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js +6 -3
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.d.ts +2 -3
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js +12 -26
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.d.ts +2 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js +11 -6
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.d.ts +3 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js +14 -17
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.d.ts +2 -1
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js +8 -5
- package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js.map +1 -1
- package/dist/integration-engine/shared/RopidMetadataModel.d.ts +5 -1
- package/dist/integration-engine/shared/RopidMetadataModel.js +9 -19
- package/dist/integration-engine/shared/RopidMetadataModel.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +0 -3
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +0 -45
- package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/AgencyDto.js +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/AgencyDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/CalendarDatesDto.js +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/CalendarDatesDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/CalendarDto.js +6 -6
- package/dist/schema-definitions/ropid-gtfs/models/CalendarDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js +3 -3
- package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/ShapeDto.js +2 -2
- package/dist/schema-definitions/ropid-gtfs/models/ShapeDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/StopDto.d.ts +1 -2
- package/dist/schema-definitions/ropid-gtfs/models/StopDto.js +5 -25
- package/dist/schema-definitions/ropid-gtfs/models/StopDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.d.ts +1 -2
- package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.js +3 -14
- package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/TripDto.js +2 -2
- package/dist/schema-definitions/ropid-gtfs/models/TripDto.js.map +1 -1
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +1 -2
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +0 -14
- package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.d.ts +1 -2
- package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.js +0 -8
- package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.js.map +1 -1
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +1 -2
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +0 -8
- package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
- package/package.json +1 -1
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +0 -36
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +0 -229
- package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +0 -1
- package/dist/integration-engine/ropid-gtfs/utils.d.ts +0 -4
- package/dist/integration-engine/ropid-gtfs/utils.js +0 -28
- package/dist/integration-engine/ropid-gtfs/utils.js.map +0 -1
|
@@ -26,29 +26,31 @@ const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
|
26
26
|
const RopidMetadataModel_1 = require("../../shared/RopidMetadataModel");
|
|
27
27
|
const ContainerToken_1 = require("@golemio/core/dist/integration-engine/ioc/ContainerToken");
|
|
28
28
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
29
|
-
const
|
|
29
|
+
const RopidGtfsFacade_1 = require("../RopidGtfsFacade");
|
|
30
|
+
const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
|
|
30
31
|
const DeparturePresetsRepository_1 = require("../data-access/DeparturePresetsRepository");
|
|
32
|
+
const RopidGtfsContainerToken_1 = require("../ioc/RopidGtfsContainerToken");
|
|
31
33
|
const RopidDeparturesPresetsTransformation_1 = require("../transformations/RopidDeparturesPresetsTransformation");
|
|
32
34
|
let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePresetsFacade {
|
|
33
|
-
constructor(
|
|
34
|
-
this.
|
|
35
|
+
constructor(metadataRepository, departurePresetsRepository, transformationDeparturesPresets, logger) {
|
|
36
|
+
this.metadataRepository = metadataRepository;
|
|
35
37
|
this.departurePresetsRepository = departurePresetsRepository;
|
|
36
38
|
this.transformationDeparturesPresets = transformationDeparturesPresets;
|
|
37
39
|
this.logger = logger;
|
|
38
40
|
}
|
|
39
41
|
handleNewDeparturePresets(data, lastModified) {
|
|
40
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const dbLastModified = yield this.
|
|
42
|
-
yield this.
|
|
43
|
-
dataset:
|
|
43
|
+
const dbLastModified = yield this.metadataRepository.getLastModified(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS);
|
|
44
|
+
yield this.metadataRepository.save({
|
|
45
|
+
dataset: RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS,
|
|
44
46
|
key: RopidMetadataModel_1.MetaDatasetInfoKeyEnum.LAST_MODIFIED,
|
|
45
47
|
type: RopidMetadataModel_1.MetaTypeEnum.DATASET_INFO,
|
|
46
48
|
value: lastModified,
|
|
47
49
|
version: dbLastModified.version + 1,
|
|
48
50
|
});
|
|
49
51
|
const transformedData = yield this.transformationDeparturesPresets.transform(data);
|
|
50
|
-
yield this.
|
|
51
|
-
dataset:
|
|
52
|
+
yield this.metadataRepository.save({
|
|
53
|
+
dataset: RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS,
|
|
52
54
|
key: "departuresPresets",
|
|
53
55
|
type: RopidMetadataModel_1.MetaTypeEnum.TABLE_TOTAL_COUNT,
|
|
54
56
|
value: transformedData.length,
|
|
@@ -57,30 +59,30 @@ let DeparturePresetsFacade = exports.DeparturePresetsFacade = class DeparturePre
|
|
|
57
59
|
try {
|
|
58
60
|
yield this.departurePresetsRepository.truncate(true);
|
|
59
61
|
yield this.departurePresetsRepository.save(transformedData, true);
|
|
60
|
-
yield this.
|
|
61
|
-
dataset:
|
|
62
|
+
yield this.metadataRepository.save({
|
|
63
|
+
dataset: RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS,
|
|
62
64
|
key: "departuresPresets",
|
|
63
65
|
type: RopidMetadataModel_1.MetaTypeEnum.STATE,
|
|
64
66
|
value: RopidMetadataModel_1.MetaStateEnum.SAVED,
|
|
65
67
|
version: dbLastModified.version + 1,
|
|
66
68
|
});
|
|
67
|
-
yield this.
|
|
68
|
-
yield this.
|
|
69
|
+
yield this.metadataRepository.checkSavedRows(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
70
|
+
yield this.metadataRepository.replaceTmpTables(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
69
71
|
}
|
|
70
72
|
catch (err) {
|
|
71
73
|
this.logger.error(err);
|
|
72
|
-
yield this.
|
|
74
|
+
yield this.metadataRepository.rollbackFailedSaving(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS, dbLastModified.version + 1);
|
|
73
75
|
}
|
|
74
76
|
});
|
|
75
77
|
}
|
|
76
78
|
};
|
|
77
79
|
exports.DeparturePresetsFacade = DeparturePresetsFacade = __decorate([
|
|
78
80
|
(0, tsyringe_1.injectable)(),
|
|
79
|
-
__param(0, (0, tsyringe_1.inject)(
|
|
81
|
+
__param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
|
|
80
82
|
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository)),
|
|
81
83
|
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.RopidDeparturesPresetsTransformation)),
|
|
82
84
|
__param(3, (0, tsyringe_1.inject)(ContainerToken_1.ContainerToken.Logger)),
|
|
83
|
-
__metadata("design:paramtypes", [
|
|
85
|
+
__metadata("design:paramtypes", [RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository,
|
|
84
86
|
DeparturePresetsRepository_1.DeparturePresetsRepository,
|
|
85
87
|
RopidDeparturesPresetsTransformation_1.RopidDeparturesPresetsTransformation, Object])
|
|
86
88
|
], DeparturePresetsFacade);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeparturePresetsFacade.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,wEAAoG;AAGpG,6FAA0F;AAC1F,iEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"DeparturePresetsFacade.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export * from "./transformations/RopidDeparturesPresetsTransformation";
|
|
|
2
2
|
export * from "./transformations/RopidGTFSCisStopsTransformation";
|
|
3
3
|
export * from "./transformations/RopidGTFSTransformation";
|
|
4
4
|
export * from "./RopidGTFSTripsModel";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./RopidGtfsFacade";
|
|
6
6
|
export * from "./LegacyRopidGTFSWorker";
|
|
7
7
|
export * from "./RopidGTFSStopTimesModel";
|
|
8
8
|
export * from "./RopidGTFSStopsModel";
|
|
@@ -18,7 +18,7 @@ __exportStar(require("./transformations/RopidDeparturesPresetsTransformation"),
|
|
|
18
18
|
__exportStar(require("./transformations/RopidGTFSCisStopsTransformation"), exports);
|
|
19
19
|
__exportStar(require("./transformations/RopidGTFSTransformation"), exports);
|
|
20
20
|
__exportStar(require("./RopidGTFSTripsModel"), exports);
|
|
21
|
-
__exportStar(require("./
|
|
21
|
+
__exportStar(require("./RopidGtfsFacade"), exports);
|
|
22
22
|
__exportStar(require("./LegacyRopidGTFSWorker"), exports);
|
|
23
23
|
__exportStar(require("./RopidGTFSStopTimesModel"), exports);
|
|
24
24
|
__exportStar(require("./RopidGTFSStopsModel"), exports);
|
|
@@ -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,
|
|
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,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC"}
|
|
@@ -5,7 +5,11 @@ const Di_1 = require("../../ioc/Di");
|
|
|
5
5
|
const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
|
|
6
6
|
const pubsub_1 = require("@golemio/core/dist/integration-engine/data-access/pubsub");
|
|
7
7
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
8
|
+
const RopidGtfsFacade_1 = require("../RopidGtfsFacade");
|
|
9
|
+
const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
|
|
10
|
+
const RopidGtfsRepository_1 = require("../data-access/RopidGtfsRepository");
|
|
8
11
|
const StaticFileRedisRepository_1 = require("../data-access/cache/StaticFileRedisRepository");
|
|
12
|
+
const DeparturePresetsFacade_1 = require("../facade/DeparturePresetsFacade");
|
|
9
13
|
const RopidGTFSTransformation_1 = require("../transformations/RopidGTFSTransformation");
|
|
10
14
|
const PrecomputedTablesFacade_1 = require("../workers/timetables/tasks/helpers/PrecomputedTablesFacade");
|
|
11
15
|
const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtfsFactory");
|
|
@@ -17,13 +21,16 @@ exports.RopidGtfsContainer = RopidGtfsContainer;
|
|
|
17
21
|
//#region Datasources
|
|
18
22
|
//#endregion
|
|
19
23
|
//#region Repositories
|
|
20
|
-
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository, StaticFileRedisRepository_1.StaticFileRedisRepository);
|
|
24
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository, StaticFileRedisRepository_1.StaticFileRedisRepository).registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository, RopidGtfsRepository_1.RopidGtfsRepository);
|
|
25
|
+
RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository, RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository);
|
|
21
26
|
//#endregion
|
|
22
27
|
//#region Transformations
|
|
23
28
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSTransformation, RopidGTFSTransformation_1.RopidGTFSTransformation);
|
|
24
29
|
//#endregion
|
|
25
30
|
//#region Facade
|
|
31
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFacade, RopidGtfsFacade_1.RopidGtfsFacade);
|
|
26
32
|
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PrecomputedTablesFacade, PrecomputedTablesFacade_1.PrecomputedTablesFacade)
|
|
27
33
|
.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFactory, RopidGtfsFactory_1.RopidGtfsFactory, { lifecycle: tsyringe_1.Lifecycle.Transient })
|
|
28
34
|
.registerInstance(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RedisPubSubChannel, new pubsub_1.RedisPubSubChannel(ropid_gtfs_1.RopidGTFS.name));
|
|
35
|
+
RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade, DeparturePresetsFacade_1.DeparturePresetsFacade);
|
|
29
36
|
//# 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,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,8FAA2F;AAC3F,wFAAqF;AACrF,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AAEpE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;
|
|
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,6EAA0E;AAC1E,wFAAqF;AACrF,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AAEpE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA4B3E,gDAAkB;AA3B3B,YAAY;AAEZ,qBAAqB;AAErB,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,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
declare const RopidGtfsContainerToken: {
|
|
2
|
+
RopidGtfsMetadataRepository: symbol;
|
|
2
3
|
PrecomputedTablesFacade: symbol;
|
|
3
4
|
StaticFileRedisRepository: symbol;
|
|
4
5
|
RopidGTFSTransformation: symbol;
|
|
5
6
|
RopidGtfsFactory: symbol;
|
|
6
7
|
RedisPubSubChannel: symbol;
|
|
8
|
+
RopidGtfsRepository: symbol;
|
|
9
|
+
DeparturePresetsFacade: symbol;
|
|
10
|
+
RopidGtfsFacade: symbol;
|
|
7
11
|
};
|
|
8
12
|
export { RopidGtfsContainerToken };
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RopidGtfsContainerToken = void 0;
|
|
4
4
|
const RopidGtfsContainerToken = {
|
|
5
|
+
RopidGtfsMetadataRepository: Symbol(),
|
|
5
6
|
PrecomputedTablesFacade: Symbol(),
|
|
6
7
|
StaticFileRedisRepository: Symbol(),
|
|
7
8
|
RopidGTFSTransformation: Symbol(),
|
|
8
9
|
RopidGtfsFactory: Symbol(),
|
|
9
10
|
RedisPubSubChannel: Symbol(),
|
|
11
|
+
RopidGtfsRepository: Symbol(),
|
|
12
|
+
DeparturePresetsFacade: Symbol(),
|
|
13
|
+
RopidGtfsFacade: Symbol(),
|
|
10
14
|
};
|
|
11
15
|
exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
|
|
12
16
|
//# 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,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,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,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;CAC5B,CAAC;AAEO,0DAAuB"}
|
|
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SavePresetsDataTask = void 0;
|
|
13
|
-
const Di_1 = require("
|
|
14
|
-
const
|
|
13
|
+
const Di_1 = require("../../../ioc/Di");
|
|
14
|
+
const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
|
|
15
15
|
const ropid_departures_presets_1 = require("../../../../../schema-definitions/ropid-departures-presets");
|
|
16
16
|
const AbstractTaskJsonSchema_1 = require("@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema");
|
|
17
17
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
@@ -24,7 +24,7 @@ class SavePresetsDataTask extends AbstractTaskJsonSchema_1.AbstractTaskJsonSchem
|
|
|
24
24
|
}
|
|
25
25
|
execute(data) {
|
|
26
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const facade = Di_1.
|
|
27
|
+
const facade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade);
|
|
28
28
|
yield facade.handleNewDeparturePresets(data, new Date().toISOString());
|
|
29
29
|
});
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavePresetsDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SavePresetsDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA2D;AAC3D,kFAAqF;AACrF,yGAA+F;AAC/F,iHAA8G;AAC9G,mFAAkF;AAElF,MAAa,mBAAoB,SAAQ,+CAAgD;IAQrF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,aAAa,CAAC;QAC1B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QAC5C,WAAM,GAAG,IAAI,uCAAmB,CACtC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,iDAAsB,CAAC,oBAAoB,CAC9C,CAAC;IAIF,CAAC;IAEe,OAAO,CAAC,IAA8B;;YAClD,MAAM,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAyB,iDAAuB,CAAC,sBAAsB,CAAC,CAAC;YAClH,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;KAAA;CACJ;AAhBD,kDAgBC"}
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare class CheckForNewDataTask extends AbstractTask<ICheckForNewDataIn
|
|
|
6
6
|
readonly queueTtl: number;
|
|
7
7
|
readonly schema: typeof CheckForNewDataMessageValidation;
|
|
8
8
|
private logger;
|
|
9
|
-
private
|
|
9
|
+
private metadataRepository;
|
|
10
10
|
constructor(queuePrefix: string);
|
|
11
11
|
protected execute(data: ICheckForNewDataInput): Promise<void>;
|
|
12
12
|
}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CheckForNewDataTask = void 0;
|
|
13
|
-
const ModuleContainerToken_1 = require("../../../../ioc/ModuleContainerToken");
|
|
14
13
|
const Di_1 = require("../../../ioc/Di");
|
|
15
14
|
const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
|
|
16
15
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
@@ -24,8 +23,7 @@ class CheckForNewDataTask extends workers_1.AbstractTask {
|
|
|
24
23
|
this.queueTtl = 19 * 60 * 1000; // 19 minutes
|
|
25
24
|
this.schema = CheckForNewDataMessageValidation_1.CheckForNewDataMessageValidation;
|
|
26
25
|
this.logger = Di_1.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
27
|
-
|
|
28
|
-
this.metaModel = Di_1.RopidGtfsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel);
|
|
26
|
+
this.metadataRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
|
|
29
27
|
}
|
|
30
28
|
execute(data) {
|
|
31
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -35,8 +33,8 @@ class CheckForNewDataTask extends workers_1.AbstractTask {
|
|
|
35
33
|
const datasetMap = ropidGtfsFactory.getDatasetMap();
|
|
36
34
|
for (const dataset of Object.keys(datasetMap)) {
|
|
37
35
|
const serverLastModified = yield datasetMap[dataset].datasource.getLastModified();
|
|
38
|
-
const dbLastModified = yield this.
|
|
39
|
-
const isDeployed = yield this.
|
|
36
|
+
const dbLastModified = yield this.metadataRepository.getLastModified(dataset);
|
|
37
|
+
const isDeployed = yield this.metadataRepository.isDeployed(dataset);
|
|
40
38
|
if (serverLastModified !== dbLastModified.lastModified || !isDeployed) {
|
|
41
39
|
datasets.push(dataset);
|
|
42
40
|
}
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckForNewDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"CheckForNewDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA2D;AAC3D,kFAAqF;AAErF,wEAAqE;AAErE,8EAAqE;AACrE,2EAA6E;AAI7E,gGAA6F;AAE7F,MAAa,mBAAoB,SAAQ,sBAAmC;IAQxE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,mEAAgC,CAAC;QAOtD,IAAI,CAAC,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAU,qBAAS,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,uBAAkB,CAAC,OAAO,CAChD,iDAAuB,CAAC,2BAA2B,CACtD,CAAC;IACN,CAAC;IAEe,OAAO,CAAC,IAA2B;;YAC/C,IAAI,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,MAAM,QAAQ,GAAmB,EAAE,CAAC;YACpC,MAAM,gBAAgB,GAAG,uBAAkB,CAAC,OAAO,CAAmB,iDAAuB,CAAC,gBAAgB,CAAC,CAAC;YAChH,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;YAEpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAmB,EAAE;gBAC7D,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBAClF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAErE,IAAI,kBAAkB,KAAK,cAAc,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE;oBACnE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B;aACJ;YAED,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;gBACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;aAC3D;YAED,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACjB,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE;oBAC3E,QAAQ,EAAE,QAAQ;iBACH,CAAC,CAAC;gBACrB,OAAO;aACV;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,IAAI,YAAY,EAAE;gBACd,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;aAC9F;QACL,CAAC;KAAA;CACJ;AAhDD,kDAgDC"}
|
|
@@ -6,9 +6,14 @@ export declare class CheckSavedRowsAndReplaceTablesTask extends AbstractTask<IDa
|
|
|
6
6
|
readonly queueTtl: number;
|
|
7
7
|
readonly schema: typeof DatasetsInputSchema;
|
|
8
8
|
private logger;
|
|
9
|
-
private
|
|
9
|
+
private metadataRepository;
|
|
10
|
+
private ropidGtfsRepository;
|
|
10
11
|
private dataCacheManager;
|
|
11
12
|
private precomputeTablesFacade;
|
|
13
|
+
private ropidGtfsFacade;
|
|
12
14
|
constructor(queuePrefix: string);
|
|
13
15
|
protected execute(data: IDatasetsInput): Promise<void>;
|
|
16
|
+
private retryOrThrow;
|
|
17
|
+
private checkSavedRows;
|
|
18
|
+
private getDatasetsToDeploy;
|
|
14
19
|
}
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CheckSavedRowsAndReplaceTablesTask = void 0;
|
|
13
|
-
const ModuleContainerToken_1 = require("../../../../ioc/ModuleContainerToken");
|
|
14
13
|
const DataCacheManager_1 = require("../../../helpers/DataCacheManager");
|
|
15
14
|
const SourceTableSuffixEnum_1 = require("../../../helpers/SourceTableSuffixEnum");
|
|
16
15
|
const Di_1 = require("../../../ioc/Di");
|
|
@@ -28,20 +27,15 @@ class CheckSavedRowsAndReplaceTablesTask extends workers_1.AbstractTask {
|
|
|
28
27
|
this.queueTtl = 23 * 60 * 60 * 1000; // 23 hours
|
|
29
28
|
this.schema = DownloadDataInputSchema_1.DatasetsInputSchema;
|
|
30
29
|
this.logger = Di_1.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
31
|
-
|
|
32
|
-
this.metaModel = Di_1.RopidGtfsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel);
|
|
30
|
+
this.metadataRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
|
|
33
31
|
this.dataCacheManager = DataCacheManager_1.DataCacheManager.getInstance();
|
|
34
32
|
this.precomputeTablesFacade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PrecomputedTablesFacade);
|
|
33
|
+
this.ropidGtfsRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository);
|
|
34
|
+
this.ropidGtfsFacade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFacade);
|
|
35
35
|
}
|
|
36
36
|
execute(data) {
|
|
37
37
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const datasetDeployInfo = yield
|
|
39
|
-
const lastModified = yield this.metaModel.getLastModified(dataset);
|
|
40
|
-
const isDeployed = yield this.metaModel.checkIfNewVersionIsAlreadyDeployed(dataset, lastModified.version);
|
|
41
|
-
return { dataset, lastModified, isDeployed };
|
|
42
|
-
})));
|
|
43
|
-
this.logger.debug(`Datasets status: ${JSON.stringify(datasetDeployInfo)}`);
|
|
44
|
-
const notDeployed = datasetDeployInfo.filter((info) => !info.isDeployed);
|
|
38
|
+
const { notDeployed, datasetDeployInfo } = yield this.getDatasetsToDeploy(data);
|
|
45
39
|
if (data.datasets.length !== notDeployed.length) {
|
|
46
40
|
const names = notDeployed.map((el) => el.dataset);
|
|
47
41
|
this.logger.error(`Error while synchronized download of datasets: [${names}] of [${data.datasets}] deployed already`);
|
|
@@ -51,43 +45,65 @@ class CheckSavedRowsAndReplaceTablesTask extends workers_1.AbstractTask {
|
|
|
51
45
|
return;
|
|
52
46
|
}
|
|
53
47
|
const notDeployedVersions = notDeployed.map((el) => ({ dataset: el.dataset, version: el.lastModified.version }));
|
|
54
|
-
const allSaved = yield this.
|
|
48
|
+
const allSaved = yield this.metadataRepository.checkAllTablesHasSavedState(notDeployedVersions);
|
|
55
49
|
try {
|
|
56
|
-
|
|
57
|
-
throw new golemio_errors_1.GeneralError("Some GTFS datasets did not properly save", this.constructor.name);
|
|
58
|
-
}
|
|
59
|
-
yield Promise.all(datasetDeployInfo.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
yield this.metaModel.checkSavedTmpTables(el.dataset, el.lastModified.version);
|
|
61
|
-
})));
|
|
50
|
+
yield this.checkSavedRows(allSaved, datasetDeployInfo);
|
|
62
51
|
yield this.precomputeTablesFacade.createAndPopulatePrecomputedTmpTables(SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp);
|
|
63
|
-
yield this.
|
|
52
|
+
yield this.ropidGtfsFacade.replaceTables(notDeployedVersions);
|
|
64
53
|
yield this.dataCacheManager.cleanCache();
|
|
54
|
+
yield this.ropidGtfsRepository.cleanTmpAndOldTables();
|
|
65
55
|
yield integration_engine_1.QueueManager.sendMessageToExchange(constants_1.WORKER_NAME.toLowerCase(), "refreshGTFSTripData", {});
|
|
66
|
-
return;
|
|
67
56
|
}
|
|
68
57
|
catch (err) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
58
|
+
yield this.retryOrThrow(notDeployedVersions, data, err);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
retryOrThrow(notDeployedVersions, data, err) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
// log failed saving process
|
|
65
|
+
yield Promise.all(notDeployedVersions.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
yield this.metadataRepository.rollbackFailedSaving(el.dataset, el.version);
|
|
67
|
+
})));
|
|
68
|
+
// check number of tries
|
|
69
|
+
const retries = yield Promise.all(notDeployedVersions.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
return yield this.metadataRepository.getNumberOfDownloadRetries(el.dataset, el.version);
|
|
71
|
+
})));
|
|
72
|
+
yield this.ropidGtfsRepository.cleanTmpAndOldTables();
|
|
73
|
+
if (Math.max(...retries) <= 5) {
|
|
74
|
+
// send new downloadFiles, log it and finish
|
|
75
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "downloadDatasets", data);
|
|
76
|
+
integration_engine_1.IntegrationErrorHandler.handle(new golemio_errors_1.GeneralError(`Error while checking RopidGTFS saved rows. Attempt number ${Math.min(...retries)} was resent.`, this.constructor.name, err));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// at least refresh precomputed tables and finish with error
|
|
80
|
+
integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "refreshPrecomputedTables", {});
|
|
81
|
+
throw new golemio_errors_1.GeneralError("Error while checking RopidGTFS saved rows.", this.constructor.name, err);
|
|
88
82
|
}
|
|
89
83
|
});
|
|
90
84
|
}
|
|
85
|
+
checkSavedRows(allSaved, datasetDeployInfo) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
if (!allSaved) {
|
|
88
|
+
throw new golemio_errors_1.GeneralError("Some GTFS datasets did not properly save", this.constructor.name);
|
|
89
|
+
}
|
|
90
|
+
yield Promise.all(datasetDeployInfo.map((el) => __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
yield this.ropidGtfsFacade.checkSavedTmpTables(el.dataset, el.lastModified.version);
|
|
92
|
+
})));
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
getDatasetsToDeploy(data) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const datasetDeployInfo = yield Promise.all(data.datasets.map((dataset) => __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const lastModified = yield this.metadataRepository.getLastModified(dataset);
|
|
99
|
+
const isDeployed = yield this.metadataRepository.checkIfNewVersionIsAlreadyDeployed(dataset, lastModified.version);
|
|
100
|
+
return { dataset, lastModified, isDeployed };
|
|
101
|
+
})));
|
|
102
|
+
this.logger.debug(`Datasets status: ${JSON.stringify(datasetDeployInfo)}`);
|
|
103
|
+
const notDeployed = datasetDeployInfo.filter((info) => !info.isDeployed);
|
|
104
|
+
return { notDeployed, datasetDeployInfo };
|
|
105
|
+
});
|
|
106
|
+
}
|
|
91
107
|
}
|
|
92
108
|
exports.CheckSavedRowsAndReplaceTablesTask = CheckSavedRowsAndReplaceTablesTask;
|
|
93
109
|
//# sourceMappingURL=CheckSavedRowsAndReplaceTablesTask.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckSavedRowsAndReplaceTablesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
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/DownloadDatasetsTask.d.ts
CHANGED
|
@@ -6,10 +6,11 @@ export declare class DownloadDatasetsTask extends AbstractTask<IDatasetsInput> {
|
|
|
6
6
|
readonly queueTtl: number;
|
|
7
7
|
readonly schema: typeof DatasetsInputSchema;
|
|
8
8
|
private logger;
|
|
9
|
-
private
|
|
9
|
+
private metadataRepository;
|
|
10
|
+
private staticFileRedisRepository;
|
|
11
|
+
private ropidGtfsRepository;
|
|
10
12
|
private ropidGtfsFactory?;
|
|
11
13
|
private gtfsRedisChannel;
|
|
12
|
-
private staticFileRedisRepository;
|
|
13
14
|
constructor(queuePrefix: string);
|
|
14
15
|
protected execute(data: IDatasetsInput): Promise<void>;
|
|
15
16
|
/**
|
|
@@ -25,8 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.DownloadDatasetsTask = void 0;
|
|
27
27
|
const Di_1 = require("../../../../ioc/Di");
|
|
28
|
-
const
|
|
29
|
-
const RopidGTFSMetadataModel_1 = require("../../../RopidGTFSMetadataModel");
|
|
28
|
+
const RopidGtfsFacade_1 = require("../../../RopidGtfsFacade");
|
|
30
29
|
const Di_2 = require("../../../ioc/Di");
|
|
31
30
|
const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
|
|
32
31
|
const RopidMetadataModel_1 = require("../../../../shared/RopidMetadataModel");
|
|
@@ -51,12 +50,12 @@ class DownloadDatasetsTask extends workers_1.AbstractTask {
|
|
|
51
50
|
let files = yield this.ropidGtfsFactory.getDatasetMap()[dataset].datasource.getAll();
|
|
52
51
|
if (!Array.isArray(files))
|
|
53
52
|
files = [files];
|
|
54
|
-
const dbLastModified = yield this.
|
|
53
|
+
const dbLastModified = yield this.metadataRepository.getLastModified(dataset);
|
|
55
54
|
const cachedDataset = [];
|
|
56
55
|
for (const file of files) {
|
|
57
56
|
this.logger.info(`Datasets: processing file '${file.name}'`);
|
|
58
57
|
const { data } = file, meta = __rest(file, ["data"]);
|
|
59
|
-
if (dataset ===
|
|
58
|
+
if (dataset === RopidGtfsFacade_1.DatasetEnum.PID_GTFS || dataset === RopidGtfsFacade_1.DatasetEnum.RUN_NUMBERS) {
|
|
60
59
|
yield this.staticFileRedisRepository.pipeStream(file.filepath, data);
|
|
61
60
|
}
|
|
62
61
|
else {
|
|
@@ -73,12 +72,12 @@ class DownloadDatasetsTask extends workers_1.AbstractTask {
|
|
|
73
72
|
};
|
|
74
73
|
});
|
|
75
74
|
for (const metaState of metaStates) {
|
|
76
|
-
yield this.
|
|
75
|
+
yield this.metadataRepository.save(metaState);
|
|
77
76
|
}
|
|
78
77
|
cachedDataset.push(Object.assign(Object.assign({}, meta), { dataset }));
|
|
79
78
|
}
|
|
80
79
|
const lastModified = yield this.ropidGtfsFactory.getDatasetMap()[dataset].datasource.getLastModified();
|
|
81
|
-
yield this.
|
|
80
|
+
yield this.metadataRepository.save({
|
|
82
81
|
dataset,
|
|
83
82
|
key: RopidMetadataModel_1.MetaDatasetInfoKeyEnum.LAST_MODIFIED,
|
|
84
83
|
type: RopidMetadataModel_1.MetaTypeEnum.DATASET_INFO,
|
|
@@ -92,7 +91,8 @@ class DownloadDatasetsTask extends workers_1.AbstractTask {
|
|
|
92
91
|
this.gtfsRedisChannel = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RedisPubSubChannel);
|
|
93
92
|
this.staticFileRedisRepository = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository);
|
|
94
93
|
// MetaData Model
|
|
95
|
-
this.
|
|
94
|
+
this.metadataRepository = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
|
|
95
|
+
this.ropidGtfsRepository = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository);
|
|
96
96
|
}
|
|
97
97
|
execute(data) {
|
|
98
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -112,6 +112,7 @@ class DownloadDatasetsTask extends workers_1.AbstractTask {
|
|
|
112
112
|
throw new golemio_errors_1.GeneralError("Error while downloading GTFS datasets", this.constructor.name, err);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
+
yield this.ropidGtfsRepository.createTmpTables();
|
|
115
116
|
const subscriber = this.gtfsRedisChannel.createSubscriber({
|
|
116
117
|
channelSuffix: os_1.default.hostname(),
|
|
117
118
|
maxMessageCount: cachedDatasets.length,
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadDatasetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0C;AAC1C
|
|
1
|
+
{"version":3,"file":"DownloadDatasetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@ export declare class RefreshPrecomputedTablesTask extends AbstractEmptyTask {
|
|
|
3
3
|
readonly queueName = "refreshPrecomputedTables";
|
|
4
4
|
readonly queueTtl: number;
|
|
5
5
|
private logger;
|
|
6
|
-
private
|
|
6
|
+
private ropidGtfsRepository;
|
|
7
7
|
private dataCacheManager;
|
|
8
8
|
private precomputeTablesFacade;
|
|
9
|
+
private ropidGtfsFacade;
|
|
9
10
|
constructor(queuePrefix: string);
|
|
10
11
|
protected execute(): Promise<void>;
|
|
11
12
|
}
|
package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js
CHANGED
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RefreshPrecomputedTablesTask = void 0;
|
|
13
13
|
const Di_1 = require("../../../../ioc/Di");
|
|
14
|
-
const ModuleContainerToken_1 = require("../../../../ioc/ModuleContainerToken");
|
|
15
14
|
const DataCacheManager_1 = require("../../../helpers/DataCacheManager");
|
|
16
15
|
const SourceTableSuffixEnum_1 = require("../../../helpers/SourceTableSuffixEnum");
|
|
17
16
|
const Di_2 = require("../../../ioc/Di");
|
|
@@ -25,9 +24,10 @@ class RefreshPrecomputedTablesTask extends workers_1.AbstractEmptyTask {
|
|
|
25
24
|
this.queueName = "refreshPrecomputedTables";
|
|
26
25
|
this.queueTtl = 59 * 60 * 1000; // 59 minutes
|
|
27
26
|
this.logger = Di_2.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
28
|
-
this.metaModel = Di_2.RopidGtfsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel);
|
|
29
27
|
this.dataCacheManager = DataCacheManager_1.DataCacheManager.getInstance();
|
|
30
28
|
this.precomputeTablesFacade = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PrecomputedTablesFacade);
|
|
29
|
+
this.ropidGtfsRepository = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository);
|
|
30
|
+
this.ropidGtfsFacade = Di_2.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsFacade);
|
|
31
31
|
}
|
|
32
32
|
execute() {
|
|
33
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -41,7 +41,7 @@ class RefreshPrecomputedTablesTask extends workers_1.AbstractEmptyTask {
|
|
|
41
41
|
const connection = Di_1.PidContainer.resolve(CoreToken_1.CoreToken.PostgresConnector).getConnection();
|
|
42
42
|
const transaction = yield connection.transaction();
|
|
43
43
|
try {
|
|
44
|
-
yield this.
|
|
44
|
+
yield this.ropidGtfsFacade.replacePrecomputedTables(transaction);
|
|
45
45
|
yield transaction.commit();
|
|
46
46
|
}
|
|
47
47
|
catch (err) {
|
|
@@ -49,6 +49,9 @@ class RefreshPrecomputedTablesTask extends workers_1.AbstractEmptyTask {
|
|
|
49
49
|
this.logger.error(err);
|
|
50
50
|
throw new golemio_errors_1.GeneralError("Error while replacing RopidGTFS precomputed tables", this.constructor.name);
|
|
51
51
|
}
|
|
52
|
+
finally {
|
|
53
|
+
yield this.ropidGtfsRepository.cleanOldTables();
|
|
54
|
+
}
|
|
52
55
|
yield this.dataCacheManager.cleanCache();
|
|
53
56
|
});
|
|
54
57
|
}
|