@golemio/pid 3.12.1 → 3.12.2-dev.1783567547

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 (117) hide show
  1. package/db/example/00_clear_test_data.sql +3 -1
  2. package/db/example/22_jis_events.sql +551 -0
  3. package/db/migrations/postgresql/20250415115907-jis-events.js +53 -0
  4. package/db/migrations/postgresql/sqls/20250415115907-jis-events-down.sql +3 -0
  5. package/db/migrations/postgresql/sqls/20250415115907-jis-events-up.sql +30 -0
  6. package/dist/{output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.d.ts → helpers/jis/JISEventSeverityLevelEnum.d.ts} +1 -1
  7. package/dist/helpers/jis/JISEventSeverityLevelEnum.js +10 -0
  8. package/dist/helpers/jis/JISEventSeverityLevelEnum.js.map +1 -0
  9. package/dist/helpers/jis/JISInfotextSeverityLevelEnum.d.ts +5 -0
  10. package/dist/helpers/jis/JISInfotextSeverityLevelEnum.js +10 -0
  11. package/dist/helpers/jis/JISInfotextSeverityLevelEnum.js.map +1 -0
  12. package/dist/input-gateway/jis/JisInfotextsRouter.d.ts +4 -2
  13. package/dist/input-gateway/jis/JisInfotextsRouter.js +19 -5
  14. package/dist/input-gateway/jis/JisInfotextsRouter.js.map +1 -1
  15. package/dist/input-gateway/jis/controllers/JisEventsController.d.ts +9 -0
  16. package/dist/input-gateway/jis/controllers/JisEventsController.js +28 -0
  17. package/dist/input-gateway/jis/controllers/JisEventsController.js.map +1 -0
  18. package/dist/input-gateway/jis/{JisInfotextsController.js → controllers/JisInfotextsController.js} +1 -1
  19. package/dist/input-gateway/jis/controllers/JisInfotextsController.js.map +1 -0
  20. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +0 -1
  21. package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
  22. package/dist/integration-engine/data-retention/ioc/RetentionContainerToken.js +1 -1
  23. package/dist/integration-engine/data-retention/ioc/RetentionContainerToken.js.map +1 -1
  24. package/dist/integration-engine/ioc/ModuleContainerToken.js +9 -9
  25. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  26. package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.d.ts +10 -0
  27. package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.js +52 -0
  28. package/dist/integration-engine/jis/datasources/JISEventsDataSourceFactory.js.map +1 -0
  29. package/dist/integration-engine/jis/ioc/Di.js +16 -2
  30. package/dist/integration-engine/jis/ioc/Di.js.map +1 -1
  31. package/dist/integration-engine/jis/ioc/JISContainerToken.d.ts +8 -1
  32. package/dist/integration-engine/jis/ioc/JISContainerToken.js +15 -8
  33. package/dist/integration-engine/jis/ioc/JISContainerToken.js.map +1 -1
  34. package/dist/integration-engine/jis/repositories/JISEventsRepository.d.ts +29 -0
  35. package/dist/integration-engine/jis/repositories/JISEventsRepository.js +113 -0
  36. package/dist/integration-engine/jis/repositories/JISEventsRepository.js.map +1 -0
  37. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.d.ts +30 -0
  38. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js +88 -0
  39. package/dist/integration-engine/jis/repositories/JISEventsRopidGTFSRoutesRepository.js.map +1 -0
  40. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js +4 -1
  41. package/dist/integration-engine/jis/repositories/JISInfotextsRepository.js.map +1 -1
  42. package/dist/integration-engine/jis/services/JISEventsDataService.d.ts +20 -0
  43. package/dist/integration-engine/jis/services/JISEventsDataService.js +74 -0
  44. package/dist/integration-engine/jis/services/JISEventsDataService.js.map +1 -0
  45. package/dist/integration-engine/jis/transformations/JISEventsTransformation.d.ts +13 -0
  46. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js +48 -0
  47. package/dist/integration-engine/jis/transformations/JISEventsTransformation.js.map +1 -0
  48. package/dist/integration-engine/jis/workers/JISWorker.js +3 -1
  49. package/dist/integration-engine/jis/workers/JISWorker.js.map +1 -1
  50. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.d.ts +9 -0
  51. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js +50 -0
  52. package/dist/integration-engine/jis/workers/tasks/FetchJISEventsTask.js.map +1 -0
  53. package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.d.ts +15 -0
  54. package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js +61 -0
  55. package/dist/integration-engine/jis/workers/tasks/RefreshJISEventsTask.js.map +1 -0
  56. package/dist/integration-engine/ropid-gtfs/data-access/cache/DelayComputationRedisRepository.js.map +1 -1
  57. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js +29 -29
  58. package/dist/integration-engine/ropid-gtfs/ioc/RopidGtfsContainerToken.js.map +1 -1
  59. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +43 -43
  60. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  61. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/PropagateTrainDelayTask.js.map +1 -1
  62. package/dist/output-gateway/pid/ioc/OgPidToken.js +22 -22
  63. package/dist/output-gateway/pid/ioc/OgPidToken.js.map +1 -1
  64. package/dist/output-gateway/pid/service/helpers/PriorityMapper.d.ts +2 -2
  65. package/dist/output-gateway/pid/service/helpers/PriorityMapper.js +4 -4
  66. package/dist/output-gateway/pid/service/helpers/PriorityMapper.js.map +1 -1
  67. package/dist/output-gateway/public/ioc/OgModuleToken.js +26 -26
  68. package/dist/output-gateway/public/ioc/OgModuleToken.js.map +1 -1
  69. package/dist/schema-definitions/jis/constants/jisEventCause.d.ts +1 -0
  70. package/dist/schema-definitions/jis/constants/jisEventCause.js +18 -0
  71. package/dist/schema-definitions/jis/constants/jisEventCause.js.map +1 -0
  72. package/dist/schema-definitions/jis/constants/jisEventEffect.d.ts +1 -0
  73. package/dist/schema-definitions/jis/constants/jisEventEffect.js +17 -0
  74. package/dist/schema-definitions/jis/constants/jisEventEffect.js.map +1 -0
  75. package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.d.ts +3 -0
  76. package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js +88 -0
  77. package/dist/schema-definitions/jis/datasources/JISEventsJsonSchema.js.map +1 -0
  78. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js +2 -2
  79. package/dist/schema-definitions/jis/datasources/JISInfotextsJsonSchema.js.map +1 -1
  80. package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.d.ts +25 -0
  81. package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.js +3 -0
  82. package/dist/schema-definitions/jis/datasources/interfaces/IJISEvent.js.map +1 -0
  83. package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.d.ts +3 -0
  84. package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.js +3 -0
  85. package/dist/schema-definitions/jis/datasources/interfaces/IJISEventRoute.js.map +1 -0
  86. package/dist/schema-definitions/jis/datasources/interfaces/IJISInfotext.d.ts +2 -2
  87. package/dist/schema-definitions/jis/datasources/interfaces/index.d.ts +2 -0
  88. package/dist/schema-definitions/jis/datasources/interfaces/index.js +2 -0
  89. package/dist/schema-definitions/jis/datasources/interfaces/index.js.map +1 -1
  90. package/dist/schema-definitions/jis/models/JISEventsModel.d.ts +28 -0
  91. package/dist/schema-definitions/jis/models/JISEventsModel.js +137 -0
  92. package/dist/schema-definitions/jis/models/JISEventsModel.js.map +1 -0
  93. package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.d.ts +12 -0
  94. package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.js +41 -0
  95. package/dist/schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel.js.map +1 -0
  96. package/dist/schema-definitions/jis/models/JISInfotextsModel.d.ts +2 -2
  97. package/dist/schema-definitions/jis/models/JISInfotextsModel.js +3 -3
  98. package/dist/schema-definitions/jis/models/JISInfotextsModel.js.map +1 -1
  99. package/dist/schema-definitions/jis/models/interfaces/IJISEvent.d.ts +19 -0
  100. package/dist/schema-definitions/jis/models/interfaces/IJISEvent.js +3 -0
  101. package/dist/schema-definitions/jis/models/interfaces/IJISEvent.js.map +1 -0
  102. package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.d.ts +4 -0
  103. package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.js +3 -0
  104. package/dist/schema-definitions/jis/models/interfaces/IJISEventsRopidGTFSRoutes.js.map +1 -0
  105. package/dist/schema-definitions/jis/models/interfaces/IJISInfotext.d.ts +2 -2
  106. package/dist/schema-definitions/jis/models/interfaces/index.d.ts +2 -0
  107. package/dist/schema-definitions/jis/models/interfaces/index.js +2 -0
  108. package/dist/schema-definitions/jis/models/interfaces/index.js.map +1 -1
  109. package/docs/assets/pid_jis_erd.png +0 -0
  110. package/docs/asyncapi.yaml +278 -55
  111. package/docs/implementation_documentation.md +45 -1
  112. package/docs/openapi-input.yaml +328 -58
  113. package/package.json +2 -2
  114. package/dist/input-gateway/jis/JisInfotextsController.js.map +0 -1
  115. package/dist/output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.js +0 -10
  116. package/dist/output-gateway/shared/constants/jis/InfotextSeverityLevelEnum.js.map +0 -1
  117. /package/dist/input-gateway/jis/{JisInfotextsController.d.ts → controllers/JisInfotextsController.d.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JISEventSeverityLevel = void 0;
4
+ var JISEventSeverityLevel;
5
+ (function (JISEventSeverityLevel) {
6
+ JISEventSeverityLevel["Info"] = "INFO";
7
+ JISEventSeverityLevel["Warning"] = "WARNING";
8
+ JISEventSeverityLevel["Severe"] = "SEVERE";
9
+ })(JISEventSeverityLevel || (exports.JISEventSeverityLevel = JISEventSeverityLevel = {}));
10
+ //# sourceMappingURL=JISEventSeverityLevelEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventSeverityLevelEnum.js","sourceRoot":"","sources":["../../../src/helpers/jis/JISEventSeverityLevelEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,sCAAa,CAAA;IACb,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;AACrB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC"}
@@ -0,0 +1,5 @@
1
+ export declare enum JISInfotextSeverityLevel {
2
+ Info = "INFO",
3
+ Warning = "WARNING",
4
+ Severe = "SEVERE"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JISInfotextSeverityLevel = void 0;
4
+ var JISInfotextSeverityLevel;
5
+ (function (JISInfotextSeverityLevel) {
6
+ JISInfotextSeverityLevel["Info"] = "INFO";
7
+ JISInfotextSeverityLevel["Warning"] = "WARNING";
8
+ JISInfotextSeverityLevel["Severe"] = "SEVERE";
9
+ })(JISInfotextSeverityLevel || (exports.JISInfotextSeverityLevel = JISInfotextSeverityLevel = {}));
10
+ //# sourceMappingURL=JISInfotextSeverityLevelEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISInfotextSeverityLevelEnum.js","sourceRoot":"","sources":["../../../src/helpers/jis/JISInfotextSeverityLevelEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,yCAAa,CAAA;IACb,+CAAmB,CAAA;IACnB,6CAAiB,CAAA;AACrB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC"}
@@ -2,8 +2,10 @@
2
2
  import { Router } from "@golemio/core/dist/shared/express";
3
3
  export declare class JisInfotextsRouter {
4
4
  router: Router;
5
- private controller;
5
+ private eventsController;
6
+ private infotextsController;
6
7
  constructor();
7
8
  private initRoutes;
8
- private post;
9
+ private postEvents;
10
+ private postInfotexts;
9
11
  }
@@ -3,12 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JisInfotextsRouter = void 0;
4
4
  const CheckContentTypeMiddleware_1 = require("@golemio/core/dist/input-gateway/helpers/CheckContentTypeMiddleware");
5
5
  const express_1 = require("@golemio/core/dist/shared/express");
6
- const JisInfotextsController_1 = require("./JisInfotextsController");
6
+ const JisEventsController_1 = require("./controllers/JisEventsController");
7
+ const JisInfotextsController_1 = require("./controllers/JisInfotextsController");
7
8
  class JisInfotextsRouter {
8
9
  constructor() {
9
- this.post = async (req, res, next) => {
10
+ this.postEvents = async (req, res, next) => {
10
11
  try {
11
- await this.controller.processData(req.body);
12
+ await this.eventsController.processData(req.body);
13
+ res.sendStatus(204);
14
+ }
15
+ catch (err) {
16
+ next(err);
17
+ }
18
+ };
19
+ this.postInfotexts = async (req, res, next) => {
20
+ try {
21
+ await this.infotextsController.processData(req.body);
12
22
  res.sendStatus(204);
13
23
  }
14
24
  catch (err) {
@@ -16,11 +26,15 @@ class JisInfotextsRouter {
16
26
  }
17
27
  };
18
28
  this.router = (0, express_1.Router)();
19
- this.controller = new JisInfotextsController_1.JisInfotextsController();
29
+ this.eventsController = new JisEventsController_1.JISEventsController();
30
+ this.infotextsController = new JisInfotextsController_1.JisInfotextsController();
20
31
  this.initRoutes();
21
32
  }
22
33
  initRoutes() {
23
- this.router.post("/infotexts", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["application/json"]), this.post);
34
+ // TODO: Either rename this router to just "JISRouter", or move to a separate "JISEventsRouter"
35
+ // TODO: This can be done later along with possible addition of RouterLoader to (VP) Input Gateway
36
+ this.router.post("/events", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["application/json"]), this.postEvents);
37
+ this.router.post("/infotexts", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["application/json"]), this.postInfotexts);
24
38
  }
25
39
  }
26
40
  exports.JisInfotextsRouter = JisInfotextsRouter;
@@ -1 +1 @@
1
- {"version":3,"file":"JisInfotextsRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/jis/JisInfotextsRouter.ts"],"names":[],"mappings":";;;AAAA,oHAAiH;AACjH,+DAA4F;AAC5F,qEAAkE;AAElE,MAAa,kBAAkB;IAI3B;QAUQ,SAAI,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YACpF,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAhBE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,uDAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;CAUJ;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"JisInfotextsRouter.js","sourceRoot":"","sources":["../../../src/input-gateway/jis/JisInfotextsRouter.ts"],"names":[],"mappings":";;;AAAA,oHAAiH;AACjH,+DAA4F;AAC5F,2EAAwE;AACxE,iFAA8E;AAE9E,MAAa,kBAAkB;IAK3B;QAcQ,eAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC1F,IAAI;gBACA,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAEM,kBAAa,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC7F,IAAI;gBACA,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QA7BE,IAAI,CAAC,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QACd,+FAA+F;QAC/F,kGAAkG;QAClG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,uDAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAA,uDAA0B,EAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzG,CAAC;CAmBJ;AApCD,gDAoCC"}
@@ -0,0 +1,9 @@
1
+ import { BaseController } from "@golemio/core/dist/input-gateway/controllers";
2
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
3
+ export declare class JISEventsController extends BaseController {
4
+ name: string;
5
+ protected validator: JSONSchemaValidator;
6
+ protected queuePrefix: string;
7
+ constructor();
8
+ processData: (inputData: any) => Promise<void>;
9
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JISEventsController = void 0;
4
+ const JISEventsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISEventsJsonSchema");
5
+ const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
6
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
7
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
8
+ class JISEventsController extends controllers_1.BaseController {
9
+ constructor() {
10
+ super("jis", new golemio_validator_1.JSONSchemaValidator("JISEventsDataValidation", JISEventsJsonSchema_1.jisEventsJsonSchema));
11
+ this.processData = async (inputData) => {
12
+ try {
13
+ await this.validator.Validate(inputData);
14
+ await this.sendMessageToExchange("input." + this.queuePrefix + ".refreshJISEvents", JSON.stringify(inputData));
15
+ }
16
+ catch (err) {
17
+ if (err instanceof golemio_errors_1.AbstractGolemioError) {
18
+ throw err;
19
+ }
20
+ else {
21
+ throw new golemio_errors_1.GeneralError("Error while validating input data.", this.constructor.name, err, 422);
22
+ }
23
+ }
24
+ };
25
+ }
26
+ }
27
+ exports.JISEventsController = JISEventsController;
28
+ //# sourceMappingURL=JisEventsController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JisEventsController.js","sourceRoot":"","sources":["../../../../src/input-gateway/jis/controllers/JisEventsController.ts"],"names":[],"mappings":";;;AAAA,yGAA+E;AAC/E,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,mBAAoB,SAAQ,4BAAc;IAKnD;QACI,KAAK,CAAC,KAAK,EAAE,IAAI,uCAAmB,CAAC,yBAAyB,EAAE,yCAAmB,CAAC,CAAC,CAAC;QAGnF,gBAAW,GAAG,KAAK,EAAE,SAAc,EAAiB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;aAClH;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,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC;IAbF,CAAC;CAcJ;AArBD,kDAqBC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JisInfotextsController = void 0;
4
- const JISInfotextsJsonSchema_1 = require("../../schema-definitions/jis/datasources/JISInfotextsJsonSchema");
4
+ const JISInfotextsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISInfotextsJsonSchema");
5
5
  const controllers_1 = require("@golemio/core/dist/input-gateway/controllers");
6
6
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
7
7
  const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JisInfotextsController.js","sourceRoot":"","sources":["../../../../src/input-gateway/jis/controllers/JisInfotextsController.ts"],"names":[],"mappings":";;;AAAA,+GAAqF;AACrF,8EAA8E;AAC9E,6EAA8F;AAC9F,mFAAkF;AAElF,MAAa,sBAAuB,SAAQ,4BAAc;IAKtD;QACI,KAAK,CAAC,KAAK,EAAE,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,+CAAsB,CAAC,CAAC,CAAC;QAGzF,gBAAW,GAAG,KAAK,EAAE,SAAc,EAAiB,EAAE;YACzD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;aACrH;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,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC;IAbF,CAAC;CAcJ;AArBD,wDAqBC"}
@@ -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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RetentionContainerToken = void 0;
4
4
  const RetentionContainerToken = {
5
- TableStorageRetentionTask: Symbol(),
5
+ TableStorageRetentionTask: Symbol("TableStorageRetentionTask"),
6
6
  };
7
7
  exports.RetentionContainerToken = RetentionContainerToken;
8
8
  //# sourceMappingURL=RetentionContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RetentionContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/ioc/RetentionContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,EAAE;CACtC,CAAC;AAEO,0DAAuB"}
1
+ {"version":3,"file":"RetentionContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-retention/ioc/RetentionContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,uBAAuB,GAAG;IAC5B,yBAAyB,EAAE,MAAM,CAAC,2BAA2B,CAAC;CACjE,CAAC;AAEO,0DAAuB"}
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModuleContainerToken = void 0;
4
4
  const ModuleContainerToken = {
5
- GeoMeasurementHelper: Symbol(),
6
- DeparturePresetsRepository: Symbol(),
7
- RopidDeparturesPresetsTransformation: Symbol(),
8
- GrafanaLokiDataSourceProvider: Symbol(),
9
- PresetLogDataSourceFactory: Symbol(),
10
- PresetLogTransformation: Symbol(),
11
- PresetLogRepository: Symbol(),
12
- PresetLogFilter: Symbol(),
13
- RopidMonitoringService: Symbol(),
5
+ GeoMeasurementHelper: Symbol("GeoMeasurementHelper"),
6
+ DeparturePresetsRepository: Symbol("DeparturePresetsRepository"),
7
+ RopidDeparturesPresetsTransformation: Symbol("RopidDeparturesPresetsTransformation"),
8
+ GrafanaLokiDataSourceProvider: Symbol("GrafanaLokiDataSourceProvider"),
9
+ PresetLogDataSourceFactory: Symbol("PresetLogDataSourceFactory"),
10
+ PresetLogTransformation: Symbol("PresetLogTransformation"),
11
+ PresetLogRepository: Symbol("PresetLogRepository"),
12
+ PresetLogFilter: Symbol("PresetLogFilter"),
13
+ RopidMonitoringService: Symbol("RopidMonitoringService"),
14
14
  };
15
15
  exports.ModuleContainerToken = ModuleContainerToken;
16
16
  //# sourceMappingURL=ModuleContainerToken.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,0BAA0B,EAAE,MAAM,EAAE;IACpC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,6BAA6B,EAAE,MAAM,EAAE;IACvC,0BAA0B,EAAE,MAAM,EAAE;IACpC,uBAAuB,EAAE,MAAM,EAAE;IACjC,mBAAmB,EAAE,MAAM,EAAE;IAC7B,eAAe,EAAE,MAAM,EAAE;IACzB,sBAAsB,EAAE,MAAM,EAAE;CACnC,CAAC;AAEO,oDAAoB"}
1
+ {"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,oBAAoB,EAAE,MAAM,CAAC,sBAAsB,CAAC;IACpD,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,oCAAoC,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACpF,6BAA6B,EAAE,MAAM,CAAC,+BAA+B,CAAC;IACtE,0BAA0B,EAAE,MAAM,CAAC,4BAA4B,CAAC;IAChE,uBAAuB,EAAE,MAAM,CAAC,yBAAyB,CAAC;IAC1D,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC,iBAAiB,CAAC;IAC1C,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC;CAC3D,CAAC;AAEO,oDAAoB"}
@@ -0,0 +1,10 @@
1
+ import { IJISEvent } from "../../../schema-definitions/jis/datasources/interfaces";
2
+ import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
+ import { IDataSource } from "@golemio/core/dist/integration-engine";
4
+ export declare class JISEventsDataSourceFactory {
5
+ private config;
6
+ constructor(config: ISimpleConfig);
7
+ private static DATASOURCE_NAME;
8
+ getDataSource(etag?: string): IDataSource<IJISEvent[]>;
9
+ private getProtocolStrategy;
10
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var JISEventsDataSourceFactory_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.JISEventsDataSourceFactory = void 0;
17
+ const JISEventsJsonSchema_1 = require("../../../schema-definitions/jis/datasources/JISEventsJsonSchema");
18
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
19
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
20
+ const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
23
+ let JISEventsDataSourceFactory = exports.JISEventsDataSourceFactory = JISEventsDataSourceFactory_1 = class JISEventsDataSourceFactory {
24
+ constructor(config) {
25
+ this.config = config;
26
+ }
27
+ getDataSource(etag) {
28
+ return new integration_engine_1.DataSource(JISEventsDataSourceFactory_1.DATASOURCE_NAME, this.getProtocolStrategy(etag), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(JISEventsDataSourceFactory_1.DATASOURCE_NAME + "Validator", JISEventsJsonSchema_1.jisEventsJsonSchema));
29
+ }
30
+ getProtocolStrategy(etag) {
31
+ const baseUrl = this.config.getValue("module.pid.jis.baseUrl");
32
+ let headers = this.config.getValue("module.pid.jis.events.headers");
33
+ const urlPath = this.config.getValue("module.pid.jis.events.path");
34
+ const url = new URL(urlPath, baseUrl).toString();
35
+ if (typeof etag === "string") {
36
+ headers = { ...headers, "If-None-Match": etag, "Cache-Control": "no-store" };
37
+ }
38
+ return new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
39
+ method: "GET",
40
+ url,
41
+ headers,
42
+ timeoutInSeconds: 20,
43
+ });
44
+ }
45
+ };
46
+ JISEventsDataSourceFactory.DATASOURCE_NAME = "JISEventsDataSource";
47
+ exports.JISEventsDataSourceFactory = JISEventsDataSourceFactory = JISEventsDataSourceFactory_1 = __decorate([
48
+ (0, tsyringe_1.injectable)(),
49
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
50
+ __metadata("design:paramtypes", [Object])
51
+ ], JISEventsDataSourceFactory);
52
+ //# sourceMappingURL=JISEventsDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventsDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/datasources/JISEventsDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,yGAA+E;AAE/E,wEAAqE;AACrE,8EAAwH;AACxH,6IAA0I;AAC1I,mFAAkF;AAClF,iEAAwE;AAGjE,IAAM,0BAA0B,uEAAhC,MAAM,0BAA0B;IACnC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAItE,aAAa,CAAC,IAAa;QAC9B,OAAO,IAAI,+BAAU,CACjB,4BAA0B,CAAC,eAAe,EAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAC9B,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,4BAA0B,CAAC,eAAe,GAAG,WAAW,EAAE,yCAAmB,CAAC,CACzG,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,IAAa;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,wBAAwB,CAAC,CAAC;QACvE,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAc,+BAA+B,CAAgB,CAAC;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,4BAA4B,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;SAChF;QAED,OAAO,IAAI,qDAAyB,CAAC;YACjC,MAAM,EAAE,KAAK;YACb,GAAG;YACH,OAAO;YACP,gBAAgB,EAAE,EAAE;SACvB,CAAC,CAAC;IACP,CAAC;;AA3Bc,0CAAe,GAAG,qBAAqB,AAAxB,CAAyB;qCAH9C,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GADlC,0BAA0B,CA+BtC"}
@@ -2,34 +2,48 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JISContainer = void 0;
4
4
  const Di_1 = require("../../ioc/Di");
5
+ const JISEventsDataSourceFactory_1 = require("../datasources/JISEventsDataSourceFactory");
5
6
  const JISInfotextsDataSourceFactory_1 = require("../datasources/JISInfotextsDataSourceFactory");
7
+ const JISEventsRepository_1 = require("../repositories/JISEventsRepository");
8
+ const JISEventsRopidGTFSRoutesRepository_1 = require("../repositories/JISEventsRopidGTFSRoutesRepository");
6
9
  const JISInfotextsRepository_1 = require("../repositories/JISInfotextsRepository");
7
10
  const JISInfotextsRopidGTFSStopsRepository_1 = require("../repositories/JISInfotextsRopidGTFSStopsRepository");
8
11
  const JISMetadataRepository_1 = require("../repositories/JISMetadataRepository");
12
+ const JISEventsDataService_1 = require("../services/JISEventsDataService");
9
13
  const JISInfotextsDataService_1 = require("../services/JISInfotextsDataService");
14
+ const JISEventsTransformation_1 = require("../transformations/JISEventsTransformation");
10
15
  const JISInfotextsTransformation_1 = require("../transformations/JISInfotextsTransformation");
16
+ const FetchJISEventsTask_1 = require("../workers/tasks/FetchJISEventsTask");
17
+ const FetchJISInfotextsTask_1 = require("../workers/tasks/FetchJISInfotextsTask");
18
+ const RefreshJISEventsTask_1 = require("../workers/tasks/RefreshJISEventsTask");
11
19
  const RefreshJISInfotextsTask_1 = require("../workers/tasks/RefreshJISInfotextsTask");
12
20
  const JISContainerToken_1 = require("./JISContainerToken");
13
- const FetchJISInfotextsTask_1 = require("../workers/tasks/FetchJISInfotextsTask");
14
21
  //#region Initialization
15
22
  const JISContainer = Di_1.PidContainer.createChildContainer();
16
23
  exports.JISContainer = JISContainer;
17
24
  //#endregion
18
25
  //#region Data Sources
26
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsDataSourceFactory, JISEventsDataSourceFactory_1.JISEventsDataSourceFactory);
19
27
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsDataSourceFactory, JISInfotextsDataSourceFactory_1.JISInfotextsDataSourceFactory);
20
28
  //#endregion
