@golemio/pid 2.13.3 → 2.13.4-dev.1297412603

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 (94) hide show
  1. package/db/migrations/postgresql/20240519214722-data-retention-valid-to-check.js +53 -0
  2. package/db/migrations/postgresql/sqls/20240519214722-data-retention-valid-to-check-down.sql +76 -0
  3. package/db/migrations/postgresql/sqls/20240519214722-data-retention-valid-to-check-up.sql +76 -0
  4. package/dist/integration-engine/index.d.ts +0 -1
  5. package/dist/integration-engine/index.js +0 -4
  6. package/dist/integration-engine/index.js.map +1 -1
  7. package/dist/integration-engine/ropid-gtfs/index.d.ts +0 -1
  8. package/dist/integration-engine/ropid-gtfs/index.js +0 -1
  9. package/dist/integration-engine/ropid-gtfs/index.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +6 -0
  11. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  12. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +3 -0
  13. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +3 -0
  14. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  15. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.d.ts +3 -1
  16. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js +8 -0
  17. package/dist/integration-engine/ropid-gtfs/workers/presets/PresetWorker.js.map +1 -1
  18. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.d.ts +12 -0
  19. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js +44 -0
  20. package/dist/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.js.map +1 -0
  21. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.d.ts +11 -0
  22. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js +69 -0
  23. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.js.map +1 -0
  24. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.d.ts +11 -0
  25. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js +66 -0
  26. package/dist/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.js.map +1 -0
  27. package/dist/integration-engine/vehicle-positions/ioc/Di.js +14 -0
  28. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  29. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +7 -0
  30. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +7 -0
  31. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  32. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -8
  33. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.d.ts +4 -2
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js +14 -3
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/BusMessageFilter.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js +2 -2
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/CommonMessageProcessor.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.d.ts +6 -0
  40. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js +38 -0
  41. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TimestampValidator.js.map +1 -0
  42. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.d.ts +5 -2
  43. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js +15 -3
  44. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/TramMessageFilter.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/interfaces/ICommonMessageFilter.d.ts +1 -1
  46. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +4 -5
  47. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +16 -22
  48. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  49. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +4 -4
  50. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +4 -3
  51. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -1
  52. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +1 -1
  53. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +2 -2
  54. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/MetroRunsMessageInterfaces.d.ts +3 -0
  55. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +4 -0
  56. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js +4 -0
  57. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusTransformedRunsSchema.js.map +1 -1
  58. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.d.ts +1 -1
  59. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js +19 -5
  60. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.d.ts +2 -2
  62. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js +11 -2
  63. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDBTask.js.map +1 -1
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.d.ts +1 -1
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js +21 -8
  66. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveBusRunsToDBTask.js.map +1 -1
  67. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.d.ts +5 -1
  68. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +42 -8
  69. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js.map +1 -1
  70. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.d.ts +1 -1
  71. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js +21 -8
  72. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveTramRunsToDBTask.js.map +1 -1
  73. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js +20 -6
  74. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/CommonRunsMessagesTransformation.js.map +1 -1
  75. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.d.ts +2 -2
  76. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js +1 -1
  77. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/MetroRunsMessagesTransformation.js.map +1 -1
  78. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +1 -0
  79. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -1
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.d.ts +0 -1
  81. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js +0 -1
  82. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/RefreshPublicStopTimeCacheTask.js.map +1 -1
  83. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  84. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  85. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  86. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +1 -0
  87. package/docs/implementation_documentation.md +32 -1
  88. package/package.json +2 -2
  89. package/dist/integration-engine/queueDefinitions.d.ts +0 -6
  90. package/dist/integration-engine/queueDefinitions.js +0 -40
  91. package/dist/integration-engine/queueDefinitions.js.map +0 -1
  92. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.d.ts +0 -19
  93. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.js +0 -79
  94. package/dist/integration-engine/ropid-gtfs/LegacyRopidGTFSWorker.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', '20240519214722-data-retention-valid-to-check-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', '20240519214722-data-retention-valid-to-check-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,76 @@
