@golemio/pid 2.9.0-rc.996400744 → 2.9.0-rc.997336039

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 (76) hide show
  1. package/db/example/00_clear_test_data.sql +1 -0
  2. package/db/migrations/postgresql/20230905084432-regional-bus-run-messages.js +53 -0
  3. package/db/migrations/postgresql/sqls/20230905084432-regional-bus-run-messages-down.sql +1 -0
  4. package/db/migrations/postgresql/sqls/20230905084432-regional-bus-run-messages-up.sql +21 -0
  5. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -2
  6. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  7. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.d.ts +4 -0
  8. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.js +59 -0
  9. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.js.map +1 -0
  10. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +3 -3
  11. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +2 -17
  12. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
  13. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.d.ts +3 -5
  14. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js +2 -65
  15. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js.map +1 -1
  16. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.d.ts +5 -0
  17. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.js +19 -0
  18. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.js.map +1 -0
  19. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.d.ts +5 -0
  20. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.js +19 -0
  21. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.js.map +1 -0
  22. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.d.ts +7 -0
  23. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.js +46 -0
  24. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.js.map +1 -0
  25. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +10 -0
  26. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +27 -0
  27. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -0
  28. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +11 -0
  29. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +44 -0
  30. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -0
  31. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.d.ts +4 -0
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.js +3 -0
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.js.map +1 -0
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +4 -0
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.js +3 -0
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.js.map +1 -0
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +5 -0
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.js +3 -0
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.js.map +1 -0
  40. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +21 -0
  41. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.js +3 -0
  42. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.js.map +1 -0
  43. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.d.ts +4 -0
  44. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.js +86 -0
  45. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.js.map +1 -0
  46. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.d.ts +1 -0
  47. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +5 -2
  48. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
  49. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/{ProcessMetroRunsMessagesTask.d.ts → ProcessMetroRunMessagesTask.d.ts} +1 -1
  50. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/{ProcessMetroRunsMessagesTask.js → ProcessMetroRunMessagesTask.js} +4 -4
  51. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.d.ts +11 -0
  53. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.js +37 -0
  54. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.js.map +1 -0
  55. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +1 -1
  56. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.d.ts +10 -0
  57. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +30 -0
  58. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -0
  59. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.d.ts +18 -0
  60. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.js +86 -0
  61. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.js.map +1 -0
  62. package/dist/schema-definitions/vehicle-positions/models/index.d.ts +1 -0
  63. package/dist/schema-definitions/vehicle-positions/models/index.js +1 -0
  64. package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
  65. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +12 -0
  66. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.js +3 -0
  67. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.js.map +1 -0
  68. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.d.ts +5 -0
  69. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.js +3 -0
  70. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.js.map +1 -0
  71. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.d.ts +4 -0
  72. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.js +22 -0
  73. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.js.map +1 -0
  74. package/docs/implementation_documentation.md +49 -4
  75. package/package.json +1 -1
  76. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +0 -1
@@ -23,6 +23,7 @@ TRUNCATE
23
23
  "vehiclepositions_runs_messages",
24
24
  "vehiclepositions_runs",
25
25
  "vehiclepositions_metro_runs_messages",
26
+ "vehiclepositions_regional_bus_runs_messages",
26
27
  "vehiclepositions_vehicle_descriptors",
27
28
  "ropid_departures_directions",
28
29
  "ropid_departures_presets",
