@golemio/pid 2.9.1-dev.994351402 → 2.9.1-dev.995900626

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 (107) hide show
  1. package/db/example/00_clear_test_data.sql +1 -0
  2. package/db/example/12_metro_line_A_gtfs_trips.sql +5 -0
  3. package/db/migrations/postgresql/20230905084432-regional-bus-run-messages.js +53 -0
  4. package/db/migrations/postgresql/sqls/20230905084432-regional-bus-run-messages-down.sql +1 -0
  5. package/db/migrations/postgresql/sqls/20230905084432-regional-bus-run-messages-up.sql +21 -0
  6. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +0 -4
  7. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +3 -16
  9. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  10. package/dist/integration-engine/vehicle-positions/ioc/Di.js +0 -8
  11. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +0 -3
  13. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +0 -9
  14. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  15. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js +4 -2
  16. package/dist/integration-engine/vehicle-positions/workers/runs/RunsWorker.js.map +1 -1
  17. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.d.ts +4 -0
  18. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.js +59 -0
  19. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/AbstractRunRepository.js.map +1 -0
  20. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.d.ts +3 -3
  21. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js +2 -17
  22. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/CommonRunsRepository.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.d.ts +3 -5
  24. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js +2 -65
  25. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/MetroRunsMessagesRepository.js.map +1 -1
  26. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.d.ts +5 -0
  27. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.js +19 -0
  28. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/RegionalBusRunsMessagesRepository.js.map +1 -0
  29. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.d.ts +5 -0
  30. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.js +19 -0
  31. package/dist/integration-engine/vehicle-positions/workers/runs/data-access/cache/RegionalBusCisCacheRepository.js.map +1 -0
  32. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +0 -3
  33. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +0 -12
  34. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.d.ts +7 -0
  36. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.js +46 -0
  37. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/CisLookupManager.js.map +1 -0
  38. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +10 -0
  39. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +27 -0
  40. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -0
  41. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.d.ts +11 -0
  42. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js +44 -0
  43. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusRunsFacade.js.map +1 -0
  44. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.d.ts +4 -0
  45. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.js +3 -0
  46. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.js.map +1 -0
  47. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.d.ts +4 -0
  48. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.js +3 -0
  49. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.js.map +1 -0
  50. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.d.ts +5 -0
  51. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.js +3 -0
  52. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.js.map +1 -0
  53. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.d.ts +21 -0
  54. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.js +3 -0
  55. package/dist/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.js.map +1 -0
  56. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.d.ts +4 -0
  57. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.js +85 -0
  58. package/dist/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.js.map +1 -0
  59. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.d.ts +1 -0
  60. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js +5 -2
  61. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.js.map +1 -1
  62. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/{ProcessMetroRunsMessagesTask.d.ts → ProcessMetroRunMessagesTask.d.ts} +1 -1
  63. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/{ProcessMetroRunsMessagesTask.js → ProcessMetroRunMessagesTask.js} +4 -4
  64. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.js.map +1 -0
  65. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.d.ts +11 -0
  66. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.js +37 -0
  67. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.js.map +1 -0
  68. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/SaveMetroRunsToDBTask.js +1 -1
  69. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.d.ts +10 -0
  70. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js +29 -0
  71. package/dist/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.js.map +1 -0
  72. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +0 -3
  73. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +117 -113
  74. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  75. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +6 -2
  76. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  77. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +2 -0
  78. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +0 -1
  79. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +1 -8
  80. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  81. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js +1 -5
  82. package/dist/output-gateway/vehicle-positions/VehiclePositionsRouter.js.map +1 -1
  83. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.d.ts +18 -0
  84. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.js +86 -0
  85. package/dist/schema-definitions/vehicle-positions/models/RegionalBusRunsMessagesModel.js.map +1 -0
  86. package/dist/schema-definitions/vehicle-positions/models/index.d.ts +1 -0
  87. package/dist/schema-definitions/vehicle-positions/models/index.js +1 -0
  88. package/dist/schema-definitions/vehicle-positions/models/index.js.map +1 -1
  89. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.d.ts +12 -0
  90. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.js +3 -0
  91. package/dist/schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel.js.map +1 -0
  92. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.d.ts +5 -0
  93. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.js +3 -0
  94. package/dist/schema-definitions/vehicle-positions/redis/interfaces/IRegionalBusCisCacheDto.js.map +1 -0
  95. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.d.ts +4 -0
  96. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.js +22 -0
  97. package/dist/schema-definitions/vehicle-positions/redis/schemas/RegionalBusCisCacheDtoSchema.js.map +1 -0
  98. package/docs/implementation_documentation.md +49 -4
  99. package/package.json +1 -1
  100. package/db/example/17_metroRailtrack.sql +0 -357
  101. package/dist/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunsMessagesTask.js.map +0 -1
  102. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +0 -9
  103. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +0 -59
  104. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +0 -1
  105. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +0 -11
  106. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +0 -117
  107. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +0 -1