1
+ CREATE OR REPLACE PROCEDURE vehiclepositions_data_retention(inout numberOfRows int, in dataRetentionMinutes int)
2
+ LANGUAGE plpgsql
3
+ SET search_path FROM CURRENT
4
+ AS $procedure$
5
+ declare
6
+ idsForDelete varchar(255)[];
7
+ begin
8
+ select array_agg(t.id) from vehiclepositions_trips t
9
+ left join vehiclepositions_positions p on
10
+ p.id = t.last_position_id
11
+ where
12
+ p.valid_to < (NOW() - (dataRetentionMinutes || ' minutes')::interval)
13
+ or (gtfs_trip_id is null and p.created_at < NOW() - (dataRetentionMinutes || ' minutes')::interval) -- entries with valid to is null
14
+ into idsForDelete;
15
+
16
+ INSERT INTO vehiclepositions_trips_history
17
+ select * from vehiclepositions_trips where id = ANY(idsForDelete)
18
+ on conflict do nothing;
19
+
20
+ INSERT INTO vehiclepositions_positions_history
21
+ select * from vehiclepositions_positions where trips_id = ANY(idsForDelete)
22
+ on conflict do nothing;
23
+
24
+ insert into vehiclepositions_stop_times_history (
25
+ rt_trip_id,
26
+ gtfs_date,
27
+ gtfs_trip_id,
28
+ gtfs_direction_id,
29
+ gtfs_route_short_name,
30
+ gtfs_route_type,
31
+ run_number,
32
+ vehicle_registration_number,
33
+ gtfs_stop_id,
34
+ gtfs_stop_sequence,
35
+ current_stop_arrival,
36
+ current_stop_departure,
37
+ current_stop_arr_delay,
38
+ current_stop_dep_delay,
39
+ created_at,
40
+ updated_at,
41
+ origin_route_name
42
+ )
43
+ select
44
+ rt_trip.id,
45
+ rt_trip.gtfs_date,
46
+ rt_trip.gtfs_trip_id,
47
+ rt_trip.gtfs_direction_id,
48
+ rt_trip.gtfs_route_short_name,
49
+ rt_trip.gtfs_route_type,
50
+ rt_trip.run_number,
51
+ rt_trip.vehicle_registration_number,
52
+ stop_time.stop_id,
53
+ stop_time.stop_sequence,
54
+ stop_time.stop_arrival,
55
+ stop_time.stop_departure,
56
+ stop_time.stop_arr_delay,
57
+ stop_time.stop_dep_delay,
58
+ now(),
59
+ now(),
60
+ rt_trip.origin_route_name
61
+ from
62
+ vehiclepositions_trips rt_trip
63
+ join
64
+ v_vehiclepositions_past_stop_times stop_time on stop_time.rt_trip_id = rt_trip.id
65
+ where
66
+ rt_trip.id = ANY(idsForDelete)
67
+ on conflict do nothing;
68
+
69
+
70
+ delete from vehiclepositions_positions where trips_id = ANY(idsForDelete);
71
+ delete from vehiclepositions_trips where id = ANY(idsForDelete);
72
+ delete from vehiclepositions_cis_stops where rt_trip_id = ANY(idsForDelete);
73
+
74
+ select array_length(idsForDelete,1) into numberOfRows;
75
+ end;
76
+ $procedure$;
@@ -0,0 +1,76 @@
1
+ CREATE OR REPLACE PROCEDURE vehiclepositions_data_retention(inout numberOfRows int, in dataRetentionMinutes int)
2
+ LANGUAGE plpgsql
3
+ SET search_path FROM CURRENT
4
+ AS $procedure$
5
+ declare
6
+ idsForDelete varchar(255)[];
7
+ begin
8
+ select array_agg(t.id) from vehiclepositions_trips t
9
+ left join vehiclepositions_positions p on
10
+ p.id = t.last_position_id
11
+ where
12
+ p.valid_to < (NOW() - (dataRetentionMinutes || ' minutes')::interval)
13
+ or (t.gtfs_trip_id is null and p.valid_to is null and p.updated_at < NOW() - (dataRetentionMinutes || ' minutes')::interval) -- entries with valid to is null
14
+ into idsForDelete;
15
+
16
+ INSERT INTO vehiclepositions_trips_history
17
+ select * from vehiclepositions_trips where id = ANY(idsForDelete)
18
+ on conflict do nothing;
19
+
20
+ INSERT INTO vehiclepositions_positions_history
21
+ select * from vehiclepositions_positions where trips_id = ANY(idsForDelete)
22
+ on conflict do nothing;
23
+
24
+ insert into vehiclepositions_stop_times_history (
25
+ rt_trip_id,
26
+ gtfs_date,
27
+ gtfs_trip_id,
28
+ gtfs_direction_id,
29
+ gtfs_route_short_name,
30
+ gtfs_route_type,
31
+ run_number,
32
+ vehicle_registration_number,
33
+ gtfs_stop_id,
34
+ gtfs_stop_sequence,
35
+ current_stop_arrival,
36
+ current_stop_departure,
37
+ current_stop_arr_delay,
38
+ current_stop_dep_delay,
39
+ created_at,
40
+ updated_at,
41
+ origin_route_name
42
+ )
43
+ select
44
+ rt_trip.id,
45
+ rt_trip.gtfs_date,
46
+ rt_trip.gtfs_trip_id,
47
+ rt_trip.gtfs_direction_id,
48
+ rt_trip.gtfs_route_short_name,
49
+ rt_trip.gtfs_route_type,
50
+ rt_trip.run_number,
51
+ rt_trip.vehicle_registration_number,
52
+ stop_time.stop_id,
53
+ stop_time.stop_sequence,
54
+ stop_time.stop_arrival,
55
+ stop_time.stop_departure,
56
+ stop_time.stop_arr_delay,
57
+ stop_time.stop_dep_delay,
58
+ now(),
59
+ now(),
60
+ rt_trip.origin_route_name
61
+ from
62
+ vehiclepositions_trips rt_trip
63
+ join
64
+ v_vehiclepositions_past_stop_times stop_time on stop_time.rt_trip_id = rt_trip.id
65
+ where
66
+ rt_trip.id = ANY(idsForDelete)
67
+ on conflict do nothing;
68
+
69
+
70
+ delete from vehiclepositions_positions where trips_id = ANY(idsForDelete);
71
+ delete from vehiclepositions_trips where id = ANY(idsForDelete);
72
+ delete from vehiclepositions_cis_stops where rt_trip_id = ANY(idsForDelete);
73
+
74
+ select array_length(idsForDelete,1) into numberOfRows;
75
+ end;
76
+ $procedure$;
@@ -1,5 +1,4 @@
1
1
  import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