21
29
  //#region Repositories
30
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRepository, JISEventsRepository_1.JISEventsRepository);
31
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsRopidGTFSRoutesRepository, JISEventsRopidGTFSRoutesRepository_1.JISEventsRopidGTFSRoutesRepository);
22
32
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRepository, JISInfotextsRepository_1.JISInfotextsRepository);
23
33
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsRopidGTFSStopsRepository, JISInfotextsRopidGTFSStopsRepository_1.JISInfotextsRopidGTFSStopsRepository);
24
34
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISMetadataRepository, JISMetadataRepository_1.JISMetadataRepository);
25
35
  //#endregion
26
36
  //#region Services
37
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsDataService, JISEventsDataService_1.JISEventsDataService);
27
38
  JISContainer.register(JISContainerToken_1.JISContainerToken.JISInfotextsDataService, JISInfotextsDataService_1.JISInfotextsDataService);
28
39
  //#endregion
29
40
  //#region Tasks
30
- JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISInfotextsTask, RefreshJISInfotextsTask_1.RefreshJISInfotextsTask);
41
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.FetchJISEventsTask, FetchJISEventsTask_1.FetchJISEventsTask);
31
42
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.FetchJISInfotextsTask, FetchJISInfotextsTask_1.FetchJISInfotextsTask);
43
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISEventsTask, RefreshJISEventsTask_1.RefreshJISEventsTask);
44
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.RefreshJISInfotextsTask, RefreshJISInfotextsTask_1.RefreshJISInfotextsTask);
32
45
  //#endregion
