@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.
Files changed (109) hide show
  1. package/db/migrations/postgresql/20230802143613-ropid-gtfs-update-procedures.js +53 -0
  2. package/db/migrations/postgresql/sqls/20230802143613-ropid-gtfs-update-procedures-down.sql +7 -0
  3. package/db/migrations/postgresql/sqls/20230802143613-ropid-gtfs-update-procedures-up.sql +149 -0
  4. package/dist/integration-engine/ioc/Di.js +0 -4
  5. package/dist/integration-engine/ioc/Di.js.map +1 -1
  6. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +0 -2
  7. package/dist/integration-engine/ioc/ModuleContainerToken.js +0 -2
  8. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  9. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +1 -1
  10. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +6 -8
  11. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.d.ts +30 -0
  13. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js +152 -0
  14. package/dist/integration-engine/ropid-gtfs/RopidGtfsFacade.js.map +1 -0
  15. package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.d.ts +22 -0
  16. package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.js +120 -0
  17. package/dist/integration-engine/ropid-gtfs/RopidGtfsMetadataRepository.js.map +1 -0
  18. package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.d.ts +18 -0
  19. package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.js +95 -0
  20. package/dist/integration-engine/ropid-gtfs/data-access/RopidGtfsRepository.js.map +1 -0
  21. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.d.ts +1 -2
  22. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js +2 -16
  23. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/DeparturesRepository.js.map +1 -1
  24. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.d.ts +1 -4
  25. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js +2 -38
  26. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/MinMaxStopSequencesRepository.js.map +1 -1
  27. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.d.ts +1 -4
  28. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js +2 -37
  29. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/ServicesCalendarRepository.js.map +1 -1
  30. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.d.ts +2 -4
  31. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +2 -38
  32. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
  33. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.d.ts +3 -3
  34. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js +17 -15
  35. package/dist/integration-engine/ropid-gtfs/facade/DeparturePresetsFacade.js.map +1 -1
  36. package/dist/integration-engine/ropid-gtfs/index.d.ts +1 -1
  37. package/dist/integration-engine/ropid-gtfs/index.js +1 -1
  38. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  39. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +8 -1
  40. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  41. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +4 -0
  42. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +4 -0
  43. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  44. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.js +3 -3
  45. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/SavePresetsDataTask.js.map +1 -1
  46. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.d.ts +1 -1
  47. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js +3 -5
  48. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckForNewDataTask.js.map +1 -1
  49. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.d.ts +6 -1
  50. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js +54 -38
  51. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/CheckSavedRowsAndReplaceTablesTask.js.map +1 -1
  52. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.d.ts +3 -2
  53. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js +8 -7
  54. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/DownloadDatasetsTask.js.map +1 -1
  55. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.d.ts +2 -1
  56. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js +6 -3
  57. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/RefreshPrecomputedTablesTask.js.map +1 -1
  58. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.d.ts +2 -3
  59. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js +12 -26
  60. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/TransformAndSaveDataTask.js.map +1 -1
  61. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.d.ts +2 -1
  62. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js +11 -6
  63. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/HelperTypes.js.map +1 -1
  64. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.d.ts +3 -1
  65. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js +14 -17
  66. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/PrecomputedTablesFacade.js.map +1 -1
  67. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.d.ts +2 -1
  68. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js +8 -5
  69. package/dist/integration-engine/ropid-gtfs/workers/timetables/tasks/helpers/RopidGtfsFactory.js.map +1 -1
  70. package/dist/integration-engine/shared/RopidMetadataModel.d.ts +5 -1
  71. package/dist/integration-engine/shared/RopidMetadataModel.js +9 -19
  72. package/dist/integration-engine/shared/RopidMetadataModel.js.map +1 -1
  73. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.d.ts +0 -3
  74. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js +0 -45
  75. package/dist/schema-definitions/ropid-gtfs/RopidGTFSPrecomputed.js.map +1 -1
  76. package/dist/schema-definitions/ropid-gtfs/models/AgencyDto.js +1 -1
  77. package/dist/schema-definitions/ropid-gtfs/models/AgencyDto.js.map +1 -1
  78. package/dist/schema-definitions/ropid-gtfs/models/CalendarDatesDto.js +1 -1
  79. package/dist/schema-definitions/ropid-gtfs/models/CalendarDatesDto.js.map +1 -1
  80. package/dist/schema-definitions/ropid-gtfs/models/CalendarDto.js +6 -6
  81. package/dist/schema-definitions/ropid-gtfs/models/CalendarDto.js.map +1 -1
  82. package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js +3 -3
  83. package/dist/schema-definitions/ropid-gtfs/models/RouteDto.js.map +1 -1
  84. package/dist/schema-definitions/ropid-gtfs/models/ShapeDto.js +2 -2
  85. package/dist/schema-definitions/ropid-gtfs/models/ShapeDto.js.map +1 -1
  86. package/dist/schema-definitions/ropid-gtfs/models/StopDto.d.ts +1 -2
  87. package/dist/schema-definitions/ropid-gtfs/models/StopDto.js +5 -25
  88. package/dist/schema-definitions/ropid-gtfs/models/StopDto.js.map +1 -1
  89. package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.d.ts +1 -2
  90. package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.js +3 -14
  91. package/dist/schema-definitions/ropid-gtfs/models/StopTimesDto.js.map +1 -1
  92. package/dist/schema-definitions/ropid-gtfs/models/TripDto.js +2 -2
  93. package/dist/schema-definitions/ropid-gtfs/models/TripDto.js.map +1 -1
  94. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.d.ts +1 -2
  95. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js +0 -14
  96. package/dist/schema-definitions/ropid-gtfs/models/precomputed/DeparturesModel.js.map +1 -1
  97. package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.d.ts +1 -2
  98. package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.js +0 -8
  99. package/dist/schema-definitions/vehicle-descriptors/models/DescriptorModel.js.map +1 -1
  100. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.d.ts +1 -2
  101. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js +0 -8
  102. package/dist/schema-definitions/vehicle-positions/models/VPTripsModel.js.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.d.ts +0 -36
  105. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js +0 -229
  106. package/dist/integration-engine/ropid-gtfs/RopidGTFSMetadataModel.js.map +0 -1
  107. package/dist/integration-engine/ropid-gtfs/utils.d.ts +0 -4
  108. package/dist/integration-engine/ropid-gtfs/utils.js +0 -28
  109. package/dist/integration-engine/ropid-gtfs/utils.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20230802143613-ropid-gtfs-update-procedures-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20230802143613-ropid-gtfs-update-procedures-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,7 @@