- export * from "./queueDefinitions";
3
2
  export * as RopidGTFS from "./ropid-gtfs";
4
3
  export * as RopidVYMI from "./ropid-vymi";
5
4
  export * as VehiclePositions from "./vehicle-positions";
@@ -15,9 +15,6 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
18
  var __importStar = (this && this.__importStar) || function (mod) {
22
19
  if (mod && mod.__esModule) return mod;
23
20
  var result = {};
@@ -33,7 +30,6 @@ const RailtrackWorker_1 = require("./ropid-gtfs/workers/railtrack/RailtrackWorke
33
30
  const TimetableWorker_1 = require("./ropid-gtfs/workers/timetables/TimetableWorker");
34
31
  const RopidVYMIWorker_1 = require("./ropid-vymi/workers/RopidVYMIWorker");
35
32
  const vehicle_positions_1 = require("./vehicle-positions");
36
- __exportStar(require("./queueDefinitions"), exports);
37
33
  exports.RopidGTFS = __importStar(require("./ropid-gtfs"));
38
34
  exports.RopidVYMI = __importStar(require("./ropid-vymi"));
39
35
  exports.VehiclePositions = __importStar(require("./vehicle-positions"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAuD;AACvD,4EAAyE;AACzE,oFAAiF;AACjF,qFAAkF;AAClF,0EAAuE;AACvE,2DAAiG;AAEjG,qDAAmC;AACnC,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AAE3C,QAAA,OAAO,GAAoC;IACpD,2BAA2B;IAC3B,4BAAQ;IACR,oCAAgB;IAChB,8BAAU;IACV,sCAAkB;IAClB,YAAY;IAEZ,oBAAoB;IACpB,iCAAe;IACf,2BAAY;IACZ,iCAAe;IACf,YAAY;IAEZ,oBAAoB;IACpB,iCAAe;IACf,YAAY;IAEZ,wBAAwB;IACxB,oCAAmB;IACnB,YAAY;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAuD;AACvD,4EAAyE;AACzE,oFAAiF;AACjF,qFAAkF;AAClF,0EAAuE;AACvE,2DAAiG;AAEjG,0DAA0C;AAC1C,0DAA0C;AAC1C,wEAAwD;AAE3C,QAAA,OAAO,GAAoC;IACpD,2BAA2B;IAC3B,4BAAQ;IACR,oCAAgB;IAChB,8BAAU;IACV,sCAAkB;IAClB,YAAY;IAEZ,oBAAoB;IACpB,iCAAe;IACf,2BAAY;IACZ,iCAAe;IACf,YAAY;IAEZ,oBAAoB;IACpB,iCAAe;IACf,YAAY;IAEZ,wBAAwB;IACxB,oCAAmB;IACnB,YAAY;CACf,CAAC"}
@@ -3,7 +3,6 @@ export * from "./transformations/RopidGTFSCisStopsTransformation";
3
3
  export * from "./transformations/RopidGTFSTransformation";
4
4
  export * from "./RopidGTFSTripsModel";
5
5
  export * from "./RopidGtfsFacade";
6
- export * from "./LegacyRopidGTFSWorker";
7
6
  export * from "./RopidGTFSStopTimesModel";
8
7
  export * from "./RopidGTFSStopsModel";
9
8
  export * from "./RopidGTFSShapesModel";
@@ -19,7 +19,6 @@ __exportStar(require("./transformations/RopidGTFSCisStopsTransformation"), expor
19
19
  __exportStar(require("./transformations/RopidGTFSTransformation"), exports);
20
20
  __exportStar(require("./RopidGTFSTripsModel"), exports);
21
21
  __exportStar(require("./RopidGtfsFacade"), exports);
22
- __exportStar(require("./LegacyRopidGTFSWorker"), exports);
23
22
  __exportStar(require("./RopidGTFSStopTimesModel"), exports);
24
23
  __exportStar(require("./RopidGTFSStopsModel"), exports);
25
24
  __exportStar(require("./RopidGTFSShapesModel"), 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,oDAAkC;AAClC,0DAAwC;AACxC,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"}
@@ -19,12 +19,16 @@ const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tas
19
19
  const PrecomputedTablesFacade_1 = require("../workers/timetables/tasks/helpers/PrecomputedTablesFacade");
20
20
  const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtfsFactory");
21
21
  const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
22
+ const DeparturesPresetsDatasource_1 = require("../workers/presets/data-access/DeparturesPresetsDatasource");
23
+ const CheckForNewDeparturesPresetsTask_1 = require("../workers/presets/tasks/CheckForNewDeparturesPresetsTask");
24
+ const DownloadDeparturesPresetsTask_1 = require("../workers/presets/tasks/DownloadDeparturesPresetsTask");
22
25
  //#region Initialization
23
26
  const RopidGtfsContainer = Di_1.PidContainer.createChildContainer();
24
27
  exports.RopidGtfsContainer = RopidGtfsContainer;
25
28
  //#endregion
26
29
  //#region Datasources
27
30
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.BlockStopsRedisRepository, BlockStopsRedisRepository_1.BlockStopsRedisRepository);
31
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturesPresetsDataSource, DeparturesPresetsDatasource_1.DeparturesPresetsDataSource);
28
32
  //#endregion
29
33
  //#region Repositories
30
34
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository, StaticFileRedisRepository_1.StaticFileRedisRepository).registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository, RopidGtfsRepository_1.RopidGtfsRepository);
@@ -45,4 +49,6 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
45
49
  //#endregion
46
50
  //#region Tasks
47
51
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RefreshPublicGtfsDepartureCacheTask, RefreshPublicGtfsDepartureCacheTask_1.RefreshPublicGtfsDepartureCacheTask);
52
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DownloadDeparturesPresetsTask, DownloadDeparturesPresetsTask_1.DownloadDeparturesPresetsTask);
53
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask, CheckForNewDeparturesPresetsTask_1.CheckForNewDeparturesPresetsTask);
48
54
  //# 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,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AAEpE,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAyC3E,gDAAkB;AAxC3B,YAAY;AAEZ,qBAAqB;AACrB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACnH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,yBAAyB,EACjD,qDAAyB,CAC5B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC9G,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,kCAAoB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAClH,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,kCAAkC,EAC1D,uEAAkC,CACrC,CAAC;AACF,YAAY;AAEZ,gBAAgB;AAChB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/F,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzG,QAAQ,CAAC,iDAAuB,CAAC,gBAAgB,EAAE,mCAAgB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;KACxG,gBAAgB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC7G,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,mCAAmC,EAC3D,yEAAmC,CACtC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,uEAA4C;AAC5C,qFAA8F;AAC9F,iEAAoF;AACpF,wDAAqD;AACrD,gFAA6E;AAC7E,4EAAyE;AACzE,8FAA2F;AAC3F,sGAAmG;AACnG,8FAA2F;AAC3F,4DAAkE;AAClE,6EAA0E;AAC1E,8GAA2G;AAC3G,wFAAqF;AACrF,yHAAsH;AACtH,yGAAsG;AACtG,2FAAwF;AACxF,uEAAoE;AACpE,4GAAyG;AACzG,gHAA6G;AAC7G,0GAAuG;AAEvG,wBAAwB;AACxB,MAAM,kBAAkB,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA6C3E,gDAAkB;AA5C3B,YAAY;AAEZ,qBAAqB;AACrB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACnH,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AACvH,YAAY;AAEZ,sBAAsB;AACtB,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,yBAAyB,EACjD,qDAAyB,CAC5B,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AACtF,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,2BAA2B,EAAE,yDAA2B,CAAC,CAAC;AAC9G,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,mBAAmB,EAAE,kCAAoB,CAAC,CAAC;AAC/F,kBAAkB,CAAC,QAAQ,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAClH,YAAY;AAEZ,yBAAyB;AACzB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC/G,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,kCAAkC,EAC1D,uEAAkC,CACrC,CAAC;AACF,YAAY;AAEZ,gBAAgB;AAChB,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,eAAe,EAAE,iCAAe,CAAC,CAAC;AAC/F,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC;KACzG,QAAQ,CAAC,iDAAuB,CAAC,gBAAgB,EAAE,mCAAgB,EAAE,EAAE,SAAS,EAAE,oBAAS,CAAC,SAAS,EAAE,CAAC;KACxG,gBAAgB,CAAC,iDAAuB,CAAC,kBAAkB,EAAE,IAAI,2BAAkB,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1G,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AAC7G,YAAY;AAEZ,eAAe;AACf,kBAAkB,CAAC,iBAAiB,CAChC,iDAAuB,CAAC,mCAAmC,EAC3D,yEAAmC,CACtC,CAAC;AACF,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC3H,kBAAkB,CAAC,iBAAiB,CAAC,iDAAuB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC"}