33
46
  //#region Transformations
47
+ JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISEventsTransformation, JISEventsTransformation_1.JISEventsTransformation);
34
48
  JISContainer.registerSingleton(JISContainerToken_1.JISContainerToken.JISInfotextsTransformation, JISInfotextsTransformation_1.JISInfotextsTransformation);
35
49
  //# 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,gGAA6F;AAC7F,mFAAgF;AAChF,+GAA4G;AAC5G,iFAA8E;AAC9E,iFAA8E;AAC9E,8FAA2F;AAC3F,sFAAmF;AACnF,2DAAwD;AACxD,kFAA+E;AAE/E,wBAAwB;AACxB,MAAM,YAAY,GAAwB,iBAAY,CAAC,oBAAoB,EAAE,CAAC;AA0BrE,oCAAY;AAzBrB,YAAY;AAEZ,sBAAsB;AACtB,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,6BAA6B,EAAE,6DAA6B,CAAC,CAAC;AAC/G,YAAY;AAEZ,sBAAsB;AACtB,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,QAAQ,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AAC1F,YAAY;AAEZ,eAAe;AACf,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,uBAAuB,EAAE,iDAAuB,CAAC,CAAC;AACnG,YAAY,CAAC,iBAAiB,CAAC,qCAAiB,CAAC,qBAAqB,EAAE,6CAAqB,CAAC,CAAC;AAC/F,YAAY;AAEZ,yBAAyB;AACzB,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,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,11 +1,18 @@
