@golemio/pid 3.13.1 → 3.13.2-dev.1802603210

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 (49) hide show
  1. package/dist/helpers/RedisJsonParser.d.ts +21 -0
  2. package/dist/helpers/RedisJsonParser.js +57 -0
  3. package/dist/helpers/RedisJsonParser.js.map +1 -0
  4. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
  5. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  6. package/dist/integration-engine/jis/ioc/Di.js +2 -0
  7. package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
  8. package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +1 -0
  9. package/dist/integration-engine/jis/ioc/JISContainerToken.js +1 -0
  10. package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
  11. package/dist/integration-engine/jis/repositories/JISEventsRepository.d.ts +9 -1
  12. package/dist/integration-engine/jis/repositories/JISEventsRepository.js +33 -2
  13. package/dist/integration-engine/jis/repositories/JISEventsRepository.js.map +1 -1
  14. package/dist/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.d.ts +14 -0
  15. package/dist/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.js +63 -0
  16. package/dist/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.js.map +1 -0
  17. package/dist/integration-engine/ropid-gtfs/data-access/RopidGTFSRoutesRepository.d.ts +12 -0
  18. package/dist/integration-engine/ropid-gtfs/data-access/RopidGTFSRoutesRepository.js +39 -0
  19. package/dist/integration-engine/ropid-gtfs/data-access/RopidGTFSRoutesRepository.js.map +1 -0
  20. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.d.ts +2 -0
  21. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js +48 -1
  22. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  23. package/dist/integration-engine/ropid-gtfs/ioc/Di.js +15 -13
  24. package/dist/integration-engine/ropid-gtfs/ioc/Di.js.map +1 -1
  25. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.d.ts +1 -0
  26. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +1 -0
  27. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  28. package/dist/integration-engine/vehicle-positions/ioc/Di.js +1 -1
  29. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  30. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.d.ts +7 -1
  31. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js +14 -4
  32. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertsGenerator.js.map +1 -1
  33. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js +10 -6
  34. package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/tasks/GenerateFilesTask.js.map +1 -1
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/VPInterfaces.d.ts +3 -1
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js +2 -3
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/ProcessRegionalBusPositionsTask.js.map +1 -1
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +2 -3
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  41. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.d.ts +1 -1
  42. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js +10 -14
  43. package/dist/output-gateway/public/data-access/redis/DelayComputationRepository.js.map +1 -1
  44. package/dist/output-gateway/public/domain/repository/IDelayComputationRepository.d.ts +1 -1
  45. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js +1 -1
  46. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/ShapesTripScopeHandler.js.map +1 -1
  47. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +1 -1
  48. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
  49. package/package.json +3 -3