1
+ DROP PROCEDURE ropidgtfs_replaceAllSavedTables(in tableNames varchar(255));
2
+ DROP PROCEDURE ropidgtfs_prepareTmpTables();
3
+ DROP PROCEDURE ropidgtfs_hotswap(IN tableName varchar(255));
4
+ DROP PROCEDURE ropidgtfs_prepareTmpTable(IN tableName varchar(255));
5
+ DROP PROCEDURE ropidgtfs_cleanTmpTables();
6
+ DROP PROCEDURE ropidgtfs_cleanOldTables();
7
+ DROP PROCEDURE ropidgtfs_preparePrecomputedTmpTables();
@@ -0,0 +1,149 @@
1
+ CREATE OR REPLACE PROCEDURE ropidgtfs_hotswap(IN tableName varchar(255))
2
+ LANGUAGE plpgsql
3
+ SET search_path FROM CURRENT
4
+ AS $procedure$
5
+ declare
6
+ tableNameActual varchar(255);
7
+ tableNameTmp varchar(255);
8
+ tableNameDrop varchar(255);
9
+ begin
10
+ select tableName || '_actual' into tableNameActual;
11
+ select tableName || '_tmp' into tableNameTmp;
12
+ select tableName || '_old' into tableNameDrop;
13
+
14
+ EXECUTE format('LOCK %I IN EXCLUSIVE MODE', tableName);
15
+ EXECUTE format('ALTER TABLE %I NO INHERIT %I', tableNameActual, tableName);
16
+
17
+ EXECUTE format('ALTER TABLE %I ADD create_batch_id int8 NULL', tableNameTmp);
18
+ EXECUTE format('ALTER TABLE %I ADD COLUMN created_at timestamptz NULL DEFAULT now()', tableNameTmp);
19
+ EXECUTE format('ALTER TABLE %I ADD created_by varchar(150) NULL', tableNameTmp);
20
+ EXECUTE format('ALTER TABLE %I ADD update_batch_id int8 NULL', tableNameTmp);
21
+ EXECUTE format('ALTER TABLE %I ADD COLUMN updated_at timestamptz NULL DEFAULT now()', tableNameTmp);
22
+ EXECUTE format('ALTER TABLE %I ADD updated_by varchar(150) NULL', tableNameTmp);
23
+
24
+ EXECUTE format('ALTER TABLE %I RENAME TO %I', tableNameActual, tableNameDrop);
25
+ EXECUTE format('ALTER TABLE %I RENAME TO %I', tableNameTmp, tableNameActual);
26
+ EXECUTE format('ALTER TABLE %I INHERIT %I', tableNameActual, tableName);
27
+ EXECUTE format('DROP TABLE %I', tableNameDrop);
28
+ end;
29
+ $procedure$;
30
+
31
+
32
+ CREATE OR REPLACE PROCEDURE ropidgtfs_prepareTmpTable(IN tableName varchar(255))
33
+ LANGUAGE plpgsql
34
+ SET search_path FROM CURRENT
35
+ AS $procedure$
36
+ declare
37
+ tableNameActual varchar(255);
38
+ tableNameTmp varchar(255);
39
+ tableNameDrop varchar(255);
40
+ begin
41
+ select tableName || '_tmp' into tableNameTmp;
42
+
43
+
44
+ EXECUTE format('create table %I (like %I including all);', tableNameTmp, tableName);
45
+ EXECUTE format('ALTER TABLE %I drop COLUMN create_batch_id', tableNameTmp);
46
+ EXECUTE format('ALTER TABLE %I drop COLUMN created_at', tableNameTmp);
47
+ EXECUTE format('ALTER TABLE %I drop COLUMN created_by', tableNameTmp);
48
+ EXECUTE format('ALTER TABLE %I drop COLUMN update_batch_id', tableNameTmp);
49
+ EXECUTE format('ALTER TABLE %I drop COLUMN updated_at', tableNameTmp);
50
+ EXECUTE format('ALTER TABLE %I drop COLUMN updated_by', tableNameTmp);
51
+
52
+ end;
53
+ $procedure$;
54
+
55
+ CREATE OR REPLACE PROCEDURE ropidgtfs_replaceAllSavedTables(in tableNames varchar(255))
56
+ LANGUAGE plpgsql
57
+ SET search_path FROM CURRENT
58
+ AS $procedure$
59
+ declare
60
+ currentTable varchar(255);
61
+ begin
62
+ for currentTable in
63
+ select unnest(string_to_array(tableNames,','))
64
+ loop
65
+ call ropidgtfs_hotswap(currentTable);
66
+ end loop;
67
+ end;
68
+ $procedure$;
69
+
70
+ CREATE OR REPLACE PROCEDURE ropidgtfs_prepareTmpTables()
71
+ LANGUAGE plpgsql
72
+ SET search_path FROM CURRENT
73
+ AS $procedure$
74
+ begin
75
+ CALL ropidgtfs_cleanTmpTables();
76
+ CALL ropidgtfs_cleanOldTables();
77
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_agency');
78
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_calendar');
79
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_calendar_dates');
80
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_shapes');
81
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_stop_times');
82
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_stops');
83
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_routes');
84
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_trips');
85
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_cis_stops');
86
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_cis_stop_groups');
87
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_run_numbers');
88
+ CALL ropidgtfs_prepareTmpTable('ropidgtfs_ois');
89
+ alter table ropidgtfs_stop_times_tmp drop computed_dwell_time_seconds;
90
+ alter table ropidgtfs_stop_times_tmp add computed_dwell_time_seconds int2 NOT NULL GENERATED ALWAYS AS (pid.calculate_dwell_time_seconds(arrival_time, departure_time)) stored;
91
+ end
92
+ $procedure$;
93
+
94
+ CREATE OR REPLACE PROCEDURE ropidgtfs_preparePrecomputedTmpTables()
95
+ LANGUAGE plpgsql
96
+ SET search_path FROM CURRENT
97
+ AS $procedure$
98
+ begin
99
+ create table "ropidgtfs_precomputed_services_calendar_tmp" (like "ropidgtfs_precomputed_services_calendar" including all);
100
+ create table "ropidgtfs_precomputed_minmax_stop_sequences_tmp" (like "ropidgtfs_precomputed_minmax_stop_sequences" including all);
101
+ create table "ropidgtfs_precomputed_trip_schedule_tmp" (like "ropidgtfs_precomputed_trip_schedule" including all);
102
+ end
103
+ $procedure$;
104
+
105
+ CREATE OR REPLACE PROCEDURE ropidgtfs_cleanTmpTables()
106
+ LANGUAGE plpgsql
107
+ SET search_path FROM CURRENT
108
+ AS $procedure$
109
+ begin
110
+ drop table if exists "ropidgtfs_agency_tmp";
111
+ drop table if exists "ropidgtfs_calendar_tmp";
112
+ drop table if exists "ropidgtfs_calendar_dates_tmp";
113
+ drop table if exists "ropidgtfs_shapes_tmp";
114
+ drop table if exists "ropidgtfs_stop_times_tmp";
115
+ drop table if exists "ropidgtfs_stops_tmp";
116
+ drop table if exists "ropidgtfs_routes_tmp";
117
+ drop table if exists "ropidgtfs_trips_tmp";
118
+ drop table if exists "ropidgtfs_cis_stops_tmp";
119
+ drop table if exists "ropidgtfs_cis_stop_groups_tmp";
120
+ drop table if exists "ropidgtfs_run_numbers_tmp";
121
+ drop table if exists "ropidgtfs_ois_tmp";
122
+ drop table if exists "ropidgtfs_precomputed_services_calendar_tmp";
123
+ drop table if exists "ropidgtfs_precomputed_minmax_stop_sequences_tmp";
124
+ drop table if exists "ropidgtfs_precomputed_trip_schedule_tmp";
125
+ end
126
+ $procedure$;
127
+
128
+ CREATE OR REPLACE PROCEDURE ropidgtfs_cleanOldTables()
129
+ LANGUAGE plpgsql
130
+ SET search_path FROM CURRENT
131
+ AS $procedure$
132
+ begin
133
+ drop table if exists "ropidgtfs_agency_old";
134
+ drop table if exists "ropidgtfs_calendar_old";
135
+ drop table if exists "ropidgtfs_calendar_dates_old";
136
+ drop table if exists "ropidgtfs_shapes_old";
137
+ drop table if exists "ropidgtfs_stop_times_old";
138
+ drop table if exists "ropidgtfs_stops_old";
139
+ drop table if exists "ropidgtfs_routes_old";
140
+ drop table if exists "ropidgtfs_trips_old";
141
+ drop table if exists "ropidgtfs_cis_stops_old";
142
+ drop table if exists "ropidgtfs_cis_stop_groups_old";
143
+ drop table if exists "ropidgtfs_run_numbers_old";
144
+ drop table if exists "ropidgtfs_ois_old";
145
+ drop table if exists "ropidgtfs_precomputed_services_calendar_old";
146
+ drop table if exists "ropidgtfs_precomputed_minmax_stop_sequences_old";
147
+ drop table if exists "ropidgtfs_precomputed_trip_schedule_old";
148
+ end
149
+ $procedure$;
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PidContainer = void 0;
4
- const RopidGTFSMetadataModel_1 = require("../ropid-gtfs/RopidGTFSMetadataModel");
5
4
  const DeparturePresetsRepository_1 = require("../ropid-gtfs/data-access/DeparturePresetsRepository");