1
1
  declare const JISContainerToken: {
2
+ JISEventsDataSourceFactory: symbol;
2
3
  JISInfotextsDataSourceFactory: symbol;
4
+ JISEventsRepository: symbol;
5
+ JISEventsRopidGTFSRoutesRepository: symbol;
3
6
  JISInfotextsRepository: symbol;
4
7
  JISInfotextsRopidGTFSStopsRepository: symbol;
5
8
  JISMetadataRepository: symbol;
9
+ JISEventsDataService: symbol;
6
10
  JISInfotextsDataService: symbol;
11
+ JISEventsTransformation: symbol;
7
12
  JISInfotextsTransformation: symbol;
8
- RefreshJISInfotextsTask: symbol;
13
+ FetchJISEventsTask: symbol;
9
14
  FetchJISInfotextsTask: symbol;
15
+ RefreshJISEventsTask: symbol;
16
+ RefreshJISInfotextsTask: symbol;
10
17
  };
11
18
  export { JISContainerToken };
@@ -3,18 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JISContainerToken = void 0;
4
4
  const JISContainerToken = {
5
5
  /* Data Sources */
6
- JISInfotextsDataSourceFactory: Symbol(),
6
+ JISEventsDataSourceFactory: Symbol("JISEventsDataSourceFactory"),
7
+ JISInfotextsDataSourceFactory: Symbol("JISInfotextsDataSourceFactory"),
7
8
  /* Repositories */
8
- JISInfotextsRepository: Symbol(),
9
- JISInfotextsRopidGTFSStopsRepository: Symbol(),
10
- JISMetadataRepository: Symbol(),
9
+ JISEventsRepository: Symbol("JISEventsRepository"),
10
+ JISEventsRopidGTFSRoutesRepository: Symbol("JISEventsRopidGTFSRoutesRepository"),
11
+ JISInfotextsRepository: Symbol("JISInfotextsRepository"),
12
+ JISInfotextsRopidGTFSStopsRepository: Symbol("JISInfotextsRopidGTFSStopsRepository"),
13
+ JISMetadataRepository: Symbol("JISMetadataRepository"),
11
14
  /* Services */
12
- JISInfotextsDataService: Symbol(),
15
+ JISEventsDataService: Symbol("JISEventsDataService"),
16
+ JISInfotextsDataService: Symbol("JISInfotextsDataService"),
13
17
  /* Transformations */
14
- JISInfotextsTransformation: Symbol(),
18
+ JISEventsTransformation: Symbol("JISEventsTransformation"),
19
+ JISInfotextsTransformation: Symbol("JISInfotextsTransformation"),
15
20
  /* Tasks */
16
- RefreshJISInfotextsTask: Symbol(),
17
- FetchJISInfotextsTask: Symbol(),
21
+ FetchJISEventsTask: Symbol("FetchJISEventsTask"),
22
+ FetchJISInfotextsTask: Symbol("FetchJISInfotextsTask"),
23
+ RefreshJISEventsTask: Symbol("RefreshJISEventsTask"),
24
+ RefreshJISInfotextsTask: Symbol("RefreshJISInfotextsTask"),
18
25
  };