@@ -0,0 +1,21 @@
1
+ export declare class RedisJsonParser {
2
+ /**
3
+ * Parses a Redis JSON.GET response when multiple properties are requested.
4
+ * For multiple properties, the result is like: { "$.a": [valueA], "$.b": [valueB] }.
5
+ *
6
+ * @param json - The JSON string or object to parse.
7
+ * @param context - Additional context for error handling.
8
+ * @returns The parsed object with unwrapped values.
9
+ */
10
+ static parse<T extends object>(json: string | object, context: string): T;
11
+ /**
12
+ * Parses a Redis JSON.GET response when a single property is requested.
13
+ * Result for one property is like: [ [ ...value... ] ].
14
+ *
15
+ * @param json - The JSON string or object to parse.
16
+ * @param context - Additional context for error handling.
17
+ * @param property - The property name to extract.
18
+ * @returns An object with the extracted property.
19
+ */
20
+ static parseSingle<T extends object, K extends keyof T>(json: unknown, context: string, property: K): Pick<T, K>;
21
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisJsonParser = void 0;
4
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
5
+ class RedisJsonParser {
6
+ /**
7
+ * Parses a Redis JSON.GET response when multiple properties are requested.
8
+ * For multiple properties, the result is like: { "$.a": [valueA], "$.b": [valueB] }.
9
+ *
10
+ * @param json - The JSON string or object to parse.
11
+ * @param context - Additional context for error handling.
12
+ * @returns The parsed object with unwrapped values.
13
+ */
14
+ static parse(json, context) {
15
+ let parsed;
16
+ try {
17
+ parsed = typeof json === "string" ? JSON.parse(json) : json;
18
+ }
19
+ catch (err) {
20
+ throw new golemio_errors_1.GeneralError(`Failed to parse Redis JSON with more properties`, context, err);
21
+ }
22
+ const obj = {};
23
+ for (const [key, value] of Object.entries(parsed)) {
24
+ const newKey = key.startsWith("$.") ? key.slice(2) : key;
25
+ if (Array.isArray(value)) {
26
+ obj[newKey] = value.length === 1 ? value[0] : value;
27
+ }
28
+ else {
29
+ obj[newKey] = value;
30
+ }
31
+ }
32
+ return obj;
33
+ }
34
+ /**
35
+ * Parses a Redis JSON.GET response when a single property is requested.
36
+ * Result for one property is like: [ [ ...value... ] ].
37
+ *
38
+ * @param json - The JSON string or object to parse.
39
+ * @param context - Additional context for error handling.
40
+ * @param property - The property name to extract.
41
+ * @returns An object with the extracted property.
42
+ */
43
+ static parseSingle(json, context, property) {
44
+ try {
45
+ const parsed = typeof json === "string" ? JSON.parse(json) : json;
46
+ const value = Array.isArray(parsed) && parsed.length === 1 ? parsed[0] : parsed;
47
+ return {
48
+ [property]: value,
49
+ };
50
+ }
51
+ catch (err) {
52
+ throw new golemio_errors_1.GeneralError(`Failed to parse Redis JSON with single property`, context, err);
53
+ }
54
+ }
55
+ }
56
+ exports.RedisJsonParser = RedisJsonParser;
57
+ //# sourceMappingURL=RedisJsonParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisJsonParser.js","sourceRoot":"","sources":["../../src/helpers/RedisJsonParser.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AAExE,MAAa,eAAe;IACxB;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAmB,IAAqB,EAAE,OAAe;QACxE,IAAI,MAA+B,CAAC;QACpC,IAAI;YACA,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;SAC3F;QAED,MAAM,GAAG,GAAG,EAAO,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,GAAG,CAAC,MAAiB,CAAC,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aAClE;iBAAM;gBACH,GAAG,CAAC,MAAiB,CAAC,GAAG,KAAmB,CAAC;aAChD;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,WAAW,CAAsC,IAAa,EAAE,OAAe,EAAE,QAAW;QACtG,IAAI;YACA,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAEhF,OAAO;gBACH,CAAC,QAAQ,CAAC,EAAE,KAAK;aACN,CAAC;SACnB;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,6BAAY,CAAC,iDAAiD,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;SAC3F;IACL,CAAC;CACJ;AAnDD,0CAmDC"}
@@ -20,7 +20,6 @@ class VehiclePositionsController extends controllers_1.BaseController {
20
20
  const dataBatches = this.splitData(inputData);
21
21
  for (const batch of dataBatches) {
22
22
  await this.sendMessageToExchange("input." + this.queuePrefix + ".saveDataToDB", JSON.stringify(batch), {
23
- persistent: true,
24
23
  timestamp: new Date().getTime(),
25
24
  });
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QAtCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAoCJ;AAlDD,gEAkDC"}
1
+ {"version":3,"file":"VehiclePositionsController.js","sourceRoot":"","sources":["../../../src/input-gateway/vehicle-positions/VehiclePositionsController.ts"],"names":[],"mappings":";;;AAAA,kFAA0D;AAG1D,wEAAqE;AACrE,8EAA8E;AAC9E,8DAA6E;AAC7E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,MAAa,0BAA2B,SAAQ,4BAAc;IAM1D;QACI,KAAK,CACD,oCAAgB,CAAC,IAAI,EACrB,IAAI,uCAAmB,CAAC,oCAAgB,CAAC,IAAI,GAAG,YAAY,EAAE,oCAAgB,CAAC,oBAAoB,CAAC,CACvG,CAAC;QAMN;;WAEG;QACI,gBAAW,GAAG,KAAK,EAAE,SAA2B,EAAiB,EAAE;YACtE,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACnG,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;qBAClC,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,IAAsB,EAAsB,EAAE;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACjB;YAED,MAAM,MAAM,GAAuB,EAAE,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;aACvC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QArCE,MAAM,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CAmCJ;AAjDD,gEAiDC"}
@@ -11,6 +11,7 @@ const JISInfotextsRopidGTFSStopsRepository_1 = require("../repositories/JISInfot
11
11
  const JISMetadataRepository_1 = require("../repositories/JISMetadataRepository");
12
12
  const JISEventsDataService_1 = require("../services/JISEventsDataService");
13
13
  const JISInfotextsDataService_1 = require("../services/JISInfotextsDataService");
14
+ const JISEventsGtfsRtTransformation_1 = require("../transformations/JISEventsGtfsRtTransformation");
14
15
  const JISEventsTransformation_1 = require("../transformations/JISEventsTransformation");
15
16
  const JISInfotextsTransformation_1 = require("../transformations/JISInfotextsTransformation");
16
17
  const FetchJISEventsTask_1 = require("../workers/tasks/FetchJISEventsTask");
@@ -45,5 +46,6 @@ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISI
45
46
  //#endregion
46
47
  //#region Transformations
47
48
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsTransformation, JISEventsTransformation_1.JISEventsTransformation);
49
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsGtfsRtTransformation, JISEventsGtfsRtTransformation_1.JISEventsGtfsRtTransformation);
48
50
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsTransformation, JISInfotextsTransformation_1.JISInfotextsTransformation);
49
51
  //# sourceMappingURL=Di.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,0FAAuF;AACvF,gGAA6F;AAC7F,6EAA0E;AAC1E,2GAAwG;AACxG,mFAAgF;AAChF,+GAA4G;AAC5G,iFAA8E;AAC9E,2EAAwE;AACxE,iFAA8E;AAC9E,wFAAqF;AACrF,8FAA2F;AAC3F,4EAAyE;AACzE,kFAA+E;AAC/E,gFAA6E;AAC7E,sFAAmF;AACnF,2DAAwD;AAExD,wBAAwB;AACxB,MAAM,YAAY,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAiCrE,oCAAY;AAhCrB,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AAC3F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACjG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AAC7H,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY;AAEZ,kBAAkB;AAClB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,QAAQ,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC,CAAC;AACzF,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,0FAAuF;AACvF,gGAA6F;AAC7F,6EAA0E;AAC1E,2GAAwG;AACxG,mFAAgF;AAChF,+GAA4G;AAC5G,iFAA8E;AAC9E,2EAAwE;AACxE,iFAA8E;AAC9E,oGAAiG;AACjG,wFAAqF;AACrF,8FAA2F;AAC3F,4EAAyE;AACzE,kFAA+E;AAC/E,gFAA6E;AAC7E,sFAAmF;AACnF,2DAAwD;AAExD,wBAAwB;AACxB,MAAM,YAAY,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AAkCrE,oCAAY;AAjCrB,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC;AACzG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,mBAAmB,EAAE,yCAAmB,CAAC,CAAC;AAC3F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kCAAkC,EAAE,uEAAkC,CAAC,CAAC;AACzH,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,sBAAsB,EAAE,+CAAsB,CAAC,CAAC;AACjG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC,CAAC;AAC7H,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY;AAEZ,kBAAkB;AAClB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,QAAQ,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC,CAAC;AACzF,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,oBAAoB,EAAE,2CAAoB,CAAC,CAAC;AAC7F,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY;AAEZ,yBAAyB;AACzB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC,CAAC"}
@@ -9,6 +9,7 @@ declare const JISContainerToken: {
9
9
  JISEventsDataService: symbol;
10
10
  JISInfotextsDataService: symbol;
11
11
  JISEventsTransformation: symbol;
12
+ JISEventsGtfsRtTransformation: symbol;
12
13
  JISInfotextsTransformation: symbol;
13
14
  FetchJISEventsTask: symbol;
14
15
  FetchJISInfotextsTask: symbol;
@@ -16,6 +16,7 @@ const JISContainerToken = {
16
16
  JISInfotextsDataService: Symbol("JISInfotextsDataService"),
17
17
  /* Transformations */
18
18
  JISEventsTransformation: Symbol("JISEventsTransformation"),
19
+ JISEventsGtfsRtTransformation: Symbol("JISEventsGtfsRtTransformation"),
19
20
  JISInfotextsTransformation: Symbol("JISInfotextsTransformation"),
20
21
  /* Tasks */
21
22
  FetchJISEventsTask: Symbol("FetchJISEventsTask"),
@@ -1 +1 @@
1
- {"version":3,"file":"JISContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/JISContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACtB,kBAAkB;IAClB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,cAAc;IACd,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,qBAAqB;IACrB,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,WAAW;IACX,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;CAC7D,CAAC;AAEO,8CAAiB"}
1
+ {"version":3,"file":"JISContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/ioc/JISContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACtB,kBAAkB;IAClB,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,kBAAkB;IAClB,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,kCAAkC,EAAE,MAAM,CAAC,oCAAoC,CAAC;IAChF,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;IACxD,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,cAAc;IACd,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,qBAAqB;IACrB,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,WAAW;IACX,kBAAkB,EAAE,MAAM,CAAC,oBAAoB,CAAC;IAChD,qBAAqB,EAAE,MAAM,CAAC,uBAAuB,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;CAC7D,CAAC;AAEO,8CAAiB"}
@@ -5,17 +5,25 @@ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postg
5
5
  import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
6
6
  import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
7
7
  import { Transaction } from "@golemio/core/dist/shared/sequelize";
8
+ import { JISEventsRopidGTFSRoutesRepository } from "./JISEventsRopidGTFSRoutesRepository";
8
9
  type RepositoryOptions = {
9
10
  transaction?: Transaction;
10
11
  };
11
12
  export declare class JISEventsRepository extends AbstractValidatableRepository {
12
13
  private logger;
14
+ private eventsRopidGTFSRoutesRepository;
13
15
  validator: JSONSchemaValidator;
14
16
  schema: string;
15
17
  tableName: string;
16
18
  private sequelizeModel;
17
- constructor(connector: IDatabaseConnector, logger: ILogger);
19
+ private ropidGTFSRoutesRepository;
20
+ constructor(connector: IDatabaseConnector, logger: ILogger, eventsRopidGTFSRoutesRepository: JISEventsRopidGTFSRoutesRepository);
18
21
  deleteAndCountAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
22
+ getCurrentIncidents(organizationNames: string[]): Promise<Array<JISEventsModel & {
23
+ routes: Array<{
24
+ route_id: string;
25
+ }>;
26
+ }>>;
19
27
  /**
20
28
  * Refresh all data from VYMI and delete old data
21
29
  *
@@ -21,16 +21,28 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
21
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
22
  const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
23
23
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
24
+ const JISContainerToken_1 = require("../ioc/JISContainerToken");
25
+ const JISEventsRopidGTFSRoutesRepository_1 = require("./JISEventsRopidGTFSRoutesRepository");
26
+ const Di_1 = require("../../ropid-gtfs/ioc/Di");
27
+ const RopidGtfsContainerToken_1 = require("../../ropid-gtfs/ioc/RopidGtfsContainerToken");
24
28
  let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
25
- constructor(connector, logger) {
29
+ constructor(connector, logger, eventsRopidGTFSRoutesRepository) {
26
30
  super(connector, logger);
27
31
  this.logger = logger;
32
+ this.eventsRopidGTFSRoutesRepository = eventsRopidGTFSRoutesRepository;
28
33
  this.schema = const_1.PG_SCHEMA;
29
34
  this.tableName = JISEventsModel_1.JISEventsModel.tableName;
30
35
  this.validator = new golemio_validator_1.JSONSchemaValidator("JISEventsRepository", JISEventsModel_1.JISEventsModel.jsonSchema);
31
36
  this.sequelizeModel = connector
32
37
  .getConnection()
33
38
  .define(this.tableName, JISEventsModel_1.JISEventsModel.attributeModel, { schema: this.schema });
39
+ this.ropidGTFSRoutesRepository = Di_1.RopidGtfsContainer.resolve(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSRoutesRepository);
40
+ this.sequelizeModel.belongsToMany(this.ropidGTFSRoutesRepository["sequelizeModel"], {
41
+ through: eventsRopidGTFSRoutesRepository["sequelizeModel"],
42
+ foreignKey: "event_id",
43
+ otherKey: "route_id",
44
+ as: "routes",
45
+ });
34
46
  }
35
47
  async deleteAndCountAllLastUpdatedBefore(dateTime, options) {
36
48
  try {
@@ -45,6 +57,24 @@ let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepositor
45
57
  throw new golemio_errors_1.GeneralError("Error in deleteAndCountAllLastUpdatedBefore", this.constructor.name, err);
46
58
  }
47
59
  }
60
+ async getCurrentIncidents(organizationNames) {
61
+ try {
62
+ return (await this.sequelizeModel.findAll({
63
+ where: { type: "INCIDENT", organization_name: organizationNames },
64
+ include: [
65
+ {
66
+ model: this.ropidGTFSRoutesRepository["sequelizeModel"],
67
+ as: "routes",
68
+ attributes: ["route_id"],
69
+ required: true,
70
+ },
71
+ ],
72
+ }));
73
+ }
74
+ catch (err) {
75
+ throw new golemio_errors_1.GeneralError("Error in getCurrentIncidents", this.constructor.name, err);
76
+ }
77
+ }
48
78
  /**
49
79
  * Refresh all data from VYMI and delete old data
50
80
  *
@@ -108,6 +138,7 @@ exports.JISEventsRepository = JISEventsRepository = __decorate([
108
138
  (0, tsyringe_1.injectable)(),
109
139
  __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
110
140
  __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
111
- __metadata("design:paramtypes", [Object, Object])
141
+ __param(2, (0, tsyringe_1.inject)(JISContainerToken_1.JISContainerToken.JISEventsRopidGTFSRoutesRepository)),
142
+ __metadata("design:paramtypes", [Object, Object, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository])
112
143
  ], JISEventsRepository);
113
144
  //# sourceMappingURL=JISEventsRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISEventsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISEventsRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IGtfsRtAlert } from "../../vehicle-positions/workers/gtfs-rt/interfaces/AlertsInterfaces";
2
+ import { IJISEvent as IJISEventModel } from "../../../schema-definitions/jis/models/interfaces";
3
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
4
+ type TransformIn = IJISEventModel & {
5
+ routes: Array<{
6
+ route_id: string;
7
+ }>;
8
+ };
9
+ type TransformOut = IGtfsRtAlert;
10
+ export declare class JISEventsGtfsRtTransformation extends AbstractTransformation<TransformIn, TransformOut> {
11
+ name: string;
12
+ protected transformInternal: (data: TransformIn) => TransformOut;
13
+ }
14
+ export {};
@@ -0,0 +1,63 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.JISEventsGtfsRtTransformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ let JISEventsGtfsRtTransformation = exports.JISEventsGtfsRtTransformation = class JISEventsGtfsRtTransformation extends AbstractTransformation_1.AbstractTransformation {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.name = "JISEventsGtfsRtTransformation";
16
+ this.transformInternal = (data) => {
17
+ return {
18
+ id: `alert-${data.id}`,
19
+ alert: {
20
+ activePeriod: [
21
+ {
22
+ start: new Date(data.active_period_start).getTime() / 1000,
23
+ ...(data.active_period_end ? { end: new Date(data.active_period_end).getTime() / 1000 } : {}),
24
+ },
25
+ ],
26
+ informedEntity: data.routes.map((route) => ({ routeId: route.route_id })),
27
+ // TODO check these enums and possibly use them in the data models
28
+ cause: data.cause,
29
+ effect: data.effect,
30
+ url: {
31
+ translation: [
32
+ // TODO consider filtering out these values during integration either at VYMI or here at Golemio (VP IE)
33
+ ...(data.url.cs !== "nevyplněno" ? [{ text: data.url.cs, language: "cs" }] : []),
34
+ ...(data.url.en ? [{ text: data.url.en, language: "en" }] : []),
35
+ ],
36
+ },
37
+ headerText: {
38
+ translation: [
39
+ {
40
+ text: data.header_text.cs,
41
+ language: "cs",
42
+ },
43
+ ...(data.header_text.en ? [{ text: data.header_text.en, language: "en" }] : []),
44
+ ],
45
+ },
46
+ descriptionText: {
47
+ translation: [
48
+ {
49
+ text: data.description_text.cs,
50
+ language: "cs",
51
+ },
52
+ ...(data.description_text.en ? [{ text: data.description_text.en, language: "en" }] : []),
53
+ ],
54
+ },
55
+ },
56
+ };
57
+ };
58
+ }
59
+ };
60
+ exports.JISEventsGtfsRtTransformation = JISEventsGtfsRtTransformation = __decorate([
61
+ (0, tsyringe_1.injectable)()
62
+ ], JISEventsGtfsRtTransformation);
63
+ //# sourceMappingURL=JISEventsGtfsRtTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventsGtfsRtTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/transformations/JISEventsGtfsRtTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAIA,6GAA0G;AAC1G,iEAAgE;AAMzD,IAAM,6BAA6B,2CAAnC,MAAM,6BAA8B,SAAQ,+CAAiD;IAA7F;;QACI,SAAI,GAAG,+BAA+B,CAAC;QAEpC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,OAAO;gBACH,EAAE,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE;gBACtB,KAAK,EAAE;oBACH,YAAY,EAAE;wBACV;4BACI,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI;4BAC1D,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChG;qBACJ;oBACD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACzE,kEAAkE;oBAClE,KAAK,EAAE,IAAI,CAAC,KAA2B;oBACvC,MAAM,EAAE,IAAI,CAAC,MAA6B;oBAC1C,GAAG,EAAE;wBACD,WAAW,EAAE;4BACT,wGAAwG;4BACxG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChF,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBAClE;qBACJ;oBACD,UAAU,EAAE;wBACR,WAAW,EAAE;4BACT;gCACI,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gCACzB,QAAQ,EAAE,IAAI;6BACjB;4BACD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBAClF;qBACJ;oBACD,eAAe,EAAE;wBACb,WAAW,EAAE;4BACT;gCACI,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;gCAC9B,QAAQ,EAAE,IAAI;6BACjB;4BACD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC5F;qBACJ;iBACJ;aACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;wCA7CY,6BAA6B;IADzC,IAAA,qBAAU,GAAE;GACA,6BAA6B,CA6CzC"}
@@ -0,0 +1,12 @@
1
+ import { ILogger } from "@golemio/core/dist/helpers";
2
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
3
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
4
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
5
+ export declare class RopidGTFSRoutesRepository extends AbstractValidatableRepository {
6
+ private logger;
7
+ validator: JSONSchemaValidator;
8
+ schema: string;
9
+ tableName: any;
10
+ private sequelizeModel;
11
+ constructor(connector: IDatabaseConnector, logger: ILogger);
12
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RopidGTFSRoutesRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
18
+ const RouteDto_1 = require("../../../schema-definitions/ropid-gtfs/models/RouteDto");
19
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
20
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ let RopidGTFSRoutesRepository = exports.RopidGTFSRoutesRepository = class RopidGTFSRoutesRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
24
+ constructor(connector, logger) {
25
+ super(connector, logger);
26
+ this.logger = logger;
27
+ this.schema = const_1.PG_SCHEMA;
28
+ this.tableName = ropid_gtfs_1.RopidGTFS.routes.pgTableName;
29
+ this.validator = new golemio_validator_1.JSONSchemaValidator("RopidGTFSRoutesRepository", RouteDto_1.RouteDto.attributeModel);
30
+ this.sequelizeModel = connector.getConnection().define(this.tableName, RouteDto_1.RouteDto.attributeModel, { schema: this.schema });
31
+ }
32
+ };
33
+ exports.RopidGTFSRoutesRepository = RopidGTFSRoutesRepository = __decorate([
34
+ (0, tsyringe_1.injectable)(),
35
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
36
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
37
+ __metadata("design:paramtypes", [Object, Object])
38
+ ], RopidGTFSRoutesRepository);
39
+ //# sourceMappingURL=RopidGTFSRoutesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RopidGTFSRoutesRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/ropid-gtfs/data-access/RopidGTFSRoutesRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAuC;AACvC,uEAA4C;AAC5C,qFAA2D;AAG3D,8IAA2I;AAC3I,wEAAqE;AACrE,mFAAkF;AAElF,iEAAwE;AAGjE,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,6DAA6B;IAOxE,YACyC,SAA6B,EACxC,MAAuB;QAEjD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAFS,WAAM,GAAN,MAAM,CAAS;QAP9C,WAAM,GAAG,iBAAS,CAAC;QACnB,cAAS,GAAG,sBAAS,CAAC,MAAM,CAAC,WAAW,CAAC;QAS5C,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,mBAAQ,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7H,CAAC;CACJ,CAAA;oCAfY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;IACnC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GATpB,yBAAyB,CAerC"}
@@ -2,9 +2,11 @@ import { IProcessedPositions, IRedisKeyExpiration, ITripPositionsWithGTFS } from
2
2
  import { RedisModel } from "@golemio/core/dist/integration-engine/models/RedisModel";
3
3
  export declare class DelayComputationRedisRepository extends RedisModel {
4
4
  static NAMESPACE_PREFIX: string;
5
+ private logger;
5
6
  constructor();
6
7
  expire(keys: string[], ttlInSeconds: number): Promise<void>;
7
8
  expirePxat(tripIdsWithTtl: IRedisKeyExpiration[]): Promise<void>;
8
9
  cacheTripDataBatch(trips: ITripPositionsWithGTFS[], positions: IProcessedPositions[]): Promise<void>;
10
+ getTripPropertiesBatch<T extends object>(tripIds: string[], properties: Array<keyof T>): Promise<Array<T | null>>;
9
11
  calculateExpirationTtl(positions: IProcessedPositions[], tripId: string): number;
10
12
  }
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DelayComputationRedisRepository = void 0;
4
+ const RedisJsonParser_1 = require("../../../../helpers/RedisJsonParser");
5
+ const Di_1 = require("../../ioc/Di");
4
6
  const DelayComputationDtoSchema_1 = require("../../../../schema-definitions/ropid-gtfs/redis/schemas/DelayComputationDtoSchema");
5
7
  const const_1 = require("../../../../schema-definitions/vehicle-positions/redis/const");
8
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
6
9
  const RedisModel_1 = require("@golemio/core/dist/integration-engine/models/RedisModel");
7
10
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
8
11
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
@@ -14,6 +17,7 @@ class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
14
17
  isKeyConstructedFromData: true,
15
18
  prefix: DelayComputationRedisRepository.NAMESPACE_PREFIX,
16
19
  }, new golemio_validator_1.JSONSchemaValidator("GTFSDelayComputationRedisRepositoryValidator", DelayComputationDtoSchema_1.DelayComputationDtoSchema));
20
+ this.logger = Di_1.RopidGtfsContainer.resolve(CoreToken_1.CoreToken.Logger);
17
21
  }
18
22
  async expire(keys, ttlInSeconds) {
19
23
  const pipeline = this.connection.pipeline();
@@ -45,7 +49,9 @@ class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
45
49
  const pipeline = this.connection.pipeline();
46
50
  for (const trip of trips) {
47
51
  const expirationTtl = this.calculateExpirationTtl(positions, trip.id);
48
- pipeline.set(`${DelayComputationRedisRepository.NAMESPACE_PREFIX}:${trip.gtfs_trip_id}`, JSON.stringify(trip.gtfsData), "PXAT", expirationTtl);
52
+ const redisKey = `${DelayComputationRedisRepository.NAMESPACE_PREFIX}:${trip.gtfs_trip_id}`;
53
+ pipeline.call("JSON.SET", redisKey, "$", JSON.stringify(trip.gtfsData));
54
+ pipeline.pexpireat(redisKey, expirationTtl);
49
55
  }
50
56
  try {
51
57
  await pipeline.exec();
@@ -54,6 +60,47 @@ class DelayComputationRedisRepository extends RedisModel_1.RedisModel {
54
60
  throw new golemio_errors_1.GeneralError("Error while setting caches in Redis with pipeline", this.constructor.name, err);
55
61
  }
56
62
  }
63
+ async getTripPropertiesBatch(tripIds, properties) {
64
+ if (tripIds.length === 0) {
65
+ return [];
66
+ }
67
+ const pipeline = this.connection.pipeline();
68
+ for (const tripId of tripIds) {
69
+ const redisKey = `${this.prefix}:${tripId}`;
70
+ const propertyPaths = [];
71
+ for (const prop of properties) {
72
+ propertyPaths.push(`$.${String(prop)}`);
73
+ }
74
+ pipeline.call("JSON.GET", redisKey, ...propertyPaths);
75
+ }
76
+ try {
77
+ const responses = await pipeline.exec();
78
+ if (!responses) {
79
+ return tripIds.map(() => null);
80
+ }
81
+ const result = [];
82
+ for (let index = 0; index < responses.length; index++) {
83
+ const [error, redisResult] = responses[index];
84
+ if (error) {
85
+ this.logger.warn({
86
+ error,
87
+ result: redisResult,
88
+ }, `${this.constructor.name}: Failed to fetch trip '${tripIds[index]}' from Redis`);
89
+ result.push(null);
90
+ continue;
91
+ }
92
+ if (redisResult === null || redisResult === undefined) {
93
+ result.push(null);
94
+ continue;
95
+ }
96
+ result.push(RedisJsonParser_1.RedisJsonParser.parse(redisResult, this.constructor.name));
97
+ }
98
+ return result;
99
+ }
100
+ catch (err) {
101
+ throw new golemio_errors_1.GeneralError("Error while fetching trip properties batch from Redis", this.constructor.name, err);
102
+ }
103
+ }
57
104
  calculateExpirationTtl(positions, tripId) {
58
105
  const now = new Date();
59
106
  const expirationLimit = new Date(now.getTime() + 30 * 60 * 1000); // 30 minutes
@@ -1 +1 @@
1
- {"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelayComputationRedisRepository.js","sourceRoot":"","sources":["../../../../../src/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RopidGtfsContainer = void 0;
4
+ const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
4
5
  const Di_1 = require("../../ioc/Di");
6
+ const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository");
5
7
  const ropid_gtfs_1 = require("../../../schema-definitions/ropid-gtfs");
6
8
  const pubsub_1 = require("@golemio/core/dist/integration-engine/data-access/pubsub");
7
9
  const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
10
+ const RopidGTFSStopsModel_1 = require("../RopidGTFSStopsModel");
8
11
  const RopidGtfsFacade_1 = require("../RopidGtfsFacade");
9
12
  const RopidGtfsMetadataRepository_1 = require("../RopidGtfsMetadataRepository");
13
+ const RopidGTFSRoutesRepository_1 = require("../data-access/RopidGTFSRoutesRepository");
10
14
  const RopidGtfsRepository_1 = require("../data-access/RopidGtfsRepository");
11
15
  const BlockStopsRedisRepository_1 = require("../data-access/cache/BlockStopsRedisRepository");
12
16
  const PublicGtfsDepartureRepository_1 = require("../data-access/cache/PublicGtfsDepartureRepository");
13
17
  const StaticFileRedisRepository_1 = require("../data-access/cache/StaticFileRedisRepository");
14
18
  const precomputed_1 = require("../data-access/precomputed");
19
+ const StaticDataSourceFactory_1 = require("../datasources/StaticDataSourceFactory");
20
+ const DeparturesDirectionDataSourceProvider_1 = require("../datasources/static-data/DeparturesDirectionDataSourceProvider");
21
+ const MetroRailTrackDataSourceProvider_1 = require("../datasources/static-data/MetroRailTrackDataSourceProvider");
15
22
  const DeparturePresetsFacade_1 = require("../facade/DeparturePresetsFacade");
16
23
  const PublicDepartureCacheTransformation_1 = require("../transformations/PublicDepartureCacheTransformation");
17
24
  const RopidGTFSTransformation_1 = require("../transformations/RopidGTFSTransformation");
18
- const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask");
19
- const PrecomputedTablesFacade_1 = require("../workers/timetables/tasks/helpers/PrecomputedTablesFacade");
20
- const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtfsFactory");
21
- const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
22
25
  const DeparturesPresetsDatasource_1 = require("../workers/presets/data-access/DeparturesPresetsDatasource");
23
26
  const CheckForNewDeparturesPresetsTask_1 = require("../workers/presets/tasks/CheckForNewDeparturesPresetsTask");
24
27
  const DownloadDeparturesPresetsTask_1 = require("../workers/presets/tasks/DownloadDeparturesPresetsTask");
25
- const RopidGTFSStopsModel_1 = require("../RopidGTFSStopsModel");
26
- const StaticDataSourceFactory_1 = require("../datasources/StaticDataSourceFactory");
28
+ const RefreshPublicGtfsDepartureCacheTask_1 = require("../workers/timetables/tasks/RefreshPublicGtfsDepartureCacheTask");
29
+ const SaveStaticDataTask_1 = require("../workers/timetables/tasks/SaveStaticDataTask");
27
30
  const DeparturesDirectionRepository_1 = require("../workers/timetables/tasks/data-access/DeparturesDirectionRepository");
28
- const MetroRailtrackDataTransformation_1 = require("../workers/timetables/tasks/transformations/MetroRailtrackDataTransformation");
29
31
  const MetroRailtrackGPSRepository_1 = require("../workers/timetables/tasks/data-access/MetroRailtrackGPSRepository");
30
- const DeparturesDirectionDataSourceProvider_1 = require("../datasources/static-data/DeparturesDirectionDataSourceProvider");
31
- const MetroRailTrackDataSourceProvider_1 = require("../datasources/static-data/MetroRailTrackDataSourceProvider");
32
- const SaveStaticDataTask_1 = require("../workers/timetables/tasks/SaveStaticDataTask");
32
+ const PrecomputedTablesFacade_1 = require("../workers/timetables/tasks/helpers/PrecomputedTablesFacade");
33
+ const RopidGtfsFactory_1 = require("../workers/timetables/tasks/helpers/RopidGtfsFactory");
33
34
  const DeparturesDirectionTransformation_1 = require("../workers/timetables/tasks/transformations/DeparturesDirectionTransformation");
34
- const RopidDeparturesPresetsRopidGTFSStopsRepository_1 = require("../../jis/repositories/RopidDeparturesPresetsRopidGTFSStopsRepository");
35
- const GtfsStopParser_1 = require("../../../helpers/GtfsStopParser");
35
+ const MetroRailtrackDataTransformation_1 = require("../workers/timetables/tasks/transformations/MetroRailtrackDataTransformation");
36
+ const RopidGtfsContainerToken_1 = require("./RopidGtfsContainerToken");
36
37
  //#region Initialization
37
38
  const RopidGtfsContainer = Di_1.PidContainer.createChildContainer();
38
39
  exports.RopidGtfsContainer = RopidGtfsContainer;
@@ -47,6 +48,7 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
47
48
  //#region Repositories
48
49
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.StaticFileRedisRepository, StaticFileRedisRepository_1.StaticFileRedisRepository).registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsRepository, RopidGtfsRepository_1.RopidGtfsRepository);
49
50
  RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGtfsMetadataRepository, RopidGtfsMetadataRepository_1.RopidGtfsMetadataRepository);
51
+ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSRoutesRepository, RopidGTFSRoutesRepository_1.RopidGTFSRoutesRepository);
50
52
  RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.DepartureRepository, precomputed_1.DeparturesRepository);
51
53
  RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.PublicGtfsDepartureRepository, PublicGtfsDepartureRepository_1.PublicGtfsDepartureRepository);
52
54
  RopidGtfsContainer.register(RopidGtfsContainerToken_1.RopidGtfsContainerToken.RopidGTFSStopsModel, RopidGTFSStopsModel_1.RopidGTFSStopsModel);
@@ -73,6 +75,6 @@ RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContaine
73
75
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.CheckForNewDeparturesPresetsTask, CheckForNewDeparturesPresetsTask_1.CheckForNewDeparturesPresetsTask);
74
76
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.SaveStaticDataTask, SaveStaticDataTask_1.SaveStaticDataTask);
75
77
  //#endregion
76
- // #regin Helpers
78
+ //#region Helpers
77
79
  RopidGtfsContainer.registerSingleton(RopidGtfsContainerToken_1.RopidGtfsContainerToken.GtfsStopParser, GtfsStopParser_1.GtfsStopParser);
78
80
  //# sourceMappingURL=Di.js.map