@@ -13,5 +13,8 @@ declare const RopidGtfsContainerToken: {
13
13
  DeparturePresetsFacade: symbol;
14
14
  RopidGtfsFacade: symbol;
15
15
  RefreshPublicGtfsDepartureCacheTask: symbol;
16
+ DeparturesPresetsDataSource: symbol;
17
+ CheckForNewDeparturesPresetsTask: symbol;
18
+ DownloadDeparturesPresetsTask: symbol;
16
19
  };
17
20
  export { RopidGtfsContainerToken };
@@ -16,6 +16,9 @@ const RopidGtfsContainerToken = {
16
16
  DeparturePresetsFacade: Symbol(),
17
17
  RopidGtfsFacade: Symbol(),
18
18
  RefreshPublicGtfsDepartureCacheTask: Symbol(),
19
+ DeparturesPresetsDataSource: Symbol(),
20
+ CheckForNewDeparturesPresetsTask: Symbol(),
21
+ DownloadDeparturesPresetsTask: Symbol(),
19
22
  };
20
23
  exports.RopidGtfsContainerToken = RopidGtfsContainerToken;
21
24
  //# sourceMappingURL=RopidGtfsContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;CAChD,CAAC;AAEO,0DAAuB"}
1
+ {"version":3,"file":"RopidGtfsContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;IACnC,2BAA2B,EAAE,MAAM,EAAE;IACrC,uBAAuB,EAAE,MAAM,EAAE;IACjC,yBAAyB,EAAE,MAAM,EAAE;IACnC,uBAAuB,EAAE,MAAM,EAAE;IACjC,kCAAkC,EAAE,MAAM,EAAE;IAC5C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,kBAAkB,EAAE,MAAM,EAAE;IAC5B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,6BAA6B,EAAE,MAAM,EAAE;IACvC,sBAAsB,EAAE,MAAM,EAAE;IAChC,eAAe,EAAE,MAAM,EAAE;IACzB,mCAAmC,EAAE,MAAM,EAAE;IAC7C,2BAA2B,EAAE,MAAM,EAAE;IACrC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,6BAA6B,EAAE,MAAM,EAAE;CAC1C,CAAC;AAEO,0DAAuB"}
@@ -1,5 +1,7 @@
1
- import { AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
1
+ import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
2
+ import { AbstractTaskJsonSchema } from "@golemio/core/dist/integration-engine/workers/AbstractTaskJsonSchema";
2
3
  export declare class PresetWorker extends AbstractWorker {
3
4
  protected name: string;
4
5
  constructor();
6
+ registerTask: (task: AbstractTaskJsonSchema<any> | AbstractTask<any>) => void;
5
7
  }
@@ -5,14 +5,22 @@ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
5
5
  const CollectAndSaveLogsTask_1 = require("./tasks/CollectAndSaveLogsTask");
6
6
  const ProcessAndSendLogsTask_1 = require("./tasks/ProcessAndSendLogsTask");
7
7
  const SavePresetsDataTask_1 = require("./tasks/SavePresetsDataTask");
8
+ const Di_1 = require("../../ioc/Di");
9
+ const RopidGtfsContainerToken_1 = require("../../ioc/RopidGtfsContainerToken");
8
10
  class PresetWorker extends workers_1.AbstractWorker {
9
11
  constructor() {
10
12
  super();
11
13
  this.name = "RopidPresets";
14
+ this.registerTask = (task) => {
15
+ super.registerTask(task);
16
+ task.queuePrefix = this.getQueuePrefix();
17
+ };
12
18
  // Register tasks
13
19
  this.registerTask(new SavePresetsDataTask_1.SavePresetsDataTask(this.getQueuePrefix()));
14
20
  this.registerTask(new CollectAndSaveLogsTask_1.CollectAndSaveLogsTask(this.getQueuePrefix()));
15
21
  this.registerTask(new ProcessAndSendLogsTask_1.ProcessAndSendLogsTask(this.getQueuePrefix()));
22
+ this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask));
23
+ this.registerTask(Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DownloadDeparturesPresetsTask));
16
24
  }