@@ -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', '20230905084432-regional-bus-run-messages-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', '20230905084432-regional-bus-run-messages-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 @@
1
+ drop table vehiclepositions_regional_bus_runs_messages;
@@ -0,0 +1,21 @@
1
+ create table vehiclepositions_regional_bus_runs_messages (
2
+ external_trip_id varchar(100) not null,
3
+ cis_route_id varchar(10),
4
+ cis_trip_id varchar(10),
5
+ events varchar(10) not null,
6
+ coordinates geometry not null,
7
+ vehicle_timestamp timestamptz not null,
8
+ registration_number int,
9
+ speed_kmh smallint not null,
10
+ bearing smallint not null,
11
+
12
+ -- Audit fields
13
+ create_batch_id bigint,
14
+ created_at timestamp with time zone,
15
+ created_by character varying(150),
16
+ update_batch_id bigint,
17
+ updated_at timestamp with time zone,
18
+ updated_by character varying(150),
19
+
20
+ constraint vehiclepositions_regional_bus_run_messages_pkey primary key (external_trip_id, vehicle_timestamp)
21
+ );
@@ -4,7 +4,8 @@ exports.RunsWorker = void 0;
4
4
  const vehicle_positions_1 = require("../../../../schema-definitions/vehicle-positions");
5
5
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
6
6
  const DeleteDataTask_1 = require("./tasks/DeleteDataTask");
7
- const ProcessMetroRunsMessagesTask_1 = require("./tasks/ProcessMetroRunsMessagesTask");
7
+ const ProcessMetroRunMessagesTask_1 = require("./tasks/ProcessMetroRunMessagesTask");
8
+ const SaveArrivaCityRunsToDB_1 = require("./tasks/SaveArrivaCityRunsToDB");
8
9
  const SaveBusRunsToDBTask_1 = require("./tasks/SaveBusRunsToDBTask");
9
10
  const SaveMetroRunsToDBTask_1 = require("./tasks/SaveMetroRunsToDBTask");
10
11
  const SaveTramRunsToDBTask_1 = require("./tasks/SaveTramRunsToDBTask");
@@ -16,7 +17,8 @@ class RunsWorker extends workers_1.AbstractWorker {
16
17
  this.registerTask(new SaveBusRunsToDBTask_1.SaveBusRunsToDBTask(this.getQueuePrefix()));
17
18
  this.registerTask(new SaveTramRunsToDBTask_1.SaveTramRunsToDBTask(this.getQueuePrefix()));
18
19
  this.registerTask(new SaveMetroRunsToDBTask_1.SaveMetroRunsToDBTask(this.getQueuePrefix()));
19
- this.registerTask(new ProcessMetroRunsMessagesTask_1.ProcessMetroRunsMessagesTask(this.getQueuePrefix()));
20
+ this.registerTask(new ProcessMetroRunMessagesTask_1.ProcessMetroRunMessagesTask(this.getQueuePrefix()));
21
+ this.registerTask(new SaveArrivaCityRunsToDB_1.SaveArrivaCityRunsToDB(this.getQueuePrefix()));
20
22
  this.registerTask(new DeleteDataTask_1.DeleteDataTask(this.getQueuePrefix()));
21
23
  }
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RunsWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/runs/RunsWorker.ts"],"names":[],"mappings":";;;AAAA,wFAA0D;AAC1D,2EAA+E;AAC/E,2DAAwD;AACxD,uFAAoF;AACpF,qEAAkE;AAClE,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,UAAW,SAAQ,wBAAc;IAG1C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,oCAAgB,CAAC,IAAI,GAAG,MAAM,CAAC;QAK5C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,6CAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,2DAA4B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CACJ;AAbD,gCAaC"}
1
+ {"version":3,"file":"RunsWorker.js","sourceRoot":"","sources":["../../../../../src/integration-engine/vehicle-positions/workers/runs/RunsWorker.ts"],"names":[],"mappings":";;;AAAA,wFAA0D;AAC1D,2EAA+E;AAC/E,2DAAwD;AACxD,qFAAkF;AAClF,2EAAwE;AACxE,qEAAkE;AAClE,yEAAsE;AACtE,uEAAoE;AAEpE,MAAa,UAAW,SAAQ,wBAAc;IAG1C;QACI,KAAK,EAAE,CAAC;QAHF,SAAI,GAAG,oCAAgB,CAAC,IAAI,GAAG,MAAM,CAAC;QAK5C,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,2CAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,IAAI,6CAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,yDAA2B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;CACJ;AAdD,gCAcC"}
@@ -0,0 +1,4 @@
1
+ import { PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ export declare abstract class AbstractRunRepository extends PostgresModel {
3
+ deleteNHoursOldData: (hours: number, columnToCheck: string) => Promise<number>;
4
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.AbstractRunRepository = void 0;
36
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
37
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
38
+ const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
39
+ class AbstractRunRepository extends models_1.PostgresModel {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.deleteNHoursOldData = (hours, columnToCheck) => __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ return yield this.sequelizeModel.destroy({
45
+ where: {
46
+ [columnToCheck]: {
47
+ [sequelize_1.Op.lt]: sequelize_1.default.literal(`NOW() - INTERVAL '${hours} HOURS'`),
48
+ },
49
+ },
50
+ });
51
+ }
52
+ catch (err) {
53
+ throw new golemio_errors_1.GeneralError("Error while purging old data", this.constructor.name, err);
54
+ }
55
+ });
56
+ }
57
+ }
58
+ exports.AbstractRunRepository = AbstractRunRepository;
59
+ //# sourceMappingURL=AbstractRunRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractRunRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAA6E;AAC7E,6EAAwE;AACxE,iFAAoE;AAEpE,MAAsB,qBAAsB,SAAQ,sBAAa;IAAjE;;QACW,wBAAmB,GAAG,CAAO,KAAa,EAAE,aAAqB,EAAmB,EAAE;YACzF,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE;wBACH,CAAC,aAAa,CAAC,EAAE;4BACb,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC;yBAClE;qBACJ;iBACJ,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtF;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAdD,sDAcC"}
@@ -1,11 +1,12 @@
1
1
  import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