6
- const DeparturePresetsFacade_1 = require("../ropid-gtfs/facade/DeparturePresetsFacade");
7
5
  const RopidDeparturesPresetsTransformation_1 = require("../ropid-gtfs/transformations/RopidDeparturesPresetsTransformation");
8
6
  const PresetLogRepository_1 = require("../ropid-gtfs/workers/presets/data-access/PresetLogRepository");
9
7
  const PresetLogDataSourceFactory_1 = require("../ropid-gtfs/workers/presets/datasources/PresetLogDataSourceFactory");
@@ -22,7 +20,6 @@ PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.GrafanaLokiDat
22
20
  PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.PresetLogDataSourceFactory, PresetLogDataSourceFactory_1.PresetLogDataSourceFactory);
23
21
  //#endregion
24
22
  //#region Data Access
25
- PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel, RopidGTFSMetadataModel_1.RopidGTFSMetadataModel);
26
23
  PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsRepository, DeparturePresetsRepository_1.DeparturePresetsRepository);
27
24
  PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.PresetLogRepository, PresetLogRepository_1.PresetLogRepository);
28
25
  //#endregion
@@ -31,7 +28,6 @@ PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.RopidDeparture
31
28
  PidContainer.register(ModuleContainerToken_1.ModuleContainerToken.PresetLogTransformation, PresetLogTransformation_1.PresetLogTransformation);