17
25
  }
18
26
  exports.PresetWorker = PresetWorker;
@@ -1 +1 @@
1
- {"version":3,"file":"PresetWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/presets/PresetWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAC/E,2EAAwE;AACxE,2EAAwE;AACxE,qEAAkE;AAElE,MAAa,YAAa,SAAQ,wBAAc;IAG5C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,cAAc,CAAC;QAK5B,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;CACJ;AAXD,oCAWC"}
1
+ {"version":3,"file":"PresetWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/workers/presets/PresetWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA6F;AAC7F,2EAAwE;AACxE,2EAAwE;AACxE,qEAAkE;AAElE,qCAA2D;AAC3D,+EAAqF;AAIrF,MAAa,YAAa,SAAQ,wBAAc;IAG5C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,cAAc,CAAC;QAkBzB,iBAAY,GAAG,CAAC,IAAqD,EAAQ,EAAE;YAClF,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QAhBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAAmC,iDAAuB,CAAC,gCAAgC,CAAC,CACzH,CAAC;QACF,IAAI,CAAC,YAAY,CACb,uBAAkB,CAAC,OAAO,CAAgC,iDAAuB,CAAC,6BAA6B,CAAC,CACnH,CAAC;IACN,CAAC;CAMJ;AAvBD,oCAuBC"}
@@ -0,0 +1,12 @@
1
+ import { IRopidDeparturesPreset } from "../../../../../schema-definitions/ropid-departures-presets";
2
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
+ export interface IDeparturesPresetsData {
4
+ data: IRopidDeparturesPreset[];
5
+ }
6
+ export declare class DeparturesPresetsDataSource {
7
+ private config;
8
+ private departurePresets;
9
+ constructor(config: ISimpleConfig);
10
+ getAll(): Promise<IDeparturesPresetsData>;
11
+ getLastModified(): Promise<string>;
12
+ }
@@ -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.DeparturesPresetsDataSource = void 0;
16
+ const ropid_departures_presets_1 = require("../../../../../schema-definitions/ropid-departures-presets");
17
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
18
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
19
+ const RetryDataSource_1 = require("@golemio/core/dist/integration-engine/datasources/RetryDataSource");
20
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
21
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
22
+ let DeparturesPresetsDataSource = exports.DeparturesPresetsDataSource = class DeparturesPresetsDataSource {
23
+ constructor(config) {
24
+ this.config = config;
25
+ this.departurePresets = new RetryDataSource_1.RetryDataSource(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", new integration_engine_1.FTPProtocolStrategy({
26
+ filename: this.config.getValue("module.RopidDeparturesPresetsFilename", ""),
27
+ path: this.config.getValue("module.RopidDeparturesPresetsPath", ""),
28
+ url: this.config.getValue("module.RopidFTP", ""),
29
+ encoding: "utf8",
30
+ }), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(ropid_departures_presets_1.RopidDeparturesPresets.name + "DataSource", ropid_departures_presets_1.RopidDeparturesPresets.datasourceJsonSchema));
31
+ }
32
+ getAll() {
33
+ return this.departurePresets.getAll();
34
+ }
35
+ getLastModified() {
36
+ return this.departurePresets.getLastModified();
37
+ }
38
+ };
39
+ exports.DeparturesPresetsDataSource = DeparturesPresetsDataSource = __decorate([
40
+ (0, tsyringe_1.injectable)(),
41
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
42
+ __metadata("design:paramtypes", [Object])
43
+ ], DeparturesPresetsDataSource);
44
+ //# sourceMappingURL=DeparturesPresetsDatasource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeparturesPresetsDatasource.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/data-access/DeparturesPresetsDatasource.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yGAA+F;AAE/F,wEAAqE;AACrE,8EAAkG;AAClG,uGAAoG;AACpG,mFAAkF;AAClF,iEAAwE;AAQjE,IAAM,2BAA2B,yCAAjC,MAAM,2BAA2B;IAGpC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,iCAAe,CACvC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,wCAAmB,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,EAAE,EAAE,CAAC;YAC3E,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE,EAAE,CAAC;YACnE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAkB;YACjE,QAAQ,EAAE,MAAM;SACnB,CAAC,EACF,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,iDAAsB,CAAC,IAAI,GAAG,YAAY,EAAE,iDAAsB,CAAC,oBAAoB,CAAC,CACnH,CAAC;IACN,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC;CACJ,CAAA;sCAxBY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,2BAA2B,CAwBvC"}
@@ -0,0 +1,11 @@
1
+ import { RopidGtfsMetadataRepository } from "../../../RopidGtfsMetadataRepository";
2
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
3
+ import { DeparturesPresetsDataSource } from "../data-access/DeparturesPresetsDatasource";
4
+ export declare class CheckForNewDeparturesPresetsTask extends AbstractEmptyTask {
5
+ private metadataRepository;
6
+ private departuresPresetsDataSource;
7
+ readonly queueName = "checkForNewDeparturesPresets";
8
+ readonly queueTtl: number;
9
+ constructor(metadataRepository: RopidGtfsMetadataRepository, departuresPresetsDataSource: DeparturesPresetsDataSource);
10
+ protected execute(): Promise<void>;
11
+ }
@@ -0,0 +1,69 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.CheckForNewDeparturesPresetsTask = void 0;
25
+ const RopidGtfsMetadataRepository_1 = require("../../../RopidGtfsMetadataRepository");
26
+ const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
27
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
28
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
29
+ const RopidGtfsFacade_1 = require("../../../RopidGtfsFacade");
30
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
31
+ const DeparturesPresetsDatasource_1 = require("../data-access/DeparturesPresetsDatasource");
32
+ const ropid_gtfs_1 = require("../../../../../schema-definitions/ropid-gtfs");
33
+ let CheckForNewDeparturesPresetsTask = exports.CheckForNewDeparturesPresetsTask = class CheckForNewDeparturesPresetsTask extends integration_engine_1.AbstractEmptyTask {
34
+ constructor(metadataRepository, departuresPresetsDataSource) {
35
+ super(ropid_gtfs_1.RopidGTFS.name.toLowerCase());
36
+ this.metadataRepository = metadataRepository;
37
+ this.departuresPresetsDataSource = departuresPresetsDataSource;
38
+ this.queueName = "checkForNewDeparturesPresets";
39
+ this.queueTtl = 59 * 1000 * 4; // 4 minutes
40
+ }
41
+ execute() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ const departuresPresetsServerLastModified = yield this.departuresPresetsDataSource.getLastModified();
45
+ const departuresPresetsDbLastModified = yield this.metadataRepository.getLastModified(RopidGtfsFacade_1.DatasetEnum.DEPARTURES_PRESETS);
46
+ if (departuresPresetsServerLastModified !== departuresPresetsDbLastModified.lastModified) {
47
+ yield integration_engine_1.QueueManager.sendMessageToExchange(this.queuePrefix, "downloadDeparturesPresets", {});
48
+ }
49
+ }
50
+ catch (err) {
51
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
52
+ throw err;
53
+ }
54
+ else {
55
+ console.log(err);
56
+ throw new golemio_errors_1.GeneralError("Error while checking for new departures presets", this.constructor.name, err);
57
+ }
58
+ }
59
+ });
60
+ }
61
+ };
62
+ exports.CheckForNewDeparturesPresetsTask = CheckForNewDeparturesPresetsTask = __decorate([
63
+ (0, tsyringe_1.injectable)(),
64
+ __param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository)),
65
+ __param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturesPresetsDataSource)),
66
+ __metadata("design:paramtypes", [RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository,
67
+ DeparturesPresetsDatasource_1.DeparturesPresetsDataSource])
68
+ ], CheckForNewDeparturesPresetsTask);
69
+ //# sourceMappingURL=CheckForNewDeparturesPresetsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckForNewDeparturesPresetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/CheckForNewDeparturesPresetsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,sFAAyF;AACzF,kFAAqF;AACrF,8EAAwF;AACxF,iEAAwE;AACxE,8DAAuD;AACvD,6EAA8F;AAC9F,4FAAyF;AACzF,6EAA4C;AAGrC,IAAM,gCAAgC,8CAAtC,MAAM,gCAAiC,SAAQ,sCAAiB;IAInE,YACiE,kBAAuD,EAEpH,2BAAgE;QAEhE,KAAK,CAAC,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAJiC,uBAAkB,GAAlB,kBAAkB,CAA6B;QAE5G,gCAA2B,GAA3B,2BAA2B,CAA6B;QANpD,cAAS,GAAG,8BAA8B,CAAC;QAC3C,aAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY;IAQtD,CAAC;IAEe,OAAO;;YACnB,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,6BAAW,CAAC,kBAAkB,CAAC,CAAC;gBACtH,IAAI,mCAAmC,KAAK,+BAA+B,CAAC,YAAY,EAAE;oBACtF,MAAM,iCAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;iBAC/F;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iBACzG;aACJ;QACL,CAAC;KAAA;CACJ,CAAA;2CA5BY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,2BAA2B,CAAC,CAAA;IAC3D,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,2BAA2B,CAAC,CAAA;qCAD6B,yDAA2B;QAE/E,yDAA2B;GAP3D,gCAAgC,CA4B5C"}
@@ -0,0 +1,11 @@
1
+ import { DeparturePresetsFacade } from "../../../facade/DeparturePresetsFacade";
2
+ import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
3
+ import { DeparturesPresetsDataSource } from "../data-access/DeparturesPresetsDatasource";
4
+ export declare class DownloadDeparturesPresetsTask extends AbstractEmptyTask {
5
+ private departuresPresetsDataSource;
6
+ private facade;
7
+ queueName: string;
8
+ queueTtl: number;
9
+ constructor(departuresPresetsDataSource: DeparturesPresetsDataSource, facade: DeparturePresetsFacade);
10
+ protected execute(): Promise<void>;
11
+ }
@@ -0,0 +1,66 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.DownloadDeparturesPresetsTask = void 0;
25
+ const DeparturePresetsFacade_1 = require("../../../facade/DeparturePresetsFacade");
26
+ const RopidGtfsContainerToken_1 = require("../../../ioc/RopidGtfsContainerToken");
27
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
28
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
29
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
30
+ const DeparturesPresetsDatasource_1 = require("../data-access/DeparturesPresetsDatasource");
31
+ const ropid_gtfs_1 = require("../../../../../schema-definitions/ropid-gtfs");
32
+ let DownloadDeparturesPresetsTask = exports.DownloadDeparturesPresetsTask = class DownloadDeparturesPresetsTask extends integration_engine_1.AbstractEmptyTask {
33
+ constructor(departuresPresetsDataSource, facade) {
34
+ super(ropid_gtfs_1.RopidGTFS.name.toLowerCase());
35
+ this.departuresPresetsDataSource = departuresPresetsDataSource;
36
+ this.facade = facade;
37
+ this.queueName = "downloadDeparturesPresets";
38
+ this.queueTtl = 4 * 60 * 1000; // 4 minutes
39
+ }
40
+ execute() {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ const file = yield this.departuresPresetsDataSource.getAll();
44
+ const lastModified = yield this.departuresPresetsDataSource.getLastModified();
45
+ yield this.facade.handleNewDeparturePresets(file.data, lastModified);
46
+ }
47
+ catch (err) {
48
+ console.log(err);
49
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
50
+ throw err;
51
+ }
52
+ else {
53
+ throw new golemio_errors_1.GeneralError("Error while downloading departures presets: " + err.message, this.constructor.name, err);
54
+ }
55
+ }
56
+ });
57
+ }
58
+ };
59
+ exports.DownloadDeparturesPresetsTask = DownloadDeparturesPresetsTask = __decorate([
60
+ (0, tsyringe_1.injectable)(),
61
+ __param(0, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturesPresetsDataSource)),
62
+ __param(1, (0, tsyringe_1.inject)(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DeparturePresetsFacade)),
63
+ __metadata("design:paramtypes", [DeparturesPresetsDatasource_1.DeparturesPresetsDataSource,
64
+ DeparturePresetsFacade_1.DeparturePresetsFacade])
65
+ ], DownloadDeparturesPresetsTask);
66
+ //# sourceMappingURL=DownloadDeparturesPresetsTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DownloadDeparturesPresetsTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/ropid-gtfs/workers/presets/tasks/DownloadDeparturesPresetsTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAsF;AACtF,kFAAqF;AACrF,8EAA0E;AAC1E,6EAA8F;AAC9F,iEAAwE;AACxE,4FAAyF;AAEzF,6EAA4C;AAGrC,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,sCAAiB;IAIhE,YAEI,2BAAgE,EACR,MAAsC;QAE9F,KAAK,CAAC,sBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAH5B,gCAA2B,GAA3B,2BAA2B,CAA6B;QACA,WAAM,GAAN,MAAM,CAAwB;QANlG,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IAQtC,CAAC;IAEe,OAAO;;YACnB,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;gBAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aACxE;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,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;KAAA;CACJ,CAAA;wCA1BY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,2BAA2B,CAAC,CAAA;IAE3D,WAAA,IAAA,iBAAM,EAAC,iDAAuB,CAAC,sBAAsB,CAAC,CAAA;qCADlB,yDAA2B;QACQ,+CAAsB;GAPzF,6BAA6B,CA0BzC"}