19
26
  exports.JISContainerToken = JISContainerToken;
20
27
  //# sourceMappingURL=JISContainerToken.js.map
@@ -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,6BAA6B,EAAE,MAAM,EAAE;IACvC,kBAAkB;IAClB,sBAAsB,EAAE,MAAM,EAAE;IAChC,oCAAoC,EAAE,MAAM,EAAE;IAC9C,qBAAqB,EAAE,MAAM,EAAE;IAC/B,cAAc;IACd,uBAAuB,EAAE,MAAM,EAAE;IACjC,qBAAqB;IACrB,0BAA0B,EAAE,MAAM,EAAE;IACpC,WAAW;IACX,uBAAuB,EAAE,MAAM,EAAE;IACjC,qBAAqB,EAAE,MAAM,EAAE;CAClC,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,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"}
@@ -0,0 +1,29 @@
1
+ import { JISEventsModel } from "../../../schema-definitions/jis/models/JISEventsModel";
2
+ import { IJISEvent } from "../../../schema-definitions/jis/models/interfaces";
3
+ import { ILogger } from "@golemio/core/dist/helpers";
4
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
5
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
6
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
7
+ import { Transaction } from "@golemio/core/dist/shared/sequelize";
8
+ type RepositoryOptions = {
9
+ transaction?: Transaction;
10
+ };
11
+ export declare class JISEventsRepository extends AbstractValidatableRepository {
12
+ private logger;
13
+ validator: JSONSchemaValidator;
14
+ schema: string;
15
+ tableName: string;
16
+ private sequelizeModel;
17
+ constructor(connector: IDatabaseConnector, logger: ILogger);
18
+ deleteAndCountAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
19
+ /**
20
+ * Refresh all data from VYMI and delete old data
21
+ *
22
+ * @param data The data to be upserted
23
+ * @param options Options for the operation
24
+ */
25
+ refreshData(data: IJISEvent[], options?: RepositoryOptions): Promise<JISEventsModel[]>;
26
+ private getUpdateAttributes;
27
+ deleteAndCountAll(options?: RepositoryOptions): Promise<number>;
28
+ }
29
+ export {};
@@ -0,0 +1,113 @@
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.JISEventsRepository = void 0;
16
+ const const_1 = require("../../../schema-definitions/const");
17
+ const JISEventsModel_1 = require("../../../schema-definitions/jis/models/JISEventsModel");
18
+ const AbstractValidatableRepository_1 = require("@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository");
19
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
20
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
22
+ const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
23
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
24
+ let JISEventsRepository = exports.JISEventsRepository = class JISEventsRepository extends AbstractValidatableRepository_1.AbstractValidatableRepository {
25
+ constructor(connector, logger) {
26
+ super(connector, logger);
27
+ this.logger = logger;
28
+ this.schema = const_1.PG_SCHEMA;
29
+ this.tableName = JISEventsModel_1.JISEventsModel.tableName;
30
+ this.validator = new golemio_validator_1.JSONSchemaValidator("JISEventsRepository", JISEventsModel_1.JISEventsModel.jsonSchema);
31
+ this.sequelizeModel = connector
32
+ .getConnection()
33
+ .define(this.tableName, JISEventsModel_1.JISEventsModel.attributeModel, { schema: this.schema });
34
+ }
35
+ async deleteAndCountAllLastUpdatedBefore(dateTime, options) {
36
+ try {
37
+ return await this.sequelizeModel.destroy({
38
+ where: {
39
+ updated_at: { [sequelize_1.Op.lt]: dateTime },
40
+ },
41
+ transaction: options?.transaction,
42
+ });
43
+ }
44
+ catch (err) {
45
+ throw new golemio_errors_1.GeneralError("Error in deleteAndCountAllLastUpdatedBefore", this.constructor.name, err);
46
+ }
47
+ }
48
+ /**
49
+ * Refresh all data from VYMI and delete old data
50
+ *
51
+ * @param data The data to be upserted
52
+ * @param options Options for the operation
53
+ */
54
+ async refreshData(data, options) {
55
+ try {
56
+ const currentEvents = await this.sequelizeModel.findAll({ transaction: options?.transaction });
57
+ const currentEventsMap = new Map();
58
+ for (const event of currentEvents) {
59
+ currentEventsMap.set(event.id, event);
60
+ }
61
+ const toBeUpserted = [];
62
+ for (const event of data) {
63
+ const info = currentEventsMap.get(event.id);
64
+ if (!info || info.updated_at <= event.updated_timestamp) {
65
+ toBeUpserted.push(event);
66
+ }
67
+ currentEventsMap.delete(event.id);
68
+ }
69
+ const toBeDeleted = [];
70
+ for (const { id } of currentEventsMap.values()) {
71
+ toBeDeleted.push(id);
72
+ }
73
+ const [upserted] = await Promise.all([
74
+ this.sequelizeModel.bulkCreate(toBeUpserted, {
75
+ updateOnDuplicate: this.getUpdateAttributes(),
76
+ transaction: options?.transaction,
77
+ }),
78
+ this.sequelizeModel.destroy({
79
+ where: {
80
+ id: { [sequelize_1.Op.in]: toBeDeleted },
81
+ },
82
+ transaction: options?.transaction,
83
+ }),
84
+ ]);
85
+ return upserted;
86
+ }
87
+ catch (err) {
88
+ if (err instanceof sequelize_1.ValidationError && err.errors?.length > 0) {
89
+ const mappedErrors = err.errors.map((e) => `${e.message} (${e.value})`).join(", ");
90
+ throw new golemio_errors_1.ValidationError(`Validation error in refreshData: ${mappedErrors}`, this.constructor.name, err, undefined, "pid");
91
+ }
92
+ throw new golemio_errors_1.GeneralError("Error in refreshData", this.constructor.name, err);
93
+ }
94
+ }
95
+ getUpdateAttributes() {
96
+ return Object.keys(JISEventsModel_1.JISEventsModel.attributeModel).filter((attribute) => !["created_at"].includes(attribute));
97
+ }
98
+ async deleteAndCountAll(options) {
99
+ try {
100
+ return await this.sequelizeModel.destroy({ where: {}, transaction: options?.transaction });
101
+ }
102
+ catch (err) {
103
+ throw new golemio_errors_1.GeneralError("Error in deleteAndCountAll", this.constructor.name, err);
104
+ }
105
+ }
106
+ };
107
+ exports.JISEventsRepository = JISEventsRepository = __decorate([
108
+ (0, tsyringe_1.injectable)(),
109
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.PostgresConnector)),
110
+ __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
111
+ __metadata("design:paramtypes", [Object, Object])
112
+ ], JISEventsRepository);
113
+ //# sourceMappingURL=JISEventsRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JISEventsRepository.js","sourceRoot":"","sources":["../../../../src/integration-engine/jis/repositories/JISEventsRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { JISEventsRopidGTFSRoutesModel } from "../../../schema-definitions/jis/models/JISEventsRopidGTFSRoutesModel";
2
+ import { IJISEventsRopidGTFSRoutes } from "../../../schema-definitions/jis/models/interfaces";
3
+ import { ILogger } from "@golemio/core/dist/helpers";
4
+ import { IDatabaseConnector } from "@golemio/core/dist/helpers/data-access/postgres/IDatabaseConnector";
5
+ import { AbstractValidatableRepository } from "@golemio/core/dist/helpers/data-access/postgres/repositories/AbstractValidatableRepository";
6
+ import { JSONSchemaValidator } from "@golemio/core/dist/shared/golemio-validator";
7
+ import { ModelStatic, Transaction } from "@golemio/core/dist/shared/sequelize";
8
+ type RepositoryOptions = {
9
+ transaction?: Transaction;
10
+ };
11
+ export declare class JISEventsRopidGTFSRoutesRepository extends AbstractValidatableRepository {
12
+ private logger;
13
+ validator: JSONSchemaValidator;
14
+ schema: string;
15
+ tableName: string;
16
+ private sequelizeModel;
17
+ constructor(connector: IDatabaseConnector, logger: ILogger);
18
+ deleteAndCountAllLastUpdatedBefore(dateTime: Date, options?: RepositoryOptions): Promise<number>;
19
+ /**
20
+ * Insert or update all given data. In case of an update, all attributes except for `created_at` shall be overwritten.
21
+ *
22
+ * @param data The data to be upserted
23
+ * @param options Options for the operation
24
+ * @returns The upserted items
25
+ */
26
+ upsertAll(data: IJISEventsRopidGTFSRoutes[], options?: RepositoryOptions): ReturnType<ModelStatic<JISEventsRopidGTFSRoutesModel>["bulkCreate"]>;
27
+ private getUpdateAttributes;
28
+ deleteAndCountAll(options?: RepositoryOptions): Promise<number>;
29
+ }
30
+ export {};