32
29
  //#endregion
33
30
  //#region Helpers
34
- PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsFacade, DeparturePresetsFacade_1.DeparturePresetsFacade);
35
31
  PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.PresetLogFilter, LogFilter_1.LogFilter);
36
32
  PidContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.RopidMonitoringService, RopidMonitoringService_1.RopidMonitoringService);
37
33
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,iFAA+E;AAC/E,qGAAmG;AACnG,wFAAsF;AACtF,6HAA2H;AAC3H,uGAAqG;AACrG,qHAAmH;AACnH,wIAAsI;AACtI,+EAA6E;AAC7E,yGAAuG;AACvG,mHAAiH;AACjH,qEAA0F;AAE1F,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAyBnF,oCAAY;AAxBrB,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AAC5G,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC3F,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACnG,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACrF,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AACvH,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC7F,YAAY;AAEZ,iBAAiB;AACjB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACpG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,qBAAS,CAAC,CAAC;AAChF,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qGAAmG;AACnG,6HAA2H;AAC3H,uGAAqG;AACrG,qHAAmH;AACnH,wIAAsI;AACtI,+EAA6E;AAC7E,yGAAuG;AACvG,mHAAiH;AACjH,qEAA0F;AAE1F,iEAA8D;AAE9D,wBAAwB;AACxB,MAAM,YAAY,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAuBnF,oCAAY;AAtBrB,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AAC5G,YAAY;AAEZ,qBAAqB;AACrB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACnG,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACrF,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AACvH,YAAY,CAAC,QAAQ,CAAC,2CAAoB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC7F,YAAY;AAEZ,iBAAiB;AACjB,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,eAAe,EAAE,qBAAS,CAAC,CAAC;AAChF,YAAY,CAAC,iBAAiB,CAAC,2CAAoB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC"}
@@ -1,8 +1,6 @@
1
1
  declare const ModuleContainerToken: {
2
- RopidGTFSMetadataModel: symbol;
3
2
  DeparturePresetsRepository: symbol;
4
3
  RopidDeparturesPresetsTransformation: symbol;
5
- DeparturePresetsFacade: symbol;
6
4
  GrafanaLokiDataSourceProvider: symbol;
7
5
  PresetLogDataSourceFactory: symbol;
8
6
  PresetLogTransformation: symbol;
@@ -2,10 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleContainerToken = void 0;
4
4
  const ModuleContainerToken = {
5
- RopidGTFSMetadataModel: Symbol(),
6
5
  DeparturePresetsRepository: Symbol(),
7
6
  RopidDeparturesPresetsTransformation: Symbol(),
8
- DeparturePresetsFacade: Symbol(),
9
7
  GrafanaLokiDataSourceProvider: Symbol(),
10
8
  PresetLogDataSourceFactory: Symbol(),
11
9
  PresetLogTransformation: Symbol(),
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,sBAAsB,EAAE,MAAM,EAAE;IAChC,0BAA0B,EAAE,MAAM,EAAE;IACpC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,sBAAsB,EAAE,MAAM,EAAE;IAChC,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IACpC,uBAAuB,EAAE,MAAM,EAAE;IACjC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,eAAe,EAAE,MAAM,EAAE;IACzB,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
1
+ {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,0BAA0B,EAAE,MAAM,EAAE;IACpC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IACpC,uBAAuB,EAAE,MAAM,EAAE;IACjC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,eAAe,EAAE,MAAM,EAAE;IACzB,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
@@ -5,7 +5,7 @@ export interface IDeparturesPresetsData {
5
5
  }
6
6
  export declare class LegacyRopidGTFSWorker extends BaseWorker {
7
7
  private dataSourceDeparturesPresets;
8
- private metaModel;
8
+ private metadataRepository;
9
9
  private readonly queuePrefix;
10
10
  constructor();
11
11
  /**
@@ -10,8 +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.LegacyRopidGTFSWorker = void 0;
13
- const Di_1 = require("../ioc/Di");
14
- const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
15
13
  const ropid_departures_presets_1 = require("../../schema-definitions/ropid-departures-presets");
16
14
  const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
17
15
  const config_1 = require("@golemio/core/dist/integration-engine/config");
@@ -21,7 +19,8 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
21
19
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
22
20
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
23
21
  const _1 = require(".");
24
- const Di_2 = require("./ioc/Di");
22
+ const Di_1 = require("./ioc/Di");
23
+ const RopidGtfsContainerToken_1 = require("./ioc/RopidGtfsContainerToken");
25
24
  class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
26
25
  constructor() {
27
26
  super();
@@ -32,7 +31,7 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
32
31
  // checking DEPARTURES_PRESETS dataset
33
32
  try {
34
33
  const departuresPresetsServerLastModified = yield this.dataSourceDeparturesPresets.getLastModified();
35
- const departuresPresetsDbLastModified = yield this.metaModel.getLastModified(_1.DatasetEnum.DEPARTURES_PRESETS);
34
+ const departuresPresetsDbLastModified = yield this.metadataRepository.getLastModified(_1.DatasetEnum.DEPARTURES_PRESETS);
36
35
  if (departuresPresetsServerLastModified !== departuresPresetsDbLastModified.lastModified) {
37
36
  yield this.sendMessageToExchange("workers." + this.queuePrefix + ".downloadDeparturesPresets", "Just do it!");
38
37
  }
@@ -53,7 +52,7 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
53
52
  try {
54
53
  const file = yield this.dataSourceDeparturesPresets.getAll();
55
54
  const lastModified = yield this.dataSourceDeparturesPresets.getLastModified();
56
- const facade = Di_1.PidContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.DeparturePresetsFacade);
55
+ const facade = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade);
57
56
  yield facade.handleNewDeparturePresets(file.data, lastModified);
58
57
  }
59
58
  catch (err) {
@@ -61,12 +60,11 @@ class LegacyRopidGTFSWorker extends workers_1.BaseWorker {
61
60
  throw err;
62
61
  }
63
62
  else {
64
- throw new golemio_errors_1.GeneralError("Error while downloading departures presets", this.constructor.name, err);
63
+ throw new golemio_errors_1.GeneralError("Error while downloading departures presets: " + err.message, this.constructor.name, err);
65
64
  }
66
65
  }
67
66
  });
68
- // MetaData Model
69
- this.metaModel = Di_2.RopidGtfsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RopidGTFSMetadataModel);
67
+ this.metadataRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository);
70
68
  // Ropid Departures Presets
71
69
  this.dataSourceDeparturesPresets = new RetryDataSource_1.RetryDataSource(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", new datasources_1.FTPProtocolStrategy({
72
70
  filename: config_1.config.datasources.RopidDeparturesPresetsFilename,
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyRopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kCAA0C;AAC1C,sEAAoE;AACpE,gGAA+F;AAC/F,oEAA4C;AAC5C,yEAAsE;AACtE,mFAA0H;AAC1H,uGAAoG;AACpG,2EAA2E;AAC3E,6EAA8F;AAC9F,mFAAkF;AAClF,wBAAwD;AAExD,iCAA8C;AAM9C,MAAa,qBAAsB,SAAQ,oBAAU;IAKjD;QACI,KAAK,EAAE,CAAC;QAqBZ;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,IAAI;gBACA,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;gBAC7G,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;oBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;iBACjH;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACzG;aACJ;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;gBACrF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAE9E,MAAM,MAAM,GAAG,iBAAY,CAAC,OAAO,CAAyB,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;gBACzG,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACnE;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,4CAA4C,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACpG;aACJ;QACL,CAAC,CAAA,CAAC;QAxDE,iBAAiB;QACjB,IAAI,CAAC,SAAS,GAAG,uBAAkB,CAAC,OAAO,CAAyB,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QAEjH,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,iCAAe,CAClD,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;CAwCJ;AAjED,sDAiEC"}
1
+ {"version":3,"file":"LegacyRopidGTFSWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gGAA+F;AAC/F,oEAA4C;AAC5C,yEAAsE;AACtE,mFAA0H;AAC1H,uGAAoG;AACpG,2EAA2E;AAC3E,6EAA8F;AAC9F,mFAAkF;AAClF,wBAAgC;AAGhC,iCAA8C;AAC9C,2EAAwE;AAMxE,MAAa,qBAAsB,SAAQ,oBAAU;IAKjD;QACI,KAAK,EAAE,CAAC;QAqBZ;;WAEG;QACI,iCAA4B,GAAG,GAAwB,EAAE;YAC5D,sCAAsC;YACtC,IAAI;gBACA,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBACrG,MAAM,+BAA+B,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,cAAW,CAAC,kBAAkB,CAAC,CAAC;gBACtH,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;oBACtF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAAE,aAAa,CAAC,CAAC;iBACjH;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACzG;aACJ;QACL,CAAC,CAAA,CAAC;QAEF;;WAEG;QACI,8BAAyB,GAAG,GAAwB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,GAA2B,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;gBACrF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAE9E,MAAM,MAAM,GAAG,uBAAkB,CAAC,OAAO,CAAyB,iDAAuB,CAAC,sBAAsB,CAAC,CAAC;gBAClH,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACnE;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,8CAA8C,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACpH;aACJ;QACL,CAAC,CAAA,CAAC;QAzDE,IAAI,CAAC,kBAAkB,GAAG,uBAAkB,CAAC,OAAO,CAChD,iDAAuB,CAAC,2BAA2B,CACtD,CAAC;QAEF,2BAA2B;QAC3B,IAAI,CAAC,2BAA2B,GAAG,IAAI,iCAAe,CAClD,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,iCAAmB,CAAC;YACpB,QAAQ,EAAE,eAAM,CAAC,WAAW,CAAC,8BAA8B;YAC3D,IAAI,EAAE,eAAM,CAAC,WAAW,CAAC,0BAA0B;YACnD,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,QAAQ;YAChC,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACxF,CAAC;CAwCJ;AAjED,sDAiEC"}
@@ -0,0 +1,30 @@
1
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
2
+ import { Transaction } from "@golemio/core/dist/shared/sequelize";
3
+ import { RopidGtfsRepository } from "./data-access/RopidGtfsRepository";
4
+ import { RopidGtfsMetadataRepository } from "./RopidGtfsMetadataRepository";
5
+ export declare enum DatasetEnum {
6
+ PID_GTFS = "PID_GTFS",
7
+ CIS_STOPS = "CIS_STOPS",
8
+ OIS_MAPPING = "OIS_MAPPING",
9
+ RUN_NUMBERS = "RUN_NUMBERS",
10
+ DEPARTURES_PRESETS = "DEPARTURES_PRESETS"
11
+ }
12
+ export declare class RopidGtfsFacade {
13
+ private ropidGtfsRepository;
14
+ private ropidGtfsMetadataRepository;
15
+ private databaseConnector;
16
+ private name;
17
+ /** Precomputed data repositories */
18
+ private departuresRepository;
19
+ private minMaxStopSequencesRepository;
20
+ private tripScheduleRepository;
21
+ private servicesCalendarRepository;
22
+ constructor(ropidGtfsRepository: RopidGtfsRepository, ropidGtfsMetadataRepository: RopidGtfsMetadataRepository, databaseConnector: IDatabaseConnector);
23
+ checkSavedTmpTables: (dataset: string, version: number) => Promise<void>;
24
+ replaceTables: (datasetInfo: Array<{
25
+ dataset: string;
26
+ version: number;
27
+ }>) => Promise<boolean>;
28
+ private replaceStaticTables;
29
+ replacePrecomputedTables: (t: Transaction) => Promise<void>;
30
+ }
@@ -0,0 +1,152 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RopidGtfsFacade = exports.DatasetEnum = void 0;
28
+ const precomputed_1 = require("./data-access/precomputed");
29
+ const shared_1 = require("../shared");
30
+ const const_1 = require("../../schema-definitions/const");
31
+ const ropid_gtfs_1 = require("../../schema-definitions/ropid-gtfs");
32
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
33
+ const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
34
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
35
+ const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
36
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
37
+ const RopidGtfsRepository_1 = require("./data-access/RopidGtfsRepository");
38
+ const SourceTableSuffixEnum_1 = require("./helpers/SourceTableSuffixEnum");
39
+ const RopidGtfsContainerToken_1 = require("./ioc/RopidGtfsContainerToken");
40
+ const HelperTypes_1 = require("./workers/timetables/tasks/helpers/HelperTypes");
41
+ const RopidGtfsMetadataRepository_1 = require("./RopidGtfsMetadataRepository");
42
+ var DatasetEnum;
43
+ (function (DatasetEnum) {
44
+ DatasetEnum["PID_GTFS"] = "PID_GTFS";
45
+ DatasetEnum["CIS_STOPS"] = "CIS_STOPS";
46
+ DatasetEnum["OIS_MAPPING"] = "OIS_MAPPING";
47
+ DatasetEnum["RUN_NUMBERS"] = "RUN_NUMBERS";
48
+ DatasetEnum["DEPARTURES_PRESETS"] = "DEPARTURES_PRESETS";
49
+ })(DatasetEnum || (exports.DatasetEnum = DatasetEnum = {}));
50
+ let RopidGtfsFacade = exports.RopidGtfsFacade = class RopidGtfsFacade {
51
+ constructor(ropidGtfsRepository, ropidGtfsMetadataRepository, databaseConnector) {
52
+ this.ropidGtfsRepository = ropidGtfsRepository;
53
+ this.ropidGtfsMetadataRepository = ropidGtfsMetadataRepository;
54
+ this.databaseConnector = databaseConnector;
55
+ this.name = this.constructor.name;
56
+ this.checkSavedTmpTables = (dataset, version) => __awaiter(this, void 0, void 0, function* () {
57
+ const tables = yield this.ropidGtfsMetadataRepository.getAllSaved(dataset, version);
58
+ const tablesArray = [];
59
+ tables.map((table) => {
60
+ tablesArray.push(`'${ropid_gtfs_1.RopidGTFS[table.dataValues.tn].pgTableName}${SourceTableSuffixEnum_1.SourceTableSuffixEnum.Tmp}'`);
61
+ });
62
+ const connection = this.databaseConnector.getConnection();
63
+ const result = yield connection.query(`
64
+ SELECT table_name AS name, count_rows(table_schema, table_name) AS total
65
+ FROM information_schema.tables
66
+ WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
67
+ AND table_type = 'BASE TABLE'
68
+ AND table_name in (${tablesArray.join(",")})
69
+ AND table_schema = '${const_1.PG_SCHEMA}';
70
+ `, { type: sequelize_1.default.QueryTypes.SELECT });
71
+ helpers_1.log.info(`Datasets: total rows for ${dataset}: ${JSON.stringify(result)}`);
72
+ if (!result || !result.length || result.some((table) => table.total === 0)) {
73
+ throw new golemio_errors_1.GeneralError("Empty table found", this.constructor.name);
74
+ }
75
+ });
76
+ this.replaceTables = (datasetInfo) => __awaiter(this, void 0, void 0, function* () {
77
+ const tables = yield this.ropidGtfsMetadataRepository.find({
78
+ attributes: [[sequelize_1.default.literal(`DISTINCT "key"`), "tn"]],
79
+ where: {
80
+ [sequelize_1.default.Op.or]: datasetInfo.map((item) => ({
81
+ dataset: item.dataset,
82
+ type: shared_1.MetaTypeEnum.STATE,
83
+ value: shared_1.MetaStateEnum.SAVED,
84
+ version: item.version,
85
+ })),
86
+ },
87
+ });
88
+ const connection = this.databaseConnector.getConnection();
89
+ const t = yield connection.transaction();
90
+ try {
91
+ yield this.replaceStaticTables(tables, t);
92
+ yield this.replacePrecomputedTables(t);
93
+ // save meta
94
+ yield this.ropidGtfsMetadataRepository.bulkCreate(datasetInfo.map((el) => ({
95
+ dataset: el.dataset,
96
+ key: shared_1.MetaDatasetInfoKeyEnum.DEPLOYED,
97
+ type: shared_1.MetaTypeEnum.DATASET_INFO,
98
+ value: "true",
99
+ version: el.version,
100
+ })), { transaction: t });
101
+ yield this.ropidGtfsMetadataRepository.destroy({
102
+ transaction: t,
103
+ where: {
104
+ [sequelize_1.default.Op.or]: datasetInfo.map((item) => ({
105
+ dataset: item.dataset,
106
+ version: {
107
+ [sequelize_1.default.Op.and]: [
108
+ // delete all versions older than ten versions back
109
+ { [sequelize_1.default.Op.lt]: item.version - 10 },
110
+ { [sequelize_1.default.Op.ne]: -1 },
111
+ ],
112
+ },
113
+ })),
114
+ },
115
+ });
116
+ yield t.commit();
117
+ return true;
118
+ }
119
+ catch (err) {
120
+ helpers_1.log.error(err);
121
+ yield t.rollback();
122
+ helpers_1.log.error(`Datasets: replacing failed ${err.toString()}`);
123
+ throw new golemio_errors_1.GeneralError(this.name + ": replaceTables() failed.", undefined, err);
124
+ }
125
+ });
126
+ this.replaceStaticTables = (tables, t) => __awaiter(this, void 0, void 0, function* () {
127
+ const tablesArray = tables.map((table) => (0, HelperTypes_1.getTableNameFromModel)(table.dataValues.tn));
128
+ yield this.ropidGtfsRepository.replaceAllTable(tablesArray, t);
129
+ });
130
+ this.replacePrecomputedTables = (t) => __awaiter(this, void 0, void 0, function* () {
131
+ yield this.ropidGtfsRepository.replaceAllTable([
132
+ this.servicesCalendarRepository["tableName"],
133
+ this.minMaxStopSequencesRepository["tableName"],
134
+ this.tripScheduleRepository["tableName"],
135
+ ], t);
136
+ yield this.departuresRepository.replaceByTmp(t);
137
+ });
138
+ this.departuresRepository = new precomputed_1.DeparturesRepository();
139
+ this.minMaxStopSequencesRepository = new precomputed_1.MinMaxStopSequencesRepository();
140
+ this.tripScheduleRepository = new precomputed_1.TripScheduleRepository();
141
+ this.servicesCalendarRepository = new precomputed_1.ServicesCalendarRepository();
142
+ }
143
+ };
144
+ exports.RopidGtfsFacade = RopidGtfsFacade = __decorate([
145
+ (0, tsyringe_1.injectable)(),
146
+ __param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository)),
147
+ __param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
148
+ __param(2, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
149
+ __metadata("design:paramtypes", [RopidGtfsRepository_1.RopidGtfsRepository,
150
+ RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository, Object])
151
+ ], RopidGtfsFacade);
152
+ //# sourceMappingURL=RopidGtfsFacade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidGtfsFacade.js","sourceRoot":"","sources":["../../../src/integration-engine/ropid-gtfs/RopidGtfsFacade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { MetaStateEnum, RopidMetadataModel } from "../shared";
2
+ import { BulkCreateOptions, DestroyOptions } from "@golemio/core/dist/shared/sequelize";
3
+ export declare enum DatasetEnum {
4
+ PID_GTFS = "PID_GTFS",
5
+ CIS_STOPS = "CIS_STOPS",
6
+ OIS_MAPPING = "OIS_MAPPING",
7
+ RUN_NUMBERS = "RUN_NUMBERS",
8
+ DEPARTURES_PRESETS = "DEPARTURES_PRESETS"
9
+ }
10
+ export declare class RopidGtfsMetadataRepository extends RopidMetadataModel {
11
+ constructor();
12
+ getAllSaved: (dataset: string, version: number) => Promise<any[]>;
13
+ checkAllTablesHasSavedState: (datasets: Array<{
14
+ dataset: string;
15
+ version: number;
16
+ }>) => Promise<boolean>;
17
+ checkIfNewVersionIsAlreadyDeployed: (dataset: string, version: number) => Promise<boolean>;
18
+ updateState: (dataset: string, name: string, state: MetaStateEnum, version: number) => Promise<any>;
19
+ getNumberOfDownloadRetries: (dataset: string, version: number) => Promise<number>;
20
+ bulkCreate: (data: any[], options: BulkCreateOptions) => Promise<void>;
21
+ destroy: (options: DestroyOptions) => Promise<void>;
22
+ }