@@ -16,18 +16,6 @@ class MetroRouteHelper {
16
16
  static getRouteId(routeName) {
17
17
  return metroRouteId[routeName];
18
18
  }
19
- static getTripRouteMap() {
20
- if (!this.tripToRouteMetroMap) {
21
- this.tripToRouteMetroMap = {};
22
- for (const routeName of Object.values(MetroRouteName)) {
23
- this.tripToRouteMetroMap[`${MetroRouteHelper.getRouteId(routeName)}`] = routeName.toString();
24
- }
25
- }
26
- return this.tripToRouteMetroMap;
27
- }
28
- static getRouteName(tripId) {
29
- return this.getTripRouteMap()[tripId.substring(0, 3)];
30
- }
31
19
  }
32
20
  exports.MetroRouteHelper = MetroRouteHelper;
33
21
  //# sourceMappingURL=MetroRouteHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAGlB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;gBACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;aAChG;SACJ;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AArBD,4CAqBC"}
1
+ {"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAClB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;CACJ;AAJD,4CAIC"}
@@ -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) {
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,EAAE;gBAC5E,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICisLookupManager.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/ICisLookupManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ export interface IRegionalBusMessageFilter {
3
+ getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IRegionalBusMessageFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusMessageFilter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ import { IRegionalBusRunsMessagePropertiesWrapper } from "../../../interfaces/RegionalBusRunsMessageInterfaces";
3
+ export interface IRegionalBusRunsFacade {
4
+ transformAndSaveMessages(messages: IRegionalBusRunsMessagePropertiesWrapper[]): Promise<IRegionalBusRunsMessagesModel[]>;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IRegionalBusRunsFacade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRegionalBusRunsFacade.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/interfaces/IRegionalBusRunsFacade.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ export interface IRegionalBusRunsInput {
2
+ M: IRegionalBusRunsMessageContent;
3
+ }
4
+ export interface IRegionalBusRunsMessageContent {
5
+ V: IRegionalBusRunsMessagePropertiesWrapper | IRegionalBusRunsMessagePropertiesWrapper[];
6
+ }
7
+ export interface IRegionalBusRunsMessagePropertiesWrapper {
8
+ $: IRegionalBusRunsMessageProperties;
9
+ }
10
+ export interface IRegionalBusRunsMessageProperties {
11
+ imei: string;
12
+ line?: string;
13
+ conn?: string;
14
+ events: string;
15
+ lat: string;
16
+ lng: string;
17
+ tm: string;
18
+ evc?: string;
19
+ rych: string;
20
+ smer: string;
21
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=RegionalBusRunsMessageInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusRunsMessageInterfaces.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/interfaces/RegionalBusRunsMessageInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { IRegionalBusRunsInput, IRegionalBusRunsMessageContent } from "../interfaces/RegionalBusRunsMessageInterfaces";
2
+ export declare class RegionalBusRunsValidationSchema implements IRegionalBusRunsInput {
3
+ M: IRegionalBusRunsMessageContent;
4
+ }
@@ -0,0 +1,85 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RegionalBusRunsValidationSchema = void 0;
13
+ const class_transformer_1 = require("@golemio/core/dist/shared/class-transformer");
14
+ const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
15
+ class MessagePropertiesValidationSchema {
16
+ }
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], MessagePropertiesValidationSchema.prototype, "imei", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsOptional)(),
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], MessagePropertiesValidationSchema.prototype, "line", void 0);
26
+ __decorate([
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.IsString)(),
29
+ __metadata("design:type", String)
30
+ ], MessagePropertiesValidationSchema.prototype, "conn", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsString)(),
33
+ __metadata("design:type", String)
34
+ ], MessagePropertiesValidationSchema.prototype, "events", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsNumberString)(),
37
+ __metadata("design:type", String)
38
+ ], MessagePropertiesValidationSchema.prototype, "lat", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsNumberString)(),
41
+ __metadata("design:type", String)
42
+ ], MessagePropertiesValidationSchema.prototype, "lng", void 0);
43
+ __decorate([
44
+ (0, class_validator_1.IsISO8601)(),
45
+ __metadata("design:type", String)
46
+ ], MessagePropertiesValidationSchema.prototype, "tm", void 0);
47
+ __decorate([
48
+ (0, class_validator_1.IsOptional)(),
49
+ (0, class_validator_1.IsNumberString)(),
50
+ __metadata("design:type", String)
51
+ ], MessagePropertiesValidationSchema.prototype, "evc", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsNumberString)(),
54
+ __metadata("design:type", String)
55
+ ], MessagePropertiesValidationSchema.prototype, "rych", void 0);
56
+ __decorate([
57
+ (0, class_validator_1.IsNumberString)(),
58
+ __metadata("design:type", String)
59
+ ], MessagePropertiesValidationSchema.prototype, "smer", void 0);
60
+ class MessagePropertiesWrapperValidationSchema {
61
+ }
62
+ __decorate([
63
+ (0, class_validator_1.IsObject)(),
64
+ (0, class_validator_1.ValidateNested)(),
65
+ (0, class_transformer_1.Type)(() => MessagePropertiesValidationSchema),
66
+ __metadata("design:type", Object)
67
+ ], MessagePropertiesWrapperValidationSchema.prototype, "$", void 0);
68
+ class MessageContentValidationSchema {
69
+ }
70
+ __decorate([
71
+ (0, class_validator_1.IsObject)({ each: true }),
72
+ (0, class_validator_1.ValidateNested)(),
73
+ (0, class_transformer_1.Type)(() => MessagePropertiesWrapperValidationSchema),
74
+ __metadata("design:type", Object)
75
+ ], MessageContentValidationSchema.prototype, "V", void 0);
76
+ class RegionalBusRunsValidationSchema {
77
+ }
78
+ exports.RegionalBusRunsValidationSchema = RegionalBusRunsValidationSchema;
79
+ __decorate([
80
+ (0, class_validator_1.IsObject)(),
81
+ (0, class_validator_1.ValidateNested)(),
82
+ (0, class_transformer_1.Type)(() => MessageContentValidationSchema),
83
+ __metadata("design:type", Object)
84
+ ], RegionalBusRunsValidationSchema.prototype, "M", void 0);
85
+ //# sourceMappingURL=RegionalBusRunsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusRunsSchema.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/schema/RegionalBusRunsSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mFAAmE;AACnE,+EAOmD;AAQnD,MAAM,iCAAiC;CAiCtC;AA/BG;IADC,IAAA,0BAAQ,GAAE;;+DACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+DACG;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+DACG;AAGd;IADC,IAAA,0BAAQ,GAAE;;iEACK;AAGhB;IADC,IAAA,gCAAc,GAAE;;8DACJ;AAGb;IADC,IAAA,gCAAc,GAAE;;8DACJ;AAGb;IADC,IAAA,2BAAS,GAAE;;6DACA;AAIZ;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;;8DACJ;AAGb;IADC,IAAA,gCAAc,GAAE;;+DACH;AAGd;IADC,IAAA,gCAAc,GAAE;;+DACH;AAGlB,MAAM,wCAAwC;CAK7C;AADG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC;;mEACR;AAG1C,MAAM,8BAA8B;CAKnC;AADG;IAHC,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,wCAAwC,CAAC;;yDACqC;AAG9F,MAAa,+BAA+B;CAK3C;AALD,0EAKC;AADG;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;;0DACR"}
@@ -7,6 +7,7 @@ export declare class DeleteDataTask extends AbstractTask<IDataDeletionParams> {
7
7
  readonly schema: typeof DataDeletionValidationSchema;
8
8
  private readonly commonRunsRepository;
9
9
  private readonly metroMessagesRepository;
10
+ private readonly regionalBusMessageRepository;
10
11
  constructor(queuePrefix: string);
11
12
  protected execute(data: IDataDeletionParams): Promise<void>;
12
13
  }