2
2
  import { ICommonRunsModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunsModel";
3
3
  import { IScheduleDto } from "../../../../../schema-definitions/vehicle-positions/redis/interfaces/IGtfsRunTripCacheDto";
4
- import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
4
+ import { IModel } from "@golemio/core/dist/integration-engine/models";
5
5
  import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
6
6
  import Sequelize from "@golemio/core/dist/shared/sequelize";
7
+ import { AbstractRunRepository } from "./AbstractRunRepository";
7
8
  import { CommonRunsMessagesRepository } from "./CommonRunsMessagesRepository";
8
- export declare class CommonRunsRepository extends PostgresModel implements IModel {
9
+ export declare class CommonRunsRepository extends AbstractRunRepository implements IModel {
9
10
  /** Model name */
10
11
  name: string;
11
12
  /** The Sequelize Model */
@@ -27,6 +28,5 @@ export declare class CommonRunsRepository extends PostgresModel implements IMode
27
28
  run: any;
28
29
  run_message: any;
29
30
  }>;
30
- deleteNHoursOldData: (hours: number) => Promise<number>;
31
31
  getScheduledTrips: (origin_route_name: string, run_number: string | number, msg_last_timestamp: string) => Promise<IScheduleDto[]>;
32
32
  }
@@ -37,12 +37,12 @@ const precomputed_1 = require("../../../../ropid-gtfs/data-access/precomputed");
37
37
  const const_1 = require("../../../../../schema-definitions/const");
38
38
  const models_1 = require("../../../../../schema-definitions/vehicle-positions/models");
39
39
  const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
40
- const models_2 = require("@golemio/core/dist/integration-engine/models");
41
40
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
42
41
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
43
42
  const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
43
+ const AbstractRunRepository_1 = require("./AbstractRunRepository");
44
44
  const CommonRunsMessagesRepository_1 = require("./CommonRunsMessagesRepository");
45
- class CommonRunsRepository extends models_2.PostgresModel {
45
+ class CommonRunsRepository extends AbstractRunRepository_1.AbstractRunRepository {
46
46
  constructor() {
47
47
  super("CommonRunsRepository", {
48
48
  pgTableName: models_1.CommonRunsModel.TABLE_NAME,
@@ -119,21 +119,6 @@ class CommonRunsRepository extends models_2.PostgresModel {
119
119
  throw new golemio_errors_1.RecoverableError("updateAndAssociate: error while saving to database", this.name, err);
120
120
  }
121
121
  });
122
- this.deleteNHoursOldData = (hours) => __awaiter(this, void 0, void 0, function* () {
123
- try {
124
- // ON DELETE CASCADE for the dependent "runs_messages" table
125
- return yield this.sequelizeModel.destroy({
126
- where: {
127
- msg_last_timestamp: {
128
- [sequelize_1.Op.lt]: sequelize_1.default.literal(`NOW() - INTERVAL '${hours} HOURS'`),
129
- },
130
- },
131
- });
132
- }
133
- catch (err) {
134
- throw new golemio_errors_1.GeneralError("Error while purging old data", this.constructor.name, err);
135
- }
136
- });
137
122
  this.getScheduledTrips = (origin_route_name, run_number, msg_last_timestamp) => {
138
123
  return this.tripScheduleRepository.findAll({
139
124
  attributes: {
@@ -1 +1 @@
1
- {"version":3,"file":"CommonRunsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonRunsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { MetroRunsMessagesModel } from "../../../../../schema-definitions/vehicle-positions/models";
2
- import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
3
- export declare class MetroRunsMessagesRepository extends PostgresModel implements IModel {
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models";
2
+ import { AbstractRunRepository } from "./AbstractRunRepository";
3
+ export declare class MetroRunsMessagesRepository extends AbstractRunRepository implements IModel {
4
4
  constructor();
5
- saveData: (data: MetroRunsMessagesModel[], isReturning?: boolean) => Promise<MetroRunsMessagesModel[]>;
6
- deleteNHoursOldData: (hours: number) => Promise<number>;
7
5
  }
@@ -1,46 +1,11 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
2
  Object.defineProperty(exports, "__esModule", { value: true });
35
3
  exports.MetroRunsMessagesRepository = void 0;
36
4
  const const_1 = require("../../../../../schema-definitions/const");
37
5
  const models_1 = require("../../../../../schema-definitions/vehicle-positions/models");
38
- const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
39
- const models_2 = require("@golemio/core/dist/integration-engine/models");
40
- const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
41
6
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
42
- const sequelize_1 = __importStar(require("@golemio/core/dist/shared/sequelize"));
43
- class MetroRunsMessagesRepository extends models_2.PostgresModel {
7
+ const AbstractRunRepository_1 = require("./AbstractRunRepository");
8
+ class MetroRunsMessagesRepository extends AbstractRunRepository_1.AbstractRunRepository {
44
9
  constructor() {
45
10
  super("MetroRunsMessagesRepository", {
46
11
  pgTableName: models_1.MetroRunsMessagesModel.TABLE_NAME,
@@ -48,34 +13,6 @@ class MetroRunsMessagesRepository extends models_2.PostgresModel {
48
13
  outputSequelizeAttributes: models_1.MetroRunsMessagesModel.attributeModel,
49
14
  savingType: "insertOnly",
50
15
  }, new golemio_validator_1.JSONSchemaValidator("MetroRunsMessagesRepository", models_1.MetroRunsMessagesModel.arrayJsonSchema));
51
- this.saveData = (data, isReturning = false) => __awaiter(this, void 0, void 0, function* () {
52
- try {
53
- yield this.validate(data);
54
- return yield this.sequelizeModel.bulkCreate(data, {
55
- ignoreDuplicates: true,
56
- returning: isReturning,
57
- });
58
- }
59
- catch (err) {
60
- const exception = new golemio_errors_1.GeneralError(`[${this.constructor.name}] Could not save data: ${err.message}`, this.constructor.name, err);
61
- helpers_1.log.error(exception);
62
- throw exception;
63
- }
64
- });
65
- this.deleteNHoursOldData = (hours) => __awaiter(this, void 0, void 0, function* () {
66
- try {
67
- return yield this.sequelizeModel.destroy({
68
- where: {
69
- created_at: {
70
- [sequelize_1.Op.lt]: sequelize_1.default.literal(`NOW() - INTERVAL '${hours} HOURS'`),
71
- },
72
- },
73
- });
74
- }
75
- catch (err) {
76
- throw new golemio_errors_1.GeneralError("Error while purging old data", this.constructor.name, err);
77
- }
78
- });
79
16
  }
80
17
  }
81
18
  exports.MetroRunsMessagesRepository = MetroRunsMessagesRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRunsMessagesRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAuC;AACvC,uFAAuE;AACvE,2EAAoE;AACpE,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,iFAAoE;AAEpE,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+BAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,+BAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+BAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;QAGC,aAAQ,GAAG,CAAO,IAA8B,EAAE,WAAW,GAAG,KAAK,EAAqC,EAAE;YAC/G,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAyB,IAAI,EAAE;oBACtE,gBAAgB,EAAE,IAAI;oBACtB,SAAS,EAAE,WAAW;iBACzB,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,SAAS,GAAG,IAAI,6BAAY,CAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,GAAG,CAAC,OAAO,EAAE,EAChE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;gBAEF,aAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,SAAS,CAAC;aACnB;QACL,CAAC,CAAA,CAAC;QAEK,wBAAmB,GAAG,CAAO,KAAa,EAAmB,EAAE;YAClE,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE;wBACH,UAAU,EAAE;4BACR,CAAC,cAAE,CAAC,EAAE,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC;yBAClE;qBACJ;iBACJ,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,8BAA8B,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACtF;QACL,CAAC,CAAA,CAAC;IAjCF,CAAC;CAkCJ;AA9CD,kEA8CC"}
1
+ {"version":3,"file":"MetroRunsMessagesRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.ts"],"names":[],"mappings":";;;AAAA,mEAAuC;AACvC,uFAAuE;AAEvE,mFAAkF;AAClF,mEAAgE;AAEhE,MAAa,2BAA4B,SAAQ,6CAAqB;IAClE;QACI,KAAK,CACD,6BAA6B,EAC7B;YACI,WAAW,EAAE,+BAAsB,CAAC,UAAU;YAC9C,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,+BAAsB,CAAC,cAAc;YAChE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,+BAAsB,CAAC,eAAe,CAAC,CACjG,CAAC;IACN,CAAC;CACJ;AAbD,kEAaC"}
@@ -0,0 +1,5 @@
1
+ import { IModel } from "@golemio/core/dist/integration-engine/models";
2
+ import { AbstractRunRepository } from "./AbstractRunRepository";
3
+ export declare class RegionalBusRunsMessagesRepository extends AbstractRunRepository implements IModel {
4
+ constructor();
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegionalBusRunsMessagesRepository = void 0;
4
+ const const_1 = require("../../../../../schema-definitions/const");
5
+ const models_1 = require("../../../../../schema-definitions/vehicle-positions/models");
6
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
+ const AbstractRunRepository_1 = require("./AbstractRunRepository");
8
+ class RegionalBusRunsMessagesRepository extends AbstractRunRepository_1.AbstractRunRepository {
9
+ constructor() {
10
+ super("RegionalBusRunsMessagesRepository", {
11
+ pgTableName: models_1.RegionalBusRunsMessagesModel.TABLE_NAME,
12
+ pgSchema: const_1.PG_SCHEMA,
13
+ outputSequelizeAttributes: models_1.RegionalBusRunsMessagesModel.attributeModel,
14
+ savingType: "insertOnly",
15
+ }, new golemio_validator_1.JSONSchemaValidator("RegionalBusRunsMessagesRepository", models_1.RegionalBusRunsMessagesModel.arrayJsonSchema));
16
+ }
17
+ }
18
+ exports.RegionalBusRunsMessagesRepository = RegionalBusRunsMessagesRepository;
19
+ //# sourceMappingURL=RegionalBusRunsMessagesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusRunsMessagesRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.ts"],"names":[],"mappings":";;;AAAA,mEAAuC;AACvC,uFAA6E;AAE7E,mFAAkF;AAClF,mEAAgE;AAEhE,MAAa,iCAAkC,SAAQ,6CAAqB;IACxE;QACI,KAAK,CACD,mCAAmC,EACnC;YACI,WAAW,EAAE,qCAA4B,CAAC,UAAU;YACpD,QAAQ,EAAE,iBAAS;YACnB,yBAAyB,EAAE,qCAA4B,CAAC,cAAc;YACtE,UAAU,EAAE,YAAY;SAC3B,EACD,IAAI,uCAAmB,CAAC,mCAAmC,EAAE,qCAA4B,CAAC,eAAe,CAAC,CAC7G,CAAC;IACN,CAAC;CACJ;AAbD,8EAaC"}
@@ -0,0 +1,5 @@
1
+ import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
2
+ export declare class RegionalBusCisCacheRepository extends RedisModel {
3
+ static NAMESPACE_PREFIX: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegionalBusCisCacheRepository = void 0;
4
+ const RegionalBusCisCacheDtoSchema_1 = require("../../../../../../schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema");
5
+ const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
6
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
7
+ class RegionalBusCisCacheRepository extends RedisModel_1.RedisModel {
8
+ constructor() {
9
+ super("RegionalBusCisCacheRepository", {
10
+ decodeDataAfterGet: JSON.parse,
11
+ encodeDataBeforeSave: JSON.stringify,
12
+ isKeyConstructedFromData: false,
13
+ prefix: RegionalBusCisCacheRepository.NAMESPACE_PREFIX,
14
+ }, new golemio_validator_1.JSONSchemaValidator("RegionalBusCisCacheRepository", RegionalBusCisCacheDtoSchema_1.RegionalBusCisCacheDtoSchema));
15
+ }
16
+ }
17
+ exports.RegionalBusCisCacheRepository = RegionalBusCisCacheRepository;
18
+ RegionalBusCisCacheRepository.NAMESPACE_PREFIX = "vpRegionalBusCisLookup";
19
+ //# sourceMappingURL=RegionalBusCisCacheRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusCisCacheRepository.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.ts"],"names":[],"mappings":";;;AAAA,oJAAiH;AACjH,wFAAqF;AACrF,mFAAkF;AAElF,MAAa,6BAA8B,SAAQ,uBAAU;IAGzD;QACI,KAAK,CACD,+BAA+B,EAC/B;YACI,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,oBAAoB,EAAE,IAAI,CAAC,SAAS;YACpC,wBAAwB,EAAE,KAAK;YAC/B,MAAM,EAAE,6BAA6B,CAAC,gBAAgB;SACzD,EACD,IAAI,uCAAmB,CAAC,+BAA+B,EAAE,2DAA4B,CAAC,CACzF,CAAC;IACN,CAAC;;AAdL,sEAeC;AAdiB,8CAAgB,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ import { ICisLookupManager } from "./interfaces/ICisLookupManager";
3
+ export declare class CisLookupManager implements ICisLookupManager {
4
+ private readonly cisLookupCacheRepository;
5
+ constructor();
6
+ enrichMessagesWithCisData(messages: IRegionalBusRunsMessagesModel[]): Promise<IRegionalBusRunsMessagesModel[]>;
7
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CisLookupManager = void 0;
13
+ const VPUtils_1 = require("../../../vehicle-positions/helpers/VPUtils");
14
+ const RegionalBusCisCacheRepository_1 = require("../../data-access/cache/RegionalBusCisCacheRepository");
15
+ class CisLookupManager {
16
+ constructor() {
17
+ this.cisLookupCacheRepository = new RegionalBusCisCacheRepository_1.RegionalBusCisCacheRepository();
18
+ }
19
+ enrichMessagesWithCisData(messages) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const nextExpireTimestamp = VPUtils_1.VPUtils.getNextExpireTimestamp();
22
+ const cisCacheData = yield this.cisLookupCacheRepository.mget(messages.map((message) => message.external_trip_id));
23
+ for (let i = 0; i < messages.length; i++) {
24
+ const message = messages[i];
25
+ const cisCacheItem = cisCacheData[i];
26
+ if (!cisCacheItem) {
27
+ if (message.cis_route_id && message.cis_trip_id && message.registration_number) {
28
+ yield this.cisLookupCacheRepository.set(message.external_trip_id, {
29
+ cis_route_id: message.cis_route_id,
30
+ cis_trip_id: message.cis_trip_id,
31
+ registration_number: message.registration_number,
32
+ }, undefined, nextExpireTimestamp);
33
+ }
34
+ continue;
35
+ }
36
+ // Fill in the missing data from Redis cache
37
+ message.cis_route_id = cisCacheItem.cis_route_id;
38
+ message.cis_trip_id = cisCacheItem.cis_trip_id;
39
+ message.registration_number = cisCacheItem.registration_number;
40
+ }
41
+ return messages;
42
+ });
43
+ }
44
+ }
45
+ exports.CisLookupManager = CisLookupManager;
46
+ //# sourceMappingURL=CisLookupManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CisLookupManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wEAA0F;AAG1F,yGAAsG;AAGtG,MAAa,gBAAgB;IAGzB;QACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,6DAA6B,EAAE,CAAC;IACxE,CAAC;IAEY,yBAAyB,CAAC,QAAyC;;YAC5E,MAAM,mBAAmB,GAAG,iBAAO,CAAC,sBAAsB,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CACzD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACtD,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAErC,IAAI,CAAC,YAAY,EAAE;oBACf,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,EAAE;wBAC5E,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CACnC,OAAO,CAAC,gBAAgB,EACxB;4BACI,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;yBACnD,EACD,SAAS,EACT,mBAAmB,CACtB,CAAC;qBACL;oBAED,SAAS;iBACZ;gBAED,4CAA4C;gBAC5C,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;gBACjD,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;gBAC/C,OAAO,CAAC,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;aAClE;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ;AA1CD,4CA0CC"}
@@ -0,0 +1,10 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
3
+ export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
4
+ private logger;
5
+ constructor();
6
+ /**
7
+ * Get messages that are valid for processing
8
+ */
9
+ getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
10
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegionalBusMessageFilter = void 0;
4
+ const Di_1 = require("../../../../ioc/Di");
5
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
6
+ class RegionalBusMessageFilter {
7
+ constructor() {
8
+ this.logger = Di_1.VPContainer.resolve(ioc_1.ContainerToken.Logger);
9
+ }
10
+ /**
11
+ * Get messages that are valid for processing
12
+ */
13
+ getFilteredMessages(messages) {
14
+ let filteredMessages = [];
15
+ for (const message of messages) {
16
+ if (message.cis_route_id && message.cis_trip_id && message.registration_number && message.events !== "") {
17
+ filteredMessages.push(message);
18
+ }
19
+ }
20
+ if (filteredMessages.length === 0) {
21
+ this.logger.info("getFilteredMessages: no messages left after filtering");
22
+ }
23
+ return filteredMessages;
24
+ }
25
+ }
26
+ exports.RegionalBusMessageFilter = RegionalBusMessageFilter;
27
+ //# sourceMappingURL=RegionalBusMessageFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAG3D,mEAA2E;AAG3E,MAAa,wBAAwB;IAGjC;QACI,IAAI,CAAC,MAAM,GAAG,gBAAW,CAAC,OAAO,CAAU,oBAAc,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,QAAyC;QAChE,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACrG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;SAC7E;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AAxBD,4DAwBC"}
@@ -0,0 +1,11 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ import { IRegionalBusRunsMessagePropertiesWrapper } from "../../interfaces/RegionalBusRunsMessageInterfaces";
3
+ import { IRegionalBusRunsFacade } from "./interfaces/IRegionalBusRunsFacade";
4
+ export declare class RegionalBusRunsFacade implements IRegionalBusRunsFacade {
5
+ private readonly messageTransformation;
6
+ private readonly messageFilter;
7
+ private readonly messageRepository;
8
+ private readonly cisLookupManager;
9
+ constructor();
10
+ transformAndSaveMessages(messages: IRegionalBusRunsMessagePropertiesWrapper[]): Promise<IRegionalBusRunsMessagesModel[]>;
11
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RegionalBusRunsFacade = void 0;
13
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
14
+ const RegionalBusRunsMessagesRepository_1 = require("../../data-access/RegionalBusRunsMessagesRepository");
15
+ const RegionalBusRunsMessagesTransformation_1 = require("../../transformations/RegionalBusRunsMessagesTransformation");
16
+ const CisLookupManager_1 = require("./CisLookupManager");
17
+ const RegionalBusMessageFilter_1 = require("./RegionalBusMessageFilter");
18
+ class RegionalBusRunsFacade {
19
+ constructor() {
20
+ this.messageTransformation = new RegionalBusRunsMessagesTransformation_1.RegionalBusRunsMessagesTransformation();
21
+ this.messageFilter = new RegionalBusMessageFilter_1.RegionalBusMessageFilter();
22
+ this.messageRepository = new RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository();
23
+ this.cisLookupManager = new CisLookupManager_1.CisLookupManager();
24
+ }
25
+ transformAndSaveMessages(messages) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ let transformedMessages = this.messageTransformation.transformArray(messages);
28
+ if (transformedMessages.length === 0) {
29
+ return [];
30
+ }
31
+ try {
32
+ transformedMessages = yield this.cisLookupManager.enrichMessagesWithCisData(transformedMessages);
33
+ }
34
+ catch (err) {
35
+ throw new golemio_errors_1.GeneralError("transformAndFilterMessages: failed to enrich messages with CIS data", this.constructor.name, err);
36
+ }
37
+ const filteredMessages = this.messageFilter.getFilteredMessages(transformedMessages);
38
+ yield this.messageRepository.bulkSave(filteredMessages);
39
+ return filteredMessages;
40
+ });
41
+ }
42
+ }
43
+ exports.RegionalBusRunsFacade = RegionalBusRunsFacade;
44
+ //# sourceMappingURL=RegionalBusRunsFacade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusRunsFacade.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,6EAAwE;AACxE,2GAAwG;AAExG,uHAAoH;AACpH,yDAAsD;AACtD,yEAAsE;AAKtE,MAAa,qBAAqB;IAM9B;QACI,IAAI,CAAC,qBAAqB,GAAG,IAAI,6EAAqC,EAAE,CAAC;QACzE,IAAI,CAAC,aAAa,GAAG,IAAI,mDAAwB,EAAE,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,qEAAiC,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;IACnD,CAAC;IAEY,wBAAwB,CACjC,QAAoD;;YAEpD,IAAI,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9E,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,EAAE,CAAC;aACb;YAED,IAAI;gBACA,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;aACpG;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAClB,qEAAqE,EACrE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,CACN,CAAC;aACL;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YACrF,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAExD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;KAAA;CACJ;AApCD,sDAoCC"}
@@ -0,0 +1,4 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ export interface ICisLookupManager {
3
+ enrichMessagesWithCisData(messages: IRegionalBusRunsMessagesModel[]): Promise<IRegionalBusRunsMessagesModel[]>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICisLookupManager.js.map