@golemio/core 1.2.25-dev.723880707 → 1.2.25-dev.726368711

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 (188) hide show
  1. package/dist/helpers/connector/interfaces/IQueueConnector.d.ts +8 -0
  2. package/dist/helpers/connector/interfaces/IQueueConnector.js +3 -0
  3. package/dist/helpers/connector/interfaces/IQueueConnector.js.map +1 -0
  4. package/dist/helpers/ioc/Di.d.ts +2 -0
  5. package/dist/helpers/ioc/Di.js +7 -0
  6. package/dist/helpers/ioc/Di.js.map +1 -0
  7. package/dist/helpers/ioc/index.d.ts +1 -0
  8. package/dist/helpers/ioc/index.js +18 -0
  9. package/dist/helpers/ioc/index.js.map +1 -0
  10. package/dist/helpers/utils.d.ts +1 -0
  11. package/dist/helpers/utils.js +6 -0
  12. package/dist/helpers/utils.js.map +1 -0
  13. package/dist/input-gateway/config/InputGatewayConfiguration.d.ts +52 -0
  14. package/dist/input-gateway/config/InputGatewayConfiguration.js +77 -0
  15. package/dist/input-gateway/config/InputGatewayConfiguration.js.map +1 -0
  16. package/dist/input-gateway/config/abstract.d.ts +1 -2
  17. package/dist/input-gateway/config/config.d.ts +3 -0
  18. package/dist/input-gateway/config/config.js +5 -56
  19. package/dist/input-gateway/config/config.js.map +1 -1
  20. package/dist/input-gateway/connectors/AMQPConnector.d.ts +11 -24
  21. package/dist/input-gateway/connectors/AMQPConnector.js +45 -39
  22. package/dist/input-gateway/connectors/AMQPConnector.js.map +1 -1
  23. package/dist/input-gateway/connectors/index.d.ts +6 -1
  24. package/dist/input-gateway/connectors/index.js +4 -15
  25. package/dist/input-gateway/connectors/index.js.map +1 -1
  26. package/dist/input-gateway/controllers/BaseController.js +2 -2
  27. package/dist/input-gateway/controllers/BaseController.js.map +1 -1
  28. package/dist/input-gateway/helpers/Logger.d.ts +16 -20
  29. package/dist/input-gateway/helpers/Logger.js +16 -38
  30. package/dist/input-gateway/helpers/Logger.js.map +1 -1
  31. package/dist/input-gateway/helpers/LoggerEvents.d.ts +11 -0
  32. package/dist/input-gateway/helpers/LoggerEvents.js +55 -0
  33. package/dist/input-gateway/helpers/LoggerEvents.js.map +1 -0
  34. package/dist/input-gateway/helpers/index.d.ts +3 -0
  35. package/dist/input-gateway/helpers/index.js +5 -0
  36. package/dist/input-gateway/helpers/index.js.map +1 -1
  37. package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.d.ts +5 -0
  38. package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.js +3 -0
  39. package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.js.map +1 -0
  40. package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.d.ts +6 -0
  41. package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.js +3 -0
  42. package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.js.map +1 -0
  43. package/dist/input-gateway/ioc/ContainerToken.d.ts +8 -0
  44. package/dist/input-gateway/ioc/ContainerToken.js +12 -0
  45. package/dist/input-gateway/ioc/ContainerToken.js.map +1 -0
  46. package/dist/input-gateway/ioc/Di.d.ts +2 -0
  47. package/dist/input-gateway/ioc/Di.js +32 -0
  48. package/dist/input-gateway/ioc/Di.js.map +1 -0
  49. package/dist/input-gateway/ioc/index.d.ts +2 -0
  50. package/dist/input-gateway/ioc/index.js +19 -0
  51. package/dist/input-gateway/ioc/index.js.map +1 -0
  52. package/dist/integration-engine/config/IntegrationEngineConfiguration.d.ts +78 -0
  53. package/dist/integration-engine/config/IntegrationEngineConfiguration.js +109 -0
  54. package/dist/integration-engine/config/IntegrationEngineConfiguration.js.map +1 -0
  55. package/dist/integration-engine/config/config.d.ts +5 -1
  56. package/dist/integration-engine/config/config.js +6 -88
  57. package/dist/integration-engine/config/config.js.map +1 -1
  58. package/dist/integration-engine/connectors/AMQPConnector.d.ts +12 -5
  59. package/dist/integration-engine/connectors/AMQPConnector.js +59 -35
  60. package/dist/integration-engine/connectors/AMQPConnector.js.map +1 -1
  61. package/dist/integration-engine/connectors/MongoConnector.d.ts +9 -3
  62. package/dist/integration-engine/connectors/MongoConnector.js +36 -14
  63. package/dist/integration-engine/connectors/MongoConnector.js.map +1 -1
  64. package/dist/integration-engine/connectors/PostgresConnector.d.ts +12 -3
  65. package/dist/integration-engine/connectors/PostgresConnector.js +40 -16
  66. package/dist/integration-engine/connectors/PostgresConnector.js.map +1 -1
  67. package/dist/integration-engine/connectors/RedisConnector.d.ts +9 -3
  68. package/dist/integration-engine/connectors/RedisConnector.js +32 -10
  69. package/dist/integration-engine/connectors/RedisConnector.js.map +1 -1
  70. package/dist/integration-engine/connectors/index.d.ts +24 -4
  71. package/dist/integration-engine/connectors/index.js +22 -19
  72. package/dist/integration-engine/connectors/index.js.map +1 -1
  73. package/dist/integration-engine/connectors/interfaces/IMongoConnector.d.ts +7 -0
  74. package/dist/integration-engine/connectors/interfaces/IMongoConnector.js +3 -0
  75. package/dist/integration-engine/connectors/interfaces/IMongoConnector.js.map +1 -0
  76. package/dist/integration-engine/connectors/interfaces/IPostgresConnector.d.ts +7 -0
  77. package/dist/integration-engine/connectors/interfaces/IPostgresConnector.js +3 -0
  78. package/dist/integration-engine/connectors/interfaces/IPostgresConnector.js.map +1 -0
  79. package/dist/integration-engine/connectors/interfaces/IRedisConnector.d.ts +7 -0
  80. package/dist/integration-engine/connectors/interfaces/IRedisConnector.js +3 -0
  81. package/dist/integration-engine/connectors/interfaces/IRedisConnector.js.map +1 -0
  82. package/dist/integration-engine/data-access/RawDataStorage.d.ts +11 -0
  83. package/dist/integration-engine/data-access/RawDataStorage.js +81 -0
  84. package/dist/integration-engine/data-access/RawDataStorage.js.map +1 -0
  85. package/dist/integration-engine/data-access/StorageService.d.ts +10 -4
  86. package/dist/integration-engine/data-access/StorageService.js +40 -18
  87. package/dist/integration-engine/data-access/StorageService.js.map +1 -1
  88. package/dist/integration-engine/data-access/index.d.ts +6 -1
  89. package/dist/integration-engine/data-access/index.js +7 -15
  90. package/dist/integration-engine/data-access/index.js.map +1 -1
  91. package/dist/integration-engine/data-access/interfaces/IStorageService.d.ts +3 -0
  92. package/dist/integration-engine/data-access/interfaces/IStorageService.js +3 -0
  93. package/dist/integration-engine/data-access/interfaces/IStorageService.js.map +1 -0
  94. package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.d.ts +3 -3
  95. package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.js +7 -4
  96. package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.js.map +1 -1
  97. package/dist/integration-engine/data-access/pubsub/subscribers/AbstractSubscriber.d.ts +6 -2
  98. package/dist/integration-engine/data-access/pubsub/subscribers/AbstractSubscriber.js.map +1 -1
  99. package/dist/integration-engine/data-access/pubsub/subscribers/RedisSubscriber.d.ts +10 -12
  100. package/dist/integration-engine/data-access/pubsub/subscribers/RedisSubscriber.js +33 -45
  101. package/dist/integration-engine/data-access/pubsub/subscribers/RedisSubscriber.js.map +1 -1
  102. package/dist/integration-engine/data-access/pubsub/subscribers/interfaces/ISubscribeMessage.d.ts +1 -0
  103. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js +6 -4
  104. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js.map +1 -1
  105. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.d.ts +1 -1
  106. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js +4 -3
  107. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js.map +1 -1
  108. package/dist/integration-engine/helpers/FileCompressor.js +4 -6
  109. package/dist/integration-engine/helpers/FileCompressor.js.map +1 -1
  110. package/dist/integration-engine/helpers/GeocodeApi.d.ts +8 -3
  111. package/dist/integration-engine/helpers/GeocodeApi.js +32 -11
  112. package/dist/integration-engine/helpers/GeocodeApi.js.map +1 -1
  113. package/dist/integration-engine/helpers/Logger.d.ts +16 -10
  114. package/dist/integration-engine/helpers/Logger.js +13 -71
  115. package/dist/integration-engine/helpers/Logger.js.map +1 -1
  116. package/dist/integration-engine/helpers/LoggerEvents.d.ts +11 -0
  117. package/dist/integration-engine/helpers/LoggerEvents.js +91 -0
  118. package/dist/integration-engine/helpers/LoggerEvents.js.map +1 -0
  119. package/dist/integration-engine/helpers/RawDataStore.d.ts +3 -0
  120. package/dist/integration-engine/helpers/RawDataStore.js +5 -39
  121. package/dist/integration-engine/helpers/RawDataStore.js.map +1 -1
  122. package/dist/integration-engine/helpers/index.d.ts +8 -2
  123. package/dist/integration-engine/helpers/index.js +10 -2
  124. package/dist/integration-engine/helpers/index.js.map +1 -1
  125. package/dist/integration-engine/ioc/ContainerToken.d.ts +14 -0
  126. package/dist/integration-engine/ioc/ContainerToken.js +18 -0
  127. package/dist/integration-engine/ioc/ContainerToken.js.map +1 -0
  128. package/dist/integration-engine/ioc/Di.d.ts +2 -0
  129. package/dist/integration-engine/ioc/Di.js +46 -0
  130. package/dist/integration-engine/ioc/Di.js.map +1 -0
  131. package/dist/integration-engine/ioc/index.d.ts +2 -0
  132. package/dist/integration-engine/ioc/index.js +19 -0
  133. package/dist/integration-engine/ioc/index.js.map +1 -0
  134. package/dist/integration-engine/models/MongoModel.js +6 -6
  135. package/dist/integration-engine/models/MongoModel.js.map +1 -1
  136. package/dist/integration-engine/models/PostgresModel.d.ts +3 -1
  137. package/dist/integration-engine/models/PostgresModel.js +19 -14
  138. package/dist/integration-engine/models/PostgresModel.js.map +1 -1
  139. package/dist/integration-engine/models/RedisModel.js +2 -2
  140. package/dist/integration-engine/models/RedisModel.js.map +1 -1
  141. package/dist/output-gateway/Logger.d.ts +10 -2
  142. package/dist/output-gateway/Logger.js +9 -8
  143. package/dist/output-gateway/Logger.js.map +1 -1
  144. package/dist/output-gateway/config/OutputGatewayConfiguration.d.ts +51 -0
  145. package/dist/output-gateway/config/OutputGatewayConfiguration.js +90 -0
  146. package/dist/output-gateway/config/OutputGatewayConfiguration.js.map +1 -0
  147. package/dist/output-gateway/config/config.d.ts +5 -48
  148. package/dist/output-gateway/config/config.js +5 -69
  149. package/dist/output-gateway/config/config.js.map +1 -1
  150. package/dist/output-gateway/database/MongoDatabase.d.ts +7 -4
  151. package/dist/output-gateway/database/MongoDatabase.js +37 -16
  152. package/dist/output-gateway/database/MongoDatabase.js.map +1 -1
  153. package/dist/output-gateway/database/PostgreDatabase.d.ts +20 -3
  154. package/dist/output-gateway/database/PostgreDatabase.js +40 -17
  155. package/dist/output-gateway/database/PostgreDatabase.js.map +1 -1
  156. package/dist/output-gateway/database/index.d.ts +64 -1
  157. package/dist/output-gateway/database/index.js +17 -1
  158. package/dist/output-gateway/database/index.js.map +1 -1
  159. package/dist/output-gateway/ioc/ContainerToken.d.ts +13 -0
  160. package/dist/output-gateway/ioc/ContainerToken.js +17 -0
  161. package/dist/output-gateway/ioc/ContainerToken.js.map +1 -0
  162. package/dist/output-gateway/ioc/Di.d.ts +2 -0
  163. package/dist/output-gateway/ioc/Di.js +40 -0
  164. package/dist/output-gateway/ioc/Di.js.map +1 -0
  165. package/dist/output-gateway/ioc/index.d.ts +2 -0
  166. package/dist/output-gateway/ioc/index.js +19 -0
  167. package/dist/output-gateway/ioc/index.js.map +1 -0
  168. package/dist/output-gateway/models/GeoJsonModel.d.ts +1 -0
  169. package/dist/output-gateway/models/GeoJsonModel.js +7 -6
  170. package/dist/output-gateway/models/GeoJsonModel.js.map +1 -1
  171. package/dist/output-gateway/models/SequelizeModel.js +2 -2
  172. package/dist/output-gateway/models/SequelizeModel.js.map +1 -1
  173. package/dist/output-gateway/redis/CacheMiddleware.d.ts +9 -5
  174. package/dist/output-gateway/redis/CacheMiddleware.js +36 -17
  175. package/dist/output-gateway/redis/CacheMiddleware.js.map +1 -1
  176. package/dist/output-gateway/redis/RedisConnector.d.ts +6 -3
  177. package/dist/output-gateway/redis/RedisConnector.js +33 -13
  178. package/dist/output-gateway/redis/RedisConnector.js.map +1 -1
  179. package/dist/output-gateway/redis/index.d.ts +15 -1
  180. package/dist/output-gateway/redis/index.js +16 -1
  181. package/dist/output-gateway/redis/index.js.map +1 -1
  182. package/dist/shared/pino.d.ts +2 -0
  183. package/dist/shared/pino.js +29 -0
  184. package/dist/shared/pino.js.map +1 -0
  185. package/dist/shared/tsyringe.d.ts +1 -0
  186. package/dist/shared/tsyringe.js +18 -0
  187. package/dist/shared/tsyringe.js.map +1 -0
  188. package/package.json +3 -2
@@ -1,4 +1,16 @@
1
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
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -13,21 +25,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
25
  };
14
26
  Object.defineProperty(exports, "__esModule", { value: true });
15
27
  exports.RedisConnector = void 0;
28
+ const ioc_1 = require("../ioc");
16
29
  const errors_1 = require("@golemio/errors");
17
30
  const ioredis_1 = __importDefault(require("ioredis"));
18
- const config_1 = require("../config");
19
- const helpers_1 = require("../helpers");
20
- class MyRedis {
21
- constructor() {
31
+ const tsyringe_1 = require("tsyringe");
32
+ let RedisConnector = class RedisConnector {
33
+ constructor(config, log) {
34
+ this.log = log;
22
35
  this.connect = () => __awaiter(this, void 0, void 0, function* () {
23
36
  try {
24
37
  if (this.connection) {
25
38
  return this.connection;
26
39
  }
27
- if (!config_1.config.REDIS_CONN) {
40
+ if (!this.redisConn) {
28
41
  throw new errors_1.CustomError("The ENV variable REDIS_CONN cannot be undefined.", true, this.constructor.name, 6003);
29
42
  }
30
- this.connection = new ioredis_1.default(config_1.config.REDIS_CONN);
43
+ this.connection = new ioredis_1.default(this.redisConn);
31
44
  if (!this.connection) {
32
45
  throw new Error("Connection is undefined.");
33
46
  }
@@ -35,7 +48,7 @@ class MyRedis {
35
48
  throw new errors_1.CustomError("Error while connecting to Redis.", false, this.constructor.name, 1001, err);
36
49
  });
37
50
  this.connection.on("connect", () => {
38
- helpers_1.log.info("Connected to Redis!");
51
+ this.log.info("Connected to Redis!");
39
52
  });
40
53
  return this.connection;
41
54
  }
@@ -53,13 +66,22 @@ class MyRedis {
53
66
  return !!this.connection && this.connection.status === "ready";
54
67
  });
55
68
  this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
56
- helpers_1.log.info("Redis disconnect called");
69
+ this.log.info("Redis disconnect called");
57
70
  if (this.connection) {
58
71
  yield this.connection.quit();
59
72
  }
60
73
  });
74
+ this.dispose = () => __awaiter(this, void 0, void 0, function* () {
75
+ yield this.disconnect();
76
+ });
77
+ this.redisConn = config.REDIS_CONN;
61
78
  }
62
- }
63
- const RedisConnector = new MyRedis();
79
+ };
80
+ RedisConnector = __decorate([
81
+ (0, tsyringe_1.injectable)(),
82
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
83
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
84
+ __metadata("design:paramtypes", [Object, Object])
85
+ ], RedisConnector);
64
86
  exports.RedisConnector = RedisConnector;
65
87
  //# sourceMappingURL=RedisConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RedisConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/RedisConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA8C;AAC9C,sDAAwD;AACxD,sCAAoC;AACpC,wCAAkC;AAElC,MAAM,OAAO;IAAb;QAGW,YAAO,GAAG,GAAiC,EAAE;YAChD,IAAI;gBACA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;gBAED,IAAI,CAAC,eAAM,CAAC,UAAU,EAAE;oBACpB,MAAM,IAAI,oBAAW,CAAC,kDAAkD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAChH;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAK,CAAC,eAAM,CAAC,UAAU,CAAC,CAAC;gBAE/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC/C;gBAED,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChC,MAAM,IAAI,oBAAW,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvG,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC/B,aAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACtG;QACL,CAAC,CAAA,CAAC;QAEK,kBAAa,GAAG,GAAkB,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,oBAAW,CACjB,gEAAgE,EAChE,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CACP,CAAC;aACL;YACD,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC;QAEK,gBAAW,GAAG,GAA2B,EAAE;YAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;QACnE,CAAC,CAAA,CAAC;QAEK,eAAU,GAAG,GAAwB,EAAE;YAC1C,aAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aAChC;QACL,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAED,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;AAE5B,wCAAc"}
1
+ {"version":3,"file":"RedisConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/RedisConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gCAAyC;AACzC,4CAA8C;AAE9C,sDAAwD;AACxD,uCAA0D;AAI1D,IAAa,cAAc,GAA3B,MAAa,cAAc;IAIvB,YACmC,MAAsB,EACL,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAKzD,YAAO,GAAG,GAAiC,EAAE;YAChD,IAAI;gBACA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;gBAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oBACjB,MAAM,IAAI,oBAAW,CAAC,kDAAkD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAChH;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC/C;gBAED,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAChC,MAAM,IAAI,oBAAW,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvG,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;oBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACtG;QACL,CAAC,CAAA,CAAC;QAEK,kBAAa,GAAG,GAAkB,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,oBAAW,CACjB,gEAAgE,EAChE,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CACP,CAAC;aACL;YACD,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC;QAEK,gBAAW,GAAG,GAA2B,EAAE;YAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;QACnE,CAAC,CAAA,CAAC;QAEK,eAAU,GAAG,GAAwB,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;aAChC;QACL,CAAC,CAAA,CAAC;QAEK,YAAO,GAAG,GAAwB,EAAE;YACvC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAA,CAAC;QA1DE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;CA0DJ,CAAA;AAnEY,cAAc;IAD1B,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GANzB,cAAc,CAmE1B;AAnEY,wCAAc"}
@@ -1,4 +1,24 @@
1
- export * from "./AMQPConnector";
2
- export * from "./MongoConnector";
3
- export * from "./PostgresConnector";
4
- export * from "./RedisConnector";
1
+ import { AMQPConnector } from "./AMQPConnector";
2
+ import { IMongoConnector } from "./interfaces/IMongoConnector";
3
+ import IPostgresConnector from "./interfaces/IPostgresConnector";
4
+ import IRedisConnector from "./interfaces/IRedisConnector";
5
+ /**
6
+ * @deprecated For backwards compatibility. Use ioc container instead.
7
+ */
8
+ declare const queueConnector: AMQPConnector;
9
+ /**
10
+ * @deprecated For backwards compatibility. Use ioc container instead.
11
+ */
12
+ declare const mongoConnector: IMongoConnector;
13
+ /**
14
+ * @deprecated For backwards compatibility. Use ioc container instead.
15
+ */
16
+ declare const postgresConnector: IPostgresConnector;
17
+ /**
18
+ * @deprecated For backwards compatibility. Use ioc container instead.
19
+ */
20
+ declare const redisConnector: IRedisConnector;
21
+ export { redisConnector as RedisConnector };
22
+ export { queueConnector as AMQPConnector };
23
+ export { mongoConnector as MongoConnector };
24
+ export { postgresConnector as PostgresConnector };
@@ -1,22 +1,25 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- /* ie/connectors/index.ts */
18
- __exportStar(require("./AMQPConnector"), exports);
19
- __exportStar(require("./MongoConnector"), exports);
20
- __exportStar(require("./PostgresConnector"), exports);
21
- __exportStar(require("./RedisConnector"), exports);
3
+ exports.PostgresConnector = exports.MongoConnector = exports.AMQPConnector = exports.RedisConnector = void 0;
4
+ const ioc_1 = require("../ioc");
5
+ /**
6
+ * @deprecated For backwards compatibility. Use ioc container instead.
7
+ */
8
+ const queueConnector = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.AmqpConnector);
9
+ exports.AMQPConnector = queueConnector;
10
+ /**
11
+ * @deprecated For backwards compatibility. Use ioc container instead.
12
+ */
13
+ const mongoConnector = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.MongoConnector);
14
+ exports.MongoConnector = mongoConnector;
15
+ /**
16
+ * @deprecated For backwards compatibility. Use ioc container instead.
17
+ */
18
+ const postgresConnector = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.PostgresConnector);
19
+ exports.PostgresConnector = postgresConnector;
20
+ /**
21
+ * @deprecated For backwards compatibility. Use ioc container instead.
22
+ */
23
+ const redisConnector = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.RedisConnector);
24
+ exports.RedisConnector = redisConnector;
22
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/index.ts"],"names":[],"mappings":";;;AAAA,gCAAqE;AAMrE;;GAEG;AACH,MAAM,cAAc,GAAG,gCAA0B,CAAC,OAAO,CAAgB,oBAAc,CAAC,aAAa,CAAC,CAAC;AAgB5E,uCAAa;AAfxC;;GAEG;AACH,MAAM,cAAc,GAAG,gCAA0B,CAAC,OAAO,CAAkB,oBAAc,CAAC,cAAc,CAAC,CAAC;AAa/E,wCAAc;AAZzC;;GAEG;AACH,MAAM,iBAAiB,GAAG,gCAA0B,CAAC,OAAO,CAAqB,oBAAc,CAAC,iBAAiB,CAAC,CAAC;AAUrF,8CAAiB;AAT/C;;GAEG;AACH,MAAM,cAAc,GAAG,gCAA0B,CAAC,OAAO,CAAkB,oBAAc,CAAC,cAAc,CAAC,CAAC;AAG/E,wCAAc"}
@@ -0,0 +1,7 @@
1
+ import mongoose from "mongoose";
2
+ export interface IMongoConnector {
3
+ connect(): Promise<mongoose.Connection>;
4
+ getConnection(): mongoose.Connection;
5
+ isConnected(): Promise<boolean>;
6
+ disconnect(): Promise<void>;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMongoConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMongoConnector.js","sourceRoot":"","sources":["../../../../src/integration-engine/connectors/interfaces/IMongoConnector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Sequelize } from "sequelize/types";
2
+ export default interface IPostgresConnector {
3
+ connect(connectionString?: string | undefined): Promise<Sequelize>;
4
+ getConnection(): Sequelize;
5
+ isConnected(): Promise<boolean>;
6
+ disconnect(): Promise<void>;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPostgresConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPostgresConnector.js","sourceRoot":"","sources":["../../../../src/integration-engine/connectors/interfaces/IPostgresConnector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { Redis as RedisInstance } from "ioredis";
2
+ export default interface IRedisConnector {
3
+ connect(): Promise<RedisInstance>;
4
+ getConnection(): RedisInstance;
5
+ isConnected(): Promise<boolean>;
6
+ disconnect(): Promise<void>;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IRedisConnector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRedisConnector.js","sourceRoot":"","sources":["../../../../src/integration-engine/connectors/interfaces/IRedisConnector.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { ILogger } from "../../helpers";
2
+ import { IConfiguration } from "./..";
3
+ import IStorageService from "./interfaces/IStorageService";
4
+ export default class RawDataStorage {
5
+ private storageService;
6
+ private readonly log;
7
+ private s3Enabled;
8
+ private rawDataWhitelist;
9
+ constructor(config: IConfiguration, storageService: IStorageService, log: ILogger);
10
+ save: (data: any, meta: any, name?: string) => Promise<void>;
11
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ const ContentTypeHelper_1 = require("../helpers/ContentTypeHelper");
28
+ const ioc_1 = require("../ioc");
29
+ const content_type_1 = __importDefault(require("content-type"));
30
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
31
+ const tsyringe_1 = require("tsyringe");
32
+ let RawDataStorage = class RawDataStorage {
33
+ constructor(config, storageService, log) {
34
+ this.storageService = storageService;
35
+ this.log = log;
36
+ this.save = (data, meta, name = "Unknown") => __awaiter(this, void 0, void 0, function* () {
37
+ if (!this.s3Enabled || !this.rawDataWhitelist[name]) {
38
+ this.log.verbose(`Raw data S3 upload not enabled for \`${name}\` datasource.`);
39
+ return;
40
+ }
41
+ const now = (0, moment_timezone_1.default)().tz("Europe/Prague");
42
+ let ext = null;
43
+ let headers = null;
44
+ if (meta.headers) {
45
+ try {
46
+ headers = JSON.stringify(meta.headers, null, 2);
47
+ }
48
+ catch (_a) {
49
+ null;
50
+ }
51
+ try {
52
+ const parsedMediaType = content_type_1.default.parse(meta.headers["content-type"]);
53
+ if (parsedMediaType === null || parsedMediaType === void 0 ? void 0 : parsedMediaType.type) {
54
+ ext = ContentTypeHelper_1.contentTypeToExtension[parsedMediaType.type];
55
+ }
56
+ }
57
+ catch (_b) {
58
+ null;
59
+ }
60
+ }
61
+ const fileName = `${now.format("YYYY-MM-DD")}/${now.format("HH_mm_ss.SSS")}`;
62
+ // Save data
63
+ yield this.storageService.saveData(data, name, ext !== null && ext !== void 0 ? ext : "", fileName);
64
+ if (this.rawDataWhitelist[name].saveHeaders && headers && meta.statusCode && meta.statusCode !== 200) {
65
+ // Save headers
66
+ yield this.storageService.saveData(headers, name, "json", `${fileName}_headers`);
67
+ }
68
+ });
69
+ this.s3Enabled = config.s3.enabled;
70
+ this.rawDataWhitelist = config.saveRawDataWhitelist;
71
+ }
72
+ };
73
+ RawDataStorage = __decorate([
74
+ (0, tsyringe_1.injectable)(),
75
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
76
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.StorageService)),
77
+ __param(2, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
78
+ __metadata("design:paramtypes", [Object, Object, Object])
79
+ ], RawDataStorage);
80
+ exports.default = RawDataStorage;
81
+ //# sourceMappingURL=RawDataStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RawDataStorage.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/RawDataStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oEAAuE;AACvE,gCAAyC;AACzC,gEAAuC;AACvC,sEAAqC;AACrC,uCAA8C;AAK9C,IAAqB,cAAc,GAAnC,MAAqB,cAAc;IAI/B,YACmC,MAAsB,EACN,cAA+B,EAC9B,GAAY;QADb,mBAAc,GAAd,cAAc,CAAiB;QAC9B,QAAG,GAAH,GAAG,CAAS;QAMzD,SAAI,GAAG,CAAO,IAAS,EAAE,IAAS,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACjD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,wCAAwC,IAAI,gBAAgB,CAAC,CAAC;gBAC/E,OAAO;aACV;YAED,MAAM,GAAG,GAAG,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YACzC,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI;oBACA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACnD;gBAAC,WAAM;oBACJ,IAAI,CAAC;iBACR;gBACD,IAAI;oBACA,MAAM,eAAe,GAAG,sBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBACxE,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,EAAE;wBACvB,GAAG,GAAG,0CAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;qBACtD;iBACJ;gBAAC,WAAM;oBACJ,IAAI,CAAC;iBACR;aACJ;YAED,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAE7E,YAAY;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;YAEpE,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;gBAClG,eAAe;gBACf,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;aACpF;QACL,CAAC,CAAA,CAAC;QAvCE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IACxD,CAAC;CAsCJ,CAAA;AAjDoB,cAAc;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;IACrC,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GAPjB,cAAc,CAiDlC;kBAjDoB,cAAc"}
@@ -1,10 +1,16 @@
1
- declare class StorageService {
1
+ import { ILogger } from "../../helpers";
2
+ import { IConfiguration } from "../config";
3
+ import IStorageService from "./interfaces/IStorageService";
4
+ export declare class StorageService implements IStorageService {
5
+ private readonly log;
2
6
  private readonly s3;
3
- constructor();
7
+ private bucketName;
8
+ private enabled;
9
+ private uploadPartSize;
10
+ private uploadQueueSize;
11
+ constructor(config: IConfiguration, log: ILogger);
4
12
  /**
5
13
  * Save data to our storage
6
14
  */
7
15
  saveData(data: string, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
8
16
  }
9
- export declare const storageService: StorageService;
10
- export {};
@@ -1,4 +1,16 @@
1
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
+ };
2
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,28 +24,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
24
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
25
  };
14
26
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.storageService = void 0;
27
+ exports.StorageService = void 0;
28
+ const ioc_1 = require("../ioc");
16
29
  const aws_sdk_1 = require("aws-sdk");
17
30
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
18
- const config_1 = require("../config");
19
- const helpers_1 = require("../helpers");
20
- class StorageService {
21
- constructor() {
31
+ const tsyringe_1 = require("tsyringe");
32
+ let StorageService = class StorageService {
33
+ constructor(config, log) {
34
+ this.log = log;
22
35
  this.s3 = new aws_sdk_1.S3({
23
- accessKeyId: config_1.config.s3.access_key_id,
24
- endpoint: config_1.config.s3.endpoint,
36
+ accessKeyId: config.s3.access_key_id,
37
+ endpoint: config.s3.endpoint,
25
38
  s3ForcePathStyle: true,
26
- secretAccessKey: config_1.config.s3.secret_access_key,
39
+ secretAccessKey: config.s3.secret_access_key,
27
40
  signatureVersion: "v4",
28
41
  });
42
+ this.bucketName = config.s3.bucket_name;
43
+ this.enabled = config.s3.enabled;
44
+ this.uploadPartSize = config.s3.upload_part_size;
45
+ this.uploadQueueSize = config.s3.upload_queue_size;
29
46
  }
30
47
  /**
31
48
  * Save data to our storage
32
49
  */
33
50
  saveData(data, pathPrefix, ext = "", fileName) {
34
51
  return __awaiter(this, void 0, void 0, function* () {
35
- if (!config_1.config.s3.enabled || !config_1.config.s3.bucket_name) {
36
- helpers_1.log.silly("[S3] Service is disabled. Skipping");
52
+ if (!this.enabled || !this.bucketName) {
53
+ this.log.silly("[S3] Service is disabled. Skipping");
37
54
  return;
38
55
  }
39
56
  const now = (0, moment_timezone_1.default)().tz("Europe/Prague");
@@ -42,27 +59,32 @@ class StorageService {
42
59
  const fileNameExt = ext ? `.${ext}` : "";
43
60
  const paramsBodyData = {
44
61
  Body: data,
45
- Bucket: config_1.config.s3.bucket_name,
62
+ Bucket: this.bucketName,
46
63
  Key: `${fileNameKey}${fileNameExt}`,
47
64
  };
48
65
  const options = {
49
- partSize: config_1.config.s3.upload_part_size * 1024 * 1024,
50
- queueSize: config_1.config.s3.upload_queue_size,
66
+ partSize: this.uploadPartSize * 1024 * 1024,
67
+ queueSize: this.uploadQueueSize,
51
68
  };
52
69
  try {
53
70
  yield this.s3
54
71
  .upload(paramsBodyData, options)
55
72
  .on("httpUploadProgress", (progress) => {
56
- helpers_1.log.verbose(`[S3] Data S3 upload ` +
57
- `\`${config_1.config.s3.bucket_name}/${fileName}: \`${progress.loaded} / ${progress.total}.`);
73
+ this.log.verbose(`[S3] Data S3 upload ` + `\`${this.bucketName}/${fileName}: \`${progress.loaded} / ${progress.total}.`);
58
74
  })
59
75
  .promise();
60
76
  }
61
77
  catch (err) {
62
- helpers_1.log.error(`[S3] Saving of data failed (${fileName})`, err);
78
+ this.log.error(`[S3] Saving of data failed (${fileName})`, err);
63
79
  }
64
80
  });
65
81
  }
66
- }
67
- exports.storageService = new StorageService();
82
+ };
83
+ StorageService = __decorate([
84
+ (0, tsyringe_1.injectable)(),
85
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
86
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
87
+ __metadata("design:paramtypes", [Object, Object])
88
+ ], StorageService);
89
+ exports.StorageService = StorageService;
68
90
  //# sourceMappingURL=StorageService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/StorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAA6B;AAC7B,sEAAqC;AACrC,sCAAoC;AACpC,wCAAkC;AAElC,MAAM,cAAc;IAGhB;QACI,IAAI,CAAC,EAAE,GAAG,IAAI,YAAE,CAAC;YACb,WAAW,EAAE,eAAM,CAAC,EAAE,CAAC,aAAa;YACpC,QAAQ,EAAE,eAAM,CAAC,EAAE,CAAC,QAAQ;YAC5B,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,eAAM,CAAC,EAAE,CAAC,iBAAiB;YAC5C,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACU,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,MAAc,EAAE,EAAE,QAAiB;;YACvF,IAAI,CAAC,eAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,eAAM,CAAC,EAAE,CAAC,WAAW,EAAE;gBAC9C,aAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAChD,OAAO;aACV;YAED,MAAM,GAAG,GAAG,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/F,MAAM,WAAW,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzC,MAAM,cAAc,GAAwB;gBACxC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,eAAM,CAAC,EAAE,CAAC,WAAW;gBAC7B,GAAG,EAAE,GAAG,WAAW,GAAG,WAAW,EAAE;aACtC,CAAC;YAEF,MAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,eAAM,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,GAAG,IAAI;gBAClD,SAAS,EAAE,eAAM,CAAC,EAAE,CAAC,iBAAiB;aACzC,CAAC;YAEF,IAAI;gBACA,MAAM,IAAI,CAAC,EAAE;qBACR,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;qBAC/B,EAAE,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACnC,aAAG,CAAC,OAAO,CACP,sBAAsB;wBAClB,KAAK,eAAM,CAAC,EAAE,CAAC,WAAW,IAAI,QAAQ,OAAO,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK,GAAG,CAC1F,CAAC;gBACN,CAAC,CAAC;qBACD,OAAO,EAAE,CAAC;aAClB;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,+BAA+B,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9D;QACL,CAAC;KAAA;CACJ;AAEY,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"StorageService.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/StorageService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gCAAyC;AACzC,qCAA6B;AAC7B,sEAAqC;AACrC,uCAA8C;AAI9C,IAAa,cAAc,GAA3B,MAAa,cAAc;IAOvB,YACmC,MAAsB,EACL,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAE5D,IAAI,CAAC,EAAE,GAAG,IAAI,YAAE,CAAC;YACb,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa;YACpC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ;YAC5B,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB;YAC5C,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;IACvD,CAAC;IAED;;OAEG;IACU,QAAQ,CAAC,IAAY,EAAE,UAAkB,EAAE,MAAc,EAAE,EAAE,QAAiB;;YACvF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACrD,OAAO;aACV;YAED,MAAM,GAAG,GAAG,IAAA,yBAAM,GAAE,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,cAAc,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/F,MAAM,WAAW,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzC,MAAM,cAAc,GAAwB;gBACxC,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,GAAG,EAAE,GAAG,WAAW,GAAG,WAAW,EAAE;aACtC,CAAC;YAEF,MAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,IAAI;gBAC3C,SAAS,EAAE,IAAI,CAAC,eAAe;aAClC,CAAC;YAEF,IAAI;gBACA,MAAM,IAAI,CAAC,EAAE;qBACR,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;qBAC/B,EAAE,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACnC,IAAI,CAAC,GAAG,CAAC,OAAO,CACZ,sBAAsB,GAAG,KAAK,IAAI,CAAC,UAAU,IAAI,QAAQ,OAAO,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK,GAAG,CACzG,CAAC;gBACN,CAAC,CAAC;qBACD,OAAO,EAAE,CAAC;aAClB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;aACnE;QACL,CAAC;KAAA;CACJ,CAAA;AA9DY,cAAc;IAD1B,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GATzB,cAAc,CA8D1B;AA9DY,wCAAc"}
@@ -1 +1,6 @@
1
- export * from "./StorageService";
1
+ import IStorageService from "./interfaces/IStorageService";
2
+ /**
3
+ * @deprecated For backwards compatibility. Use ioc container instead.
4
+ */
5
+ declare const storageService: IStorageService;
6
+ export { storageService };
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./StorageService"), exports);
3
+ exports.storageService = void 0;
4
+ const ioc_1 = require("../ioc");
5
+ /**
6
+ * @deprecated For backwards compatibility. Use ioc container instead.
7
+ */
8
+ const storageService = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.StorageService);
9
+ exports.storageService = storageService;
18
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/index.ts"],"names":[],"mappings":";;;AAAA,gCAAqE;AAGrE;;GAEG;AACH,MAAM,cAAc,GAAG,gCAA0B,CAAC,OAAO,CAAkB,oBAAc,CAAC,cAAc,CAAC,CAAC;AAEjG,wCAAc"}
@@ -0,0 +1,3 @@
1
+ export default interface IStorageService {
2
+ saveData(data: string, pathPrefix: string, ext?: string, fileName?: string): Promise<void>;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IStorageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStorageService.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-access/interfaces/IStorageService.ts"],"names":[],"mappings":""}
@@ -1,13 +1,13 @@
1
1
  import { PubSubChannel } from "./AbstractPubSubChannel";
2
2
  import { RedisSubscriber } from "./subscribers/RedisSubscriber";
3
- interface IPublishMessageOptions {
3
+ interface IChannelOptions {
4
4
  channelSuffix?: string;
5
5
  }
6
6
  export declare class RedisPubSubChannel extends PubSubChannel {
7
7
  private readonly channel;
8
8
  private readonly connection;
9
9
  constructor(channel: string);
10
- publishMessage(message: string, options?: IPublishMessageOptions): Promise<void>;
11
- createSubscriber(): RedisSubscriber;
10
+ publishMessage(message: string, options?: IChannelOptions): Promise<void>;
11
+ createSubscriber(options?: IChannelOptions): RedisSubscriber;
12
12
  }
13
13
  export {};
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RedisPubSubChannel = void 0;
13
- const RedisConnector_1 = require("../../connectors/RedisConnector");
13
+ const connectors_1 = require("../../connectors");
14
14
  const AbstractPubSubChannel_1 = require("./AbstractPubSubChannel");
15
15
  const getRedisChannel_1 = require("./helpers/getRedisChannel");
16
16
  const RedisSubscriber_1 = require("./subscribers/RedisSubscriber");
@@ -18,7 +18,7 @@ class RedisPubSubChannel extends AbstractPubSubChannel_1.PubSubChannel {
18
18
  constructor(channel) {
19
19
  super();
20
20
  this.channel = channel;
21
- this.connection = RedisConnector_1.RedisConnector.getConnection();
21
+ this.connection = connectors_1.RedisConnector.getConnection();
22
22
  }
23
23
  publishMessage(message, options = {}) {
24
24
  return __awaiter(this, void 0, void 0, function* () {
@@ -26,8 +26,11 @@ class RedisPubSubChannel extends AbstractPubSubChannel_1.PubSubChannel {
26
26
  yield this.connection.publish(redisChannel, message);
27
27
  });
28
28
  }
29
- createSubscriber() {
30
- return new RedisSubscriber_1.RedisSubscriber(this.channel);
29
+ createSubscriber(options = {}) {
30
+ return new RedisSubscriber_1.RedisSubscriber({
31
+ channelName: this.channel,
32
+ channelSuffix: options.channelSuffix,
33
+ });
31
34
  }
32
35
  }
33
36
  exports.RedisPubSubChannel = RedisPubSubChannel;
@@ -1 +1 @@
1
- {"version":3,"file":"RedisPubSubChannel.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-access/pubsub/RedisPubSubChannel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAA+D;AAE/D,mEAAwD;AACxD,+DAA4D;AAC5D,mEAAgE;AAMhE,MAAa,kBAAmB,SAAQ,qCAAa;IAGjD,YAA6B,OAAe;QACxC,KAAK,EAAE,CAAC;QADiB,YAAO,GAAP,OAAO,CAAQ;QAExC,IAAI,CAAC,UAAU,GAAG,+BAAc,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC;IAEY,cAAc,CAAC,OAAe,EAAE,UAAkC,EAAE;;YAC7E,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;KAAA;IAEM,gBAAgB;QACnB,OAAO,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACJ;AAhBD,gDAgBC"}
1
+ {"version":3,"file":"RedisPubSubChannel.js","sourceRoot":"","sources":["../../../../src/integration-engine/data-access/pubsub/RedisPubSubChannel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAAiD;AAEjD,mEAAwD;AACxD,+DAA4D;AAC5D,mEAAgE;AAMhE,MAAa,kBAAmB,SAAQ,qCAAa;IAGjD,YAA6B,OAAe;QACxC,KAAK,EAAE,CAAC;QADiB,YAAO,GAAP,OAAO,CAAQ;QAExC,IAAI,CAAC,UAAU,GAAG,2BAAc,CAAC,aAAa,EAAE,CAAC;IACrD,CAAC;IAEY,cAAc,CAAC,OAAe,EAAE,UAA2B,EAAE;;YACtE,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;KAAA;IAEM,gBAAgB,CAAC,UAA2B,EAAE;QACjD,OAAO,IAAI,iCAAe,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,OAAO;YACzB,aAAa,EAAE,OAAO,CAAC,aAAa;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AAnBD,gDAmBC"}
@@ -1,5 +1,9 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from "stream";
1
3
  import { ISubscribeMessage } from "./interfaces/ISubscribeMessage";
4
+ export declare type MessageCallback = (payload: ISubscribeMessage) => void;
2
5
  export declare abstract class Subscriber {
3
- abstract subscribe(): Promise<AsyncGenerator<ISubscribeMessage>>;
4
- abstract unsubscribeAll(): Promise<void>;
6
+ abstract subscribe(): Promise<EventEmitter>;
7
+ abstract unsubscribe(): Promise<void>;
8
+ abstract listen(maxMessages: number, messageCallback: MessageCallback): Promise<void>;
5
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSubscriber.js","sourceRoot":"","sources":["../../../../../src/integration-engine/data-access/pubsub/subscribers/AbstractSubscriber.ts"],"names":[],"mappings":";;;AAEA,MAAsB,UAAU;CAG/B;AAHD,gCAGC"}
1
+ {"version":3,"file":"AbstractSubscriber.js","sourceRoot":"","sources":["../../../../../src/integration-engine/data-access/pubsub/subscribers/AbstractSubscriber.ts"],"names":[],"mappings":";;;AAKA,MAAsB,UAAU;CAI/B;AAJD,gCAIC"}
@@ -1,17 +1,15 @@
1
- import { Subscriber } from "./AbstractSubscriber";
2
- import { ISubscribeMessage } from "./interfaces/ISubscribeMessage";
3
- interface ISubscribeOptions {
1
+ import { Redis as RedisInstance } from "ioredis";
2
+ import { MessageCallback, Subscriber } from "./AbstractSubscriber";
3
+ interface ISubscriberOptions {
4
+ channelName: string;
4
5
  channelSuffix?: string;
5
- maxMessages?: number;
6
6
  }
7
7
  export declare class RedisSubscriber extends Subscriber {
8
- private readonly channel;
9
- private static DEFAULT_MAX_MESSAGES;
10
- private readonly connection;
11
- private activeChannels;
12
- constructor(channel: string);
13
- subscribe(options?: ISubscribeOptions): Promise<AsyncGenerator<ISubscribeMessage>>;
14
- unsubscribeAll(): Promise<void>;
15
- private listenForMessages;
8
+ private connection;
9
+ private readonly redisChannel;
10
+ constructor(options: ISubscriberOptions);
11
+ subscribe(): Promise<RedisInstance>;
12
+ unsubscribe(): Promise<void>;
13
+ listen(maxMessageCount: number, messageCallback: MessageCallback): Promise<void>;
16
14
  }
17
15
  export {};