@@ -14,6 +14,7 @@ const DataDeletionSchema_1 = require("../../../../shared/schema/DataDeletionSche
14
14
  const workers_1 = require("@golemio/core/dist/integration-engine/workers");
15
15
  const CommonRunsRepository_1 = require("../data-access/CommonRunsRepository");
16
16
  const MetroRunsMessagesRepository_1 = require("../data-access/MetroRunsMessagesRepository");
17
+ const RegionalBusRunsMessagesRepository_1 = require("../data-access/RegionalBusRunsMessagesRepository");
17
18
  class DeleteDataTask extends workers_1.AbstractTask {
18
19
  constructor(queuePrefix) {
19
20
  super(queuePrefix);
@@ -22,11 +23,13 @@ class DeleteDataTask extends workers_1.AbstractTask {
22
23
  this.schema = DataDeletionSchema_1.DataDeletionValidationSchema;
23
24
  this.commonRunsRepository = new CommonRunsRepository_1.CommonRunsRepository();
24
25
  this.metroMessagesRepository = new MetroRunsMessagesRepository_1.MetroRunsMessagesRepository();
26
+ this.regionalBusMessageRepository = new RegionalBusRunsMessagesRepository_1.RegionalBusRunsMessagesRepository();
25
27
  }
26
28
  execute(data) {
27
29
  return __awaiter(this, void 0, void 0, function* () {
28
- yield this.commonRunsRepository.deleteNHoursOldData(data.targetHours);
29
- yield this.metroMessagesRepository.deleteNHoursOldData(data.targetHours);
30
+ yield this.commonRunsRepository.deleteNHoursOldData(data.targetHours, "msg_last_timestamp");
31
+ yield this.metroMessagesRepository.deleteNHoursOldData(data.targetHours, "message_timestamp");
32
+ yield this.regionalBusMessageRepository.deleteNHoursOldData(data.targetHours, "vehicle_timestamp");
30
33
  });
31
34
  }
32
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qFAAoF;AACpF,2EAA6E;AAC7E,8EAA2E;AAC3E,4FAAyF;AAEzF,MAAa,cAAe,SAAQ,sBAAiC;IAQjE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,YAAY,CAAC;QACzB,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACxC,WAAM,GAAG,iDAA4B,CAAC;QAOlD,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,yDAA2B,EAAE,CAAC;IACrE,CAAC;IAEe,OAAO,CAAC,IAAyB;;YAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtE,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;KAAA;CACJ;AAlBD,wCAkBC"}
1
+ {"version":3,"file":"DeleteDataTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/DeleteDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qFAAoF;AACpF,2EAA6E;AAC7E,8EAA2E;AAC3E,4FAAyF;AACzF,wGAAqG;AAErG,MAAa,cAAe,SAAQ,sBAAiC;IASjE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QATP,cAAS,GAAG,YAAY,CAAC;QACzB,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACxC,WAAM,GAAG,iDAA4B,CAAC;QAQlD,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACvD,IAAI,CAAC,uBAAuB,GAAG,IAAI,yDAA2B,EAAE,CAAC;QACjE,IAAI,CAAC,4BAA4B,GAAG,IAAI,qEAAiC,EAAE,CAAC;IAChF,CAAC;IAEe,OAAO,CAAC,IAAyB;;YAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAC5F,MAAM,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACvG,CAAC;KAAA;CACJ;AArBD,wCAqBC"}
@@ -1,7 +1,7 @@
1
1
  import { AbstractTask } from "@golemio/core/dist/integration-engine";
2
2
  import { IProcessMetroRunsMessagesInput } from "../interfaces/IProcessMetroRunsMessagesInput";
3
3
  import { MetroTransformedRunsValidationSchema } from "../schema/MetroTransformedRunsSchema";
4
- export declare class ProcessMetroRunsMessagesTask extends AbstractTask<IProcessMetroRunsMessagesInput> {
4
+ export declare class ProcessMetroRunMessagesTask extends AbstractTask<IProcessMetroRunsMessagesInput> {
5
5
  readonly queueName = "processMetroRunMessages";
6
6
  readonly queueTtl: number;
7
7
  readonly schema: typeof MetroTransformedRunsValidationSchema;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProcessMetroRunsMessagesTask = void 0;
12
+ exports.ProcessMetroRunMessagesTask = void 0;
13
13
  const cache_1 = require("../../../../ropid-gtfs/data-access/cache");
14
14
  const MetroRailtrackGPSRepository_1 = require("../../../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
15
15
  const PositionsRepository_1 = require("../../vehicle-positions/data-access/PositionsRepository");
@@ -22,7 +22,7 @@ const CommonRunsRepository_1 = require("../data-access/CommonRunsRepository");
22
22
  const MetroMessageFilter_1 = require("../helpers/MetroMessageFilter");
23
23
  const MetroTransformedRunsSchema_1 = require("../schema/MetroTransformedRunsSchema");
24
24
  const MetroRunsMessageProcessingTransformation_1 = require("../transformations/MetroRunsMessageProcessingTransformation");
25
- class ProcessMetroRunsMessagesTask extends integration_engine_1.AbstractTask {
25
+ class ProcessMetroRunMessagesTask extends integration_engine_1.AbstractTask {
26
26
  constructor(queuePrefix) {
27
27
  super(queuePrefix);
28
28
  this.queueName = "processMetroRunMessages";
@@ -66,5 +66,5 @@ class ProcessMetroRunsMessagesTask extends integration_engine_1.AbstractTask {
66
66
  });
67
67
  }
68
68
  }
69
- exports.ProcessMetroRunsMessagesTask = ProcessMetroRunsMessagesTask;
70
- //# sourceMappingURL=ProcessMetroRunsMessagesTask.js.map
69
+ exports.ProcessMetroRunMessagesTask = ProcessMetroRunMessagesTask;
70
+ //# sourceMappingURL=ProcessMetroRunMessagesTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessMetroRunMessagesTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/ProcessMetroRunMessagesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAA2E;AAC3E,wIAA6H;AAE7H,iGAAsH;AACtH,yFAA8G;AAE9G,uHAGyG;AACzG,2FAA0D;AAC1D,8EAA2F;AAC3F,2EAAoE;AACpE,8EAA2E;AAC3E,sEAAmE;AAEnE,qFAA4F;AAC5F,0HAAuH;AAEvH,MAAa,2BAA4B,SAAQ,iCAA4C;IAazF,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAbP,cAAS,GAAG,yBAAyB,CAAC;QACtC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QACxC,WAAM,GAAG,iEAAoC,CAAC;QAY1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,mFAAwC,EAAE,CAAC;QAC/E,IAAI,CAAC,sBAAsB,GAAG,IAAI,yDAA2B,EAAE,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,2CAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,IAAI,+BAAuB,EAAE,CAAC;QAE7D,IAAI,CAAC,kBAAkB,GAAG,qDAAyB,CAAC,MAAM,CACtD,2CAAe,CAAC,KAAK,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,uBAAuB,CAC/B,CAAC;IACN,CAAC;IAEe,OAAO,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAkC;;YAC3E,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,uCAAkB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO;aACV;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEvF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC/C;QACL,CAAC;KAAA;IAEa,cAAc,CAAC,OAAiC,EAAE,OAA2C;;YACvG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;aACV;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClG,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,aAAG,CAAC,OAAO,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC9F,OAAO;aACV;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/F,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,MAAM,iCAAY,CAAC,qBAAqB,CACpC,GAAG,2BAAM,CAAC,oBAAoB,IAAI,oCAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EACvE,aAAa,EACb,QAAQ,CACX,CAAC;aACL;QACL,CAAC;KAAA;CACJ;AAjED,kEAiEC"}
@@ -0,0 +1,11 @@
1
+ import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
2
+ import { IRegionalBusRunsInput } from "../interfaces/RegionalBusRunsMessageInterfaces";
3
+ import { RegionalBusRunsValidationSchema } from "../schema/RegionalBusRunsSchema";
4
+ export declare class SaveArrivaCityRunsToDB extends AbstractTask<IRegionalBusRunsInput> {
5
+ readonly queueName = "saveArrivaCityRunsToDB";
6
+ readonly queueTtl: number;
7
+ readonly schema: typeof RegionalBusRunsValidationSchema;
8
+ private readonly regionalBusRunsFacade;
9
+ constructor(queuePrefix: string);
10
+ protected execute(data: IRegionalBusRunsInput): Promise<void>;
11
+ }
@@ -0,0 +1,37 @@
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.SaveArrivaCityRunsToDB = void 0;
13
+ const workers_1 = require("@golemio/core/dist/integration-engine/workers");
14
+ const RegionalBusRunsFacade_1 = require("../helpers/regional-bus/RegionalBusRunsFacade");
15
+ const RegionalBusRunsSchema_1 = require("../schema/RegionalBusRunsSchema");
16
+ class SaveArrivaCityRunsToDB extends workers_1.AbstractTask {
17
+ constructor(queuePrefix) {
18
+ super(queuePrefix);
19
+ this.queueName = "saveArrivaCityRunsToDB";
20
+ this.queueTtl = 3 * 60 * 1000; // 3 minutes
21
+ this.schema = RegionalBusRunsSchema_1.RegionalBusRunsValidationSchema;
22
+ this.regionalBusRunsFacade = new RegionalBusRunsFacade_1.RegionalBusRunsFacade();
23
+ }
24
+ execute(data) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const inputMessages = Array.isArray(data.M.V) ? data.M.V : [data.M.V];
27
+ const transformedMessages = yield this.regionalBusRunsFacade.transformAndSaveMessages(inputMessages);
28
+ if (transformedMessages.length === 0) {
29
+ return;
30
+ }
31
+ // TODO send transformed messages to the next queue for further processing
32
+ // https://gitlab.com/operator-ict/golemio/projekty/ropid/polohy-vozidel/-/issues/28
33
+ });
34
+ }
35
+ }
36
+ exports.SaveArrivaCityRunsToDB = SaveArrivaCityRunsToDB;
37
+ //# sourceMappingURL=SaveArrivaCityRunsToDB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveArrivaCityRunsToDB.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/tasks/SaveArrivaCityRunsToDB.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAA6E;AAC7E,yFAAsF;AAGtF,2EAAkF;AAElF,MAAa,sBAAuB,SAAQ,sBAAmC;IAO3E,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAPP,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,uDAA+B,CAAC;QAMrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;IAC7D,CAAC;IAEe,OAAO,CAAC,IAA2B;;YAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;YACrG,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO;aACV;YAED,0EAA0E;YAC1E,oFAAoF;QACxF,CAAC;KAAA;CACJ;AAtBD,wDAsBC"}
@@ -30,7 +30,7 @@ class SaveMetroRunsToDBTask extends workers_1.AbstractTask {
30
30
  if (messages.length === 0) {
31
31
  return;
32
32
  }
33
- yield this.messagesRepository.saveData(messages);
33
+ yield this.messagesRepository.bulkSave(messages);
34
34
  yield queueprocessors_1.QueueManager.sendMessageToExchange(this.queuePrefix, "processMetroRunMessages", {
35
35
  routeName: data.m.$.linka,
36
36
  messages,
@@ -0,0 +1,10 @@
1
+ import { IRegionalBusRunsMessagesModel } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
3
+ import { IRegionalBusRunsMessagePropertiesWrapper } from "../interfaces/RegionalBusRunsMessageInterfaces";
4
+ type TransformIn = IRegionalBusRunsMessagePropertiesWrapper;
5
+ type TransformOut = IRegionalBusRunsMessagesModel;
6
+ export declare class RegionalBusRunsMessagesTransformation extends AbstractTransformation<TransformIn, TransformOut> {
7
+ name: string;
8
+ protected transformInternal: (data: TransformIn) => TransformOut;
9
+ }
10
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegionalBusRunsMessagesTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ class RegionalBusRunsMessagesTransformation extends AbstractTransformation_1.AbstractTransformation {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.name = "RegionalBusRunsMessagesTransformation";
9
+ this.transformInternal = (data) => {
10
+ const messageData = data.$;
11
+ return {
12
+ external_trip_id: messageData.imei,
13
+ cis_route_id: messageData.line && messageData.line !== "0" ? messageData.line : null,
14
+ cis_trip_id: messageData.conn && messageData.conn !== "0" ? messageData.conn : null,
15
+ events: messageData.events,
16
+ coordinates: {
17
+ type: "Point",
18
+ coordinates: [Number.parseFloat(messageData.lng), Number.parseFloat(messageData.lat)],
19
+ },
20
+ vehicle_timestamp: new Date(messageData.tm + "Z"),
21
+ registration_number: messageData.evc && messageData.evc !== "0" ? Number.parseInt(messageData.evc) : null,
22
+ speed_kmh: Number.parseInt(messageData.rych),
23
+ bearing: Number.parseInt(messageData.smer),
24
+ };
25
+ };
26
+ }
27
+ }
28
+ exports.RegionalBusRunsMessagesTransformation = RegionalBusRunsMessagesTransformation;
29
+ //# sourceMappingURL=RegionalBusRunsMessagesTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegionalBusRunsMessagesTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/transformations/RegionalBusRunsMessagesTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAM1G,MAAa,qCAAsC,SAAQ,+CAAiD;IAA5G;;QACW,SAAI,GAAG,uCAAuC,CAAC;QAE5C,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;YAE3B,OAAO;gBACH,gBAAgB,EAAE,WAAW,CAAC,IAAI;gBAClC,YAAY,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACpF,WAAW,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACnF,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,WAAW,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBACxF;gBACD,iBAAiB,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,GAAG,CAAC;gBACjD,mBAAmB,EAAE,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzG,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;aAC7C,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AArBD,sFAqBC"}
@@ -71,9 +71,6 @@ export default class PositionsManager {
71
71
  * @returns {number} - Result delay in seconds, can be negative for trip ahead
72
72
  */
73
73
  private static getCorrectedTimeDelay;
74
- private static handleContext;
75
- private static handleNotTracking;
76
- private static handleTracking;
77
74
  /**
78
75
  * Get delay in seconds for positions before track to ensure correct delay propagation
79
76
  */