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

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 (179) 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.js +2 -2
  95. package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.js.map +1 -1
  96. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js +6 -4
  97. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js.map +1 -1
  98. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.d.ts +1 -1
  99. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js +4 -3
  100. package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js.map +1 -1
  101. package/dist/integration-engine/helpers/GeocodeApi.d.ts +8 -3
  102. package/dist/integration-engine/helpers/GeocodeApi.js +32 -11
  103. package/dist/integration-engine/helpers/GeocodeApi.js.map +1 -1
  104. package/dist/integration-engine/helpers/Logger.d.ts +16 -10
  105. package/dist/integration-engine/helpers/Logger.js +13 -71
  106. package/dist/integration-engine/helpers/Logger.js.map +1 -1
  107. package/dist/integration-engine/helpers/LoggerEvents.d.ts +11 -0
  108. package/dist/integration-engine/helpers/LoggerEvents.js +91 -0
  109. package/dist/integration-engine/helpers/LoggerEvents.js.map +1 -0
  110. package/dist/integration-engine/helpers/RawDataStore.d.ts +3 -0
  111. package/dist/integration-engine/helpers/RawDataStore.js +5 -39
  112. package/dist/integration-engine/helpers/RawDataStore.js.map +1 -1
  113. package/dist/integration-engine/helpers/index.d.ts +8 -2
  114. package/dist/integration-engine/helpers/index.js +10 -2
  115. package/dist/integration-engine/helpers/index.js.map +1 -1
  116. package/dist/integration-engine/ioc/ContainerToken.d.ts +14 -0
  117. package/dist/integration-engine/ioc/ContainerToken.js +18 -0
  118. package/dist/integration-engine/ioc/ContainerToken.js.map +1 -0
  119. package/dist/integration-engine/ioc/Di.d.ts +2 -0
  120. package/dist/integration-engine/ioc/Di.js +46 -0
  121. package/dist/integration-engine/ioc/Di.js.map +1 -0
  122. package/dist/integration-engine/ioc/index.d.ts +2 -0
  123. package/dist/integration-engine/ioc/index.js +19 -0
  124. package/dist/integration-engine/ioc/index.js.map +1 -0
  125. package/dist/integration-engine/models/MongoModel.js +6 -6
  126. package/dist/integration-engine/models/MongoModel.js.map +1 -1
  127. package/dist/integration-engine/models/PostgresModel.d.ts +3 -1
  128. package/dist/integration-engine/models/PostgresModel.js +19 -14
  129. package/dist/integration-engine/models/PostgresModel.js.map +1 -1
  130. package/dist/integration-engine/models/RedisModel.js +2 -2
  131. package/dist/integration-engine/models/RedisModel.js.map +1 -1
  132. package/dist/output-gateway/Logger.d.ts +10 -2
  133. package/dist/output-gateway/Logger.js +9 -8
  134. package/dist/output-gateway/Logger.js.map +1 -1
  135. package/dist/output-gateway/config/OutputGatewayConfiguration.d.ts +51 -0
  136. package/dist/output-gateway/config/OutputGatewayConfiguration.js +90 -0
  137. package/dist/output-gateway/config/OutputGatewayConfiguration.js.map +1 -0
  138. package/dist/output-gateway/config/config.d.ts +5 -48
  139. package/dist/output-gateway/config/config.js +5 -69
  140. package/dist/output-gateway/config/config.js.map +1 -1
  141. package/dist/output-gateway/database/MongoDatabase.d.ts +7 -4
  142. package/dist/output-gateway/database/MongoDatabase.js +37 -16
  143. package/dist/output-gateway/database/MongoDatabase.js.map +1 -1
  144. package/dist/output-gateway/database/PostgreDatabase.d.ts +20 -3
  145. package/dist/output-gateway/database/PostgreDatabase.js +40 -17
  146. package/dist/output-gateway/database/PostgreDatabase.js.map +1 -1
  147. package/dist/output-gateway/database/index.d.ts +64 -1
  148. package/dist/output-gateway/database/index.js +17 -1
  149. package/dist/output-gateway/database/index.js.map +1 -1
  150. package/dist/output-gateway/ioc/ContainerToken.d.ts +13 -0
  151. package/dist/output-gateway/ioc/ContainerToken.js +17 -0
  152. package/dist/output-gateway/ioc/ContainerToken.js.map +1 -0
  153. package/dist/output-gateway/ioc/Di.d.ts +2 -0
  154. package/dist/output-gateway/ioc/Di.js +40 -0
  155. package/dist/output-gateway/ioc/Di.js.map +1 -0
  156. package/dist/output-gateway/ioc/index.d.ts +2 -0
  157. package/dist/output-gateway/ioc/index.js +19 -0
  158. package/dist/output-gateway/ioc/index.js.map +1 -0
  159. package/dist/output-gateway/models/GeoJsonModel.d.ts +1 -0
  160. package/dist/output-gateway/models/GeoJsonModel.js +7 -6
  161. package/dist/output-gateway/models/GeoJsonModel.js.map +1 -1
  162. package/dist/output-gateway/models/SequelizeModel.js +2 -2
  163. package/dist/output-gateway/models/SequelizeModel.js.map +1 -1
  164. package/dist/output-gateway/redis/CacheMiddleware.d.ts +9 -5
  165. package/dist/output-gateway/redis/CacheMiddleware.js +36 -17
  166. package/dist/output-gateway/redis/CacheMiddleware.js.map +1 -1
  167. package/dist/output-gateway/redis/RedisConnector.d.ts +6 -3
  168. package/dist/output-gateway/redis/RedisConnector.js +33 -13
  169. package/dist/output-gateway/redis/RedisConnector.js.map +1 -1
  170. package/dist/output-gateway/redis/index.d.ts +15 -1
  171. package/dist/output-gateway/redis/index.js +16 -1
  172. package/dist/output-gateway/redis/index.js.map +1 -1
  173. package/dist/shared/pino.d.ts +2 -0
  174. package/dist/shared/pino.js +29 -0
  175. package/dist/shared/pino.js.map +1 -0
  176. package/dist/shared/tsyringe.d.ts +1 -0
  177. package/dist/shared/tsyringe.js +18 -0
  178. package/dist/shared/tsyringe.js.map +1 -0
  179. package/package.json +3 -2
@@ -1,92 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.config = void 0;
4
- const _helpers_1 = require("../../helpers");
5
- const _monitoring_1 = require("../../monitoring");
6
- exports.config = {
7
- DATA_BATCH_SIZE: process.env.DATA_BATCH_SIZE || 1000,
8
- HOPPYGO_BASE_URL: process.env.HOPPYGO_BASE_URL,
9
- LOG_LEVEL: process.env.LOG_LEVEL,
10
- MOJEPRAHA_ENDPOINT_BASEURL: process.env.MOJEPRAHA_ENDPOINT_BASEURL,
11
- MONGO_CONN: process.env.MONGO_CONN,
12
- NODE_ENV: process.env.NODE_ENV || "development",
13
- OPEN_STREET_MAP_API_URL_REVERSE: process.env.OPEN_STREET_MAP_API_URL_REVERSE,
14
- OPEN_STREET_MAP_API_URL_SEARCH: process.env.OPEN_STREET_MAP_API_URL_SEARCH,
15
- PHOTON_MAP_API_URL_REVERSE: process.env.PHOTON_MAP_API_URL_REVERSE,
16
- PARKINGS_PAYMENT_URL: process.env.PARKINGS_PAYMENT_URL,
17
- PARKING_ZONES_PAYMENT_URL: process.env.PARKING_ZONES_PAYMENT_URL,
18
- POSTGRES_CONN: process.env.POSTGRES_CONN,
19
- POSTGRES_POOL_MIN_CONNECTIONS: process.env.POSTGRES_POOL_MIN_CONNECTIONS,
20
- POSTGRES_POOL_MAX_CONNECTIONS: process.env.POSTGRES_POOL_MAX_CONNECTIONS,
21
- POSTGRES_POOL_IDLE_TIMEOUT: process.env.POSTGRES_POOL_IDLE_TIMEOUT,
22
- RABBIT_CONN: process.env.RABBIT_CONN,
23
- RABBIT_EXCHANGE_NAME: process.env.RABBIT_EXCHANGE_NAME,
24
- RABBIT_CHANNEL_MAX_PREFETCH_COUNT: process.env.RABBIT_CHANNEL_MAX_PREFETCH_COUNT
25
- ? Number(process.env.RABBIT_CHANNEL_MAX_PREFETCH_COUNT)
26
- : 1,
27
- REDIS_CONN: process.env.REDIS_CONN,
28
- SPARQL_ENDPOINT_AUTH: process.env.SPARQL_ENDPOINT_AUTH,
29
- SPARQL_ENDPOINT_URL: process.env.SPARQL_ENDPOINT_URL,
30
- app_version: process.env.npm_package_version,
31
- app_name: process.env.APP_NAME || "integration-engine",
32
- datasources: new _helpers_1.ConfigLoader("datasources").conf,
33
- port: process.env.PORT,
34
- queuesBlacklist: new _helpers_1.ConfigLoader("queuesBlacklist").conf,
35
- s3: {
36
- access_key_id: process.env.S3_ACCESS_KEY_ID,
37
- bucket_name: process.env.S3_BUCKET_NAME,
38
- enabled: process.env.S3_ENABLED === "true",
39
- endpoint: process.env.S3_ENDPOINT,
40
- secret_access_key: process.env.S3_SECRET_ACCESS_KEY,
41
- upload_part_size: parseInt(process.env.S3_UPLOAD_PART_SIZE, 10) || 10,
42
- upload_queue_size: parseInt(process.env.S3_UPLOAD_QUEUE_SIZE, 10) || 2, // concurrency uploading, default 2
43
- },
44
- saveRawDataWhitelist: new _helpers_1.ConfigLoader("saveRawDataWhitelist").conf,
45
- sentry: {
46
- enabled: process.env.SENTRY_ENABLED === "true",
47
- dsn: process.env.SENTRY_DSN,
48
- release: `${process.env.APP_NAME}@${process.env.npm_package_version}`,
49
- environment: process.env.SENTRY_ENVIRONMENT,
50
- debug: process.env.SENTRY_DEBUG === "true",
51
- tracesSampleRate: process.env.SENTRY_TRACE_RATE ? parseFloat(process.env.SENTRY_TRACE_RATE) : 0,
52
- },
53
- stream: {
54
- wait_for_end_attempts: parseInt(process.env.STREAM_WAIT_FOR_END_ATTEMPTS, 10) || 30,
55
- wait_for_end_interval: parseInt(process.env.STREAM_WAIT_FOR_END_INTERVAL, 10) || 1000,
56
- },
57
- metrics: {
58
- enabled: process.env.METRICS_ENABLED === "true",
59
- port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
60
- prefix: process.env.METRICS_PREFIX || "",
61
- },
62
- telemetry: {
63
- jaegerEnabled: process.env.JAEGER_ENABLED === "true",
64
- jaegerEndpoint: process.env.JAEGER_ENDPOINT,
65
- jaegerHost: process.env.JAEGER_AGENT_HOST,
66
- jaegerPort: process.env.JAEGER_AGENT_PORT ? parseInt(process.env.JAEGER_AGENT_PORT, 10) : undefined,
67
- jaegerProcessor: process.env.JAEGER_PROCESSOR && process.env.JAEGER_PROCESSOR in _monitoring_1.JaegerProcessorType
68
- ? process.env.JAEGER_PROCESSOR
69
- : _monitoring_1.JaegerProcessorType.CONSOLE,
70
- diagLogLevel: process.env.TELEMETRY_LOG_LEVEL ? parseInt(process.env.TELEMETRY_LOG_LEVEL, 10) : 9999,
71
- },
72
- lightship: {
73
- shutdownDelay: process.env.LIGHTSHIP_SHUTDOWN_DELAY ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_DELAY, 10) : 5000,
74
- shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
75
- handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
76
- },
77
- vehiclePositions: {
78
- stepBetweenPoints: Number(process.env.VEHICLE_POSITIONS_STEP_BETWEEN_POINTS) || 0.1,
79
- // hours to be subtracted from the TJR property (TCP busses only) when transitioning from CET to CEST, default 1 hour
80
- tcpBusTjrNegativeOffset: process.env.VEHICLE_POSITIONS_TCP_BUS_NEGATIVE_OFFSET
81
- ? Number(process.env.VEHICLE_POSITIONS_TCP_BUS_NEGATIVE_OFFSET)
82
- : 1,
83
- // time at which Redis keys should expire
84
- redisExpireTime: process.env.VEHICLE_POSITIONS_REDIS_EXPIRE_TIME || "03:00",
85
- // enable vacuum analyze and reindex after data retenation in tables vp_positons and vp_trips
86
- dataMaintenanceEnabled: process.env.VEHICLE_POSITIONS_DATA_MAINTENANCE_ENABLED === "true",
87
- dataRetentionLockTimeout: process.env.VEHICLE_POSITIONS_DATA_RETENTION_LOCK_TIMEOUT
88
- ? parseInt(process.env.VEHICLE_POSITIONS_DATA_RETENTION_LOCK_TIMEOUT, 10)
89
- : 2 * 60 * 60 * 1000, // 2 hours
90
- },
91
- };
4
+ const ioc_1 = require("../ioc");
5
+ /**
6
+ * @deprecated For backwards compatibility. Use ioc container instead.
7
+ */
8
+ const config = ioc_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Config);
9
+ exports.config = config;
92
10
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/integration-engine/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/integration-engine/config/config.ts"],"names":[],"mappings":";;;AAAA,gCAAqE;AAGrE;;GAEG;AACH,MAAM,MAAM,GAAG,gCAA0B,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC;AAChF,wBAAM"}
@@ -1,15 +1,22 @@
1
+ import { ILogger } from "../../helpers";
2
+ import IQueueConnector from "../../helpers/connector/interfaces/IQueueConnector";
3
+ import { IConfiguration } from "../config";
1
4
  import amqplib from "amqplib";
2
- declare class MyAMQP {
5
+ import { Disposable } from "tsyringe";
6
+ export declare class AMQPConnector implements IQueueConnector, Disposable {
7
+ private readonly log;
3
8
  private connection?;
4
9
  private channel?;
5
10
  private gracefulShutdown;
6
- constructor();
11
+ private rabbitExchangeName;
12
+ private rabbitConnectionString;
13
+ private rabbitChannelMaxPrefetchCount;
14
+ constructor(config: IConfiguration, log: ILogger);
7
15
  connect: () => Promise<amqplib.Channel>;
8
16
  getChannel: () => amqplib.Channel;
9
17
  sendMessage: (key: string, msg: string, options?: amqplib.Options.Publish) => Promise<boolean>;
10
- private assertDeadQueue;
11
18
  isConnected: () => Promise<boolean>;
12
19
  disconnect: () => Promise<void>;
20
+ private assertDeadQueue;
21
+ dispose: () => Promise<void>;
13
22
  }
14
- declare const AMQPConnector: MyAMQP;
15
- export { AMQPConnector };
@@ -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) {
@@ -14,49 +26,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
26
  Object.defineProperty(exports, "__esModule", { value: true });
15
27
  exports.AMQPConnector = void 0;
16
28
  const AlternateExchangeCreator_1 = __importDefault(require("../../helpers/data-access/amqp/AlternateExchangeCreator"));
17
- const config_1 = require("../config");
18
- const helpers_1 = require("../helpers");
29
+ const ioc_1 = require("../ioc");
19
30
  const errors_1 = require("@golemio/errors");
20
31
  const amqplib_1 = __importDefault(require("amqplib"));
21
- class MyAMQP {
22
- constructor() {
32
+ const tsyringe_1 = require("tsyringe");
33
+ let AMQPConnector = class AMQPConnector {
34
+ constructor(config, log) {
35
+ this.log = log;
23
36
  this.connect = () => __awaiter(this, void 0, void 0, function* () {
24
37
  try {
25
38
  if (this.channel) {
26
39
  return this.channel;
27
40
  }
28
- if (!config_1.config.RABBIT_CONN) {
41
+ if (!this.rabbitConnectionString) {
29
42
  throw new errors_1.CustomError("[AMQP] The ENV variable RABBIT_CONN cannot be undefined.", true, this.constructor.name, 6003);
30
43
  }
31
- this.connection = yield amqplib_1.default.connect(config_1.config.RABBIT_CONN);
44
+ this.connection = yield amqplib_1.default.connect(this.rabbitConnectionString);
32
45
  this.connection
33
46
  .on("error", (err) => {
34
- helpers_1.log.error(err);
47
+ this.log.error(err);
35
48
  })
36
49
  .on("close", () => __awaiter(this, void 0, void 0, function* () {
37
- helpers_1.log.warn("[AMQP] Connection closing.");
50
+ this.log.warn("[AMQP] Connection closing.");
38
51
  if (!this.gracefulShutdown) {
39
- errors_1.ErrorHandler.handle(new errors_1.CustomError("[AMQP] Connection closed", false, this.constructor.name, 1001), helpers_1.log);
52
+ errors_1.ErrorHandler.handle(new errors_1.CustomError("[AMQP] Connection closed", false, this.constructor.name, 1001), this.log);
40
53
  }
41
54
  }));
42
55
  this.channel = yield this.connection.createChannel();
43
56
  this.channel
44
57
  .on("error", (err) => {
45
- helpers_1.log.error(err);
58
+ this.log.error(err);
46
59
  })
47
60
  .on("close", () => {
48
61
  var _a;
49
- helpers_1.log.warn("[AMQP] Channel closing.");
62
+ this.log.warn("[AMQP] Channel closing.");
50
63
  if (!this.gracefulShutdown) {
51
64
  (_a = this.connection) === null || _a === void 0 ? void 0 : _a.close();
52
65
  }
53
66
  });
54
- helpers_1.log.info("[AMQP] Connected to Queue!");
55
- yield AlternateExchangeCreator_1.default.createAlternateExchange(this.channel, config_1.config.RABBIT_EXCHANGE_NAME);
67
+ this.log.info("[AMQP] Connected to Queue!");
68
+ yield AlternateExchangeCreator_1.default.createAlternateExchange(this.channel, this.rabbitExchangeName);
56
69
  yield this.assertDeadQueue(this.channel);
57
70
  // Set the maximum number of messages sent over the channel
58
71
  // that can be awaiting ack
59
- yield this.channel.prefetch(config_1.config.RABBIT_CHANNEL_MAX_PREFETCH_COUNT);
72
+ yield this.channel.prefetch(this.rabbitChannelMaxPrefetchCount);
60
73
  return this.channel;
61
74
  }
62
75
  catch (err) {
@@ -71,45 +84,56 @@ class MyAMQP {
71
84
  };
72
85
  this.sendMessage = (key, msg, options = {}) => __awaiter(this, void 0, void 0, function* () {
73
86
  try {
74
- const channel = AMQPConnector.getChannel();
75
- yield channel.assertExchange(config_1.config.RABBIT_EXCHANGE_NAME, "topic", {
87
+ const channel = this.getChannel();
88
+ yield channel.assertExchange(this.rabbitExchangeName, "topic", {
76
89
  durable: false,
77
- alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(config_1.config.RABBIT_EXCHANGE_NAME),
90
+ alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(this.rabbitExchangeName),
78
91
  });
79
- return channel.publish(config_1.config.RABBIT_EXCHANGE_NAME, key, Buffer.from(msg), options);
92
+ return channel.publish(this.rabbitExchangeName, key, Buffer.from(msg), options);
80
93
  }
81
94
  catch (err) {
82
95
  throw new errors_1.CustomError("Sending the message to exchange failed.", true, this.constructor.name, 1003, err);
83
96
  }
84
97
  });
98
+ this.isConnected = () => __awaiter(this, void 0, void 0, function* () {
99
+ var _a;
100
+ return !!(yield ((_a = this.channel) === null || _a === void 0 ? void 0 : _a.checkExchange(this.rabbitExchangeName)));
101
+ });
102
+ this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
103
+ var _b, _c;
104
+ this.log.info("[AMQP] disconnect called");
105
+ this.gracefulShutdown = true;
106
+ yield ((_b = this.channel) === null || _b === void 0 ? void 0 : _b.close());
107
+ yield ((_c = this.connection) === null || _c === void 0 ? void 0 : _c.close());
108
+ });
85
109
  this.assertDeadQueue = (channel) => __awaiter(this, void 0, void 0, function* () {
86
- if (!config_1.config.RABBIT_EXCHANGE_NAME) {
110
+ if (!this.rabbitExchangeName) {
87
111
  throw new errors_1.CustomError("[AMQP] The ENV variable RABBIT_EXCHANGE_NAME cannot be undefined.", true, this.constructor.name, 6003);
88
112
  }
89
- yield channel.assertExchange(config_1.config.RABBIT_EXCHANGE_NAME, "topic", {
113
+ yield channel.assertExchange(this.rabbitExchangeName, "topic", {
90
114
  durable: false,
91
- alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(config_1.config.RABBIT_EXCHANGE_NAME),
115
+ alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(this.rabbitExchangeName),
92
116
  });
93
- const q = yield channel.assertQueue(config_1.config.RABBIT_EXCHANGE_NAME + ".deadqueue", {
117
+ const q = yield channel.assertQueue(this.rabbitExchangeName + ".deadqueue", {
94
118
  durable: true,
95
119
  messageTtl: 3 * 24 * 60 * 60 * 1000, // 3 days in milliseconds
96
120
  });
97
- yield channel.bindQueue(q.queue, config_1.config.RABBIT_EXCHANGE_NAME, "dead");
121
+ yield channel.bindQueue(q.queue, this.rabbitExchangeName, "dead");
98
122
  });
99
- this.isConnected = () => __awaiter(this, void 0, void 0, function* () {
100
- var _a;
101
- return !!(yield ((_a = this.channel) === null || _a === void 0 ? void 0 : _a.checkExchange(config_1.config.RABBIT_EXCHANGE_NAME)));
102
- });
103
- this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
104
- var _b, _c;
105
- helpers_1.log.info("[AMQP] disconnect called");
106
- this.gracefulShutdown = true;
107
- yield ((_b = this.channel) === null || _b === void 0 ? void 0 : _b.close());
108
- yield ((_c = this.connection) === null || _c === void 0 ? void 0 : _c.close());
123
+ this.dispose = () => __awaiter(this, void 0, void 0, function* () {
124
+ yield this.disconnect();
109
125
  });
110
126
  this.gracefulShutdown = false;
127
+ this.rabbitExchangeName = config.RABBIT_EXCHANGE_NAME;
128
+ this.rabbitConnectionString = config.RABBIT_CONN;
129
+ this.rabbitChannelMaxPrefetchCount = config.RABBIT_CHANNEL_MAX_PREFETCH_COUNT;
111
130
  }
112
- }
113
- const AMQPConnector = new MyAMQP();
131
+ };
132
+ AMQPConnector = __decorate([
133
+ (0, tsyringe_1.injectable)(),
134
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
135
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
136
+ __metadata("design:paramtypes", [Object, Object])
137
+ ], AMQPConnector);
114
138
  exports.AMQPConnector = AMQPConnector;
115
139
  //# sourceMappingURL=AMQPConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AMQPConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/AMQPConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AMQPConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/AMQPConnector.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
+ import { ILogger } from "../../helpers";
2
+ import { IConfiguration } from "../config";
1
3
  import mongoose from "mongoose";
2
- declare class MyMongoose {
4
+ import { Disposable } from "tsyringe";
5
+ import { IMongoConnector } from "./interfaces/IMongoConnector";
6
+ export declare class MongoConnector implements IMongoConnector, Disposable {
7
+ private readonly log;
8
+ private mongoConn;
9
+ constructor(config: IConfiguration, log: ILogger);
3
10
  connect: () => Promise<mongoose.Connection>;
4
11
  getConnection: () => mongoose.Connection;
5
12
  isConnected: () => Promise<boolean>;
6
13
  disconnect: () => Promise<void>;
14
+ dispose: () => Promise<void>;
7
15
  }
8
- declare const MongoConnector: MyMongoose;
9
- export { MongoConnector };
@@ -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,15 +25,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
25
  };
14
26
  Object.defineProperty(exports, "__esModule", { value: true });
15
27
  exports.MongoConnector = void 0;
28
+ const ioc_1 = require("../ioc");
16
29
  const errors_1 = require("@golemio/errors");
17
30
  const mongoose_1 = __importDefault(require("mongoose"));
18
- const config_1 = require("../config");
19
- const helpers_1 = require("../helpers");
20
- class MyMongoose {
21
- constructor() {
31
+ const tsyringe_1 = require("tsyringe");
32
+ let MongoConnector = class MongoConnector {
33
+ constructor(config, log) {
34
+ this.log = log;
22
35
  this.connect = () => __awaiter(this, void 0, void 0, function* () {
23
36
  try {
24
- if (!config_1.config.MONGO_CONN) {
37
+ if (!this.mongoConn) {
25
38
  throw new errors_1.CustomError("The ENV variable MONGO_CONN cannot be undefined.", true, this.constructor.name, 6003);
26
39
  }
27
40
  const connectOptions = {
@@ -29,21 +42,21 @@ class MyMongoose {
29
42
  connectTimeoutMS: 90000,
30
43
  socketTimeoutMS: 90000,
31
44
  };
32
- yield mongoose_1.default.connect(config_1.config.MONGO_CONN, connectOptions);
45
+ yield mongoose_1.default.connect(this.mongoConn, connectOptions);
33
46
  mongoose_1.default.connection.on("disconnected", () => {
34
- helpers_1.log.error("MongoDB disconnected!");
47
+ this.log.error("MongoDB disconnected!");
35
48
  });
36
49
  mongoose_1.default.connection.on("reconnected", () => {
37
- helpers_1.log.warn("MongoDB reconnected after connection lost.");
50
+ this.log.warn("MongoDB reconnected after connection lost.");
38
51
  });
39
52
  mongoose_1.default.connection.on("error", (err) => {
40
- helpers_1.log.error(err);
53
+ this.log.error(err);
41
54
  });
42
- helpers_1.log.info("Connected to MongoDB!");
55
+ this.log.info("Connected to MongoDB!");
43
56
  return mongoose_1.default.connection;
44
57
  }
45
58
  catch (err) {
46
- helpers_1.log.error("Could not connect to " + config_1.config.MONGO_CONN);
59
+ this.log.error("Could not connect to " + this.mongoConn);
47
60
  throw new errors_1.CustomError("Error while connecting to MongoDB.", false, this.constructor.name, 1001, err);
48
61
  }
49
62
  });
@@ -57,11 +70,20 @@ class MyMongoose {
57
70
  return mongoose_1.default.connection.readyState === 1;
58
71
  });
59
72
  this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
60
- helpers_1.log.info("MongoDB disconnect called");
73
+ this.log.info("MongoDB disconnect called");
61
74
  return mongoose_1.default.connection.close();
62
75
  });
76
+ this.dispose = () => __awaiter(this, void 0, void 0, function* () {
77
+ yield this.disconnect();
78
+ });
79
+ this.mongoConn = config.MONGO_CONN;
63
80
  }
64
- }
65
- const MongoConnector = new MyMongoose();
81
+ };
82
+ MongoConnector = __decorate([
83
+ (0, tsyringe_1.injectable)(),
84
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
85
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
86
+ __metadata("design:paramtypes", [Object, Object])
87
+ ], MongoConnector);
66
88
  exports.MongoConnector = MongoConnector;
67
89
  //# sourceMappingURL=MongoConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/MongoConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA4D;AAC5D,wDAAoD;AACpD,sCAAoC;AACpC,wCAAkC;AAElC,MAAM,UAAU;IAAhB;QACW,YAAO,GAAG,GAAuC,EAAE;YACtD,IAAI;gBACA,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;gBACD,MAAM,cAAc,GAAmB;oBACnC,cAAc,EAAE,KAAK;oBACrB,gBAAgB,EAAE,KAAK;oBACvB,eAAe,EAAE,KAAK;iBACzB,CAAC;gBAEF,MAAM,kBAAQ,CAAC,OAAO,CAAC,eAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAE1D,kBAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;oBACxC,aAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBAEH,kBAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;oBACvC,aAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,kBAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACpC,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,aAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAClC,OAAO,kBAAQ,CAAC,UAAU,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,aAAG,CAAC,KAAK,CAAC,uBAAuB,GAAG,eAAM,CAAC,UAAU,CAAC,CAAC;gBACvD,MAAM,IAAI,oBAAW,CAAC,oCAAoC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aACxG;QACL,CAAC,CAAA,CAAC;QAEK,kBAAa,GAAG,GAAwB,EAAE;YAC7C,IAAI,kBAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,CAAC,EAAE;gBACtC,MAAM,IAAI,oBAAW,CACjB,kEAAkE,EAClE,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CACP,CAAC;aACL;YACD,OAAO,kBAAQ,CAAC,UAAU,CAAC;QAC/B,CAAC,CAAC;QAEK,gBAAW,GAAG,GAA2B,EAAE;YAC9C,OAAO,kBAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,CAAC,CAAC;QAChD,CAAC,CAAA,CAAC;QAEK,eAAU,GAAG,GAAwB,EAAE;YAC1C,aAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,OAAO,kBAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC,CAAA,CAAC;IACN,CAAC;CAAA;AAED,MAAM,cAAc,GAAG,IAAI,UAAU,EAAE,CAAC;AAE/B,wCAAc"}
1
+ {"version":3,"file":"MongoConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/MongoConnector.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
+ import { ILogger } from "../../helpers";
2
+ import { IConfiguration } from "../config";
1
3
  import { Sequelize } from "sequelize";
2
- export declare class MySequelize {
4
+ import { Disposable } from "tsyringe";
5
+ import IPostgresConnector from "./interfaces/IPostgresConnector";
6
+ export declare class PostgresConnector implements IPostgresConnector, Disposable {
7
+ private readonly log;
3
8
  private connection?;
9
+ private defaultConnectionString;
10
+ private poolIdleTimeout;
11
+ private poolMinConnections;
12
+ private poolMaxConnections;
13
+ constructor(config: IConfiguration, log: ILogger);
4
14
  connect: (connectionString?: string | undefined) => Promise<Sequelize>;
5
15
  getConnection: () => Sequelize;
6
16
  isConnected: () => Promise<boolean>;
7
17
  disconnect: () => Promise<void>;
18
+ dispose: () => Promise<void>;
8
19
  }
9
- declare const PostgresConnector: MySequelize;
10
- export { PostgresConnector };
@@ -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,15 +24,16 @@ 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.PostgresConnector = exports.MySequelize = void 0;
16
- const os_1 = __importDefault(require("os"));
27
+ exports.PostgresConnector = void 0;
28
+ const ioc_1 = require("../ioc");
17
29
  const errors_1 = require("@golemio/errors");
30
+ const os_1 = __importDefault(require("os"));
18
31
  const sequelize_1 = require("sequelize");
19
- const config_1 = require("../config");
20
- const helpers_1 = require("../helpers");
21
- class MySequelize {
22
- constructor() {
23
- this.connect = (connectionString = config_1.config.POSTGRES_CONN) => __awaiter(this, void 0, void 0, function* () {
32
+ const tsyringe_1 = require("tsyringe");
33
+ let PostgresConnector = class PostgresConnector {
34
+ constructor(config, log) {
35
+ this.log = log;
36
+ this.connect = (connectionString = this.defaultConnectionString) => __awaiter(this, void 0, void 0, function* () {
24
37
  try {
25
38
  if (this.connection) {
26
39
  return this.connection;
@@ -39,12 +52,12 @@ class MySequelize {
39
52
  updatedAt: "updated_at",
40
53
  underscored: true, // automatically set field option for all attributes to snake cased name
41
54
  },
42
- logging: helpers_1.log.silly,
55
+ logging: this.log.silly,
43
56
  pool: {
44
57
  acquire: 60000,
45
- idle: Number(config_1.config.POSTGRES_POOL_IDLE_TIMEOUT) || 10000,
46
- min: Number(config_1.config.POSTGRES_POOL_MIN_CONNECTIONS) || 0,
47
- max: Number(config_1.config.POSTGRES_POOL_MAX_CONNECTIONS) || 10,
58
+ idle: Number(this.poolIdleTimeout) || 10000,
59
+ min: Number(this.poolMinConnections) || 0,
60
+ max: Number(this.poolMaxConnections) || 10,
48
61
  },
49
62
  retry: {
50
63
  match: [
@@ -63,7 +76,7 @@ class MySequelize {
63
76
  throw new Error("Connection is undefined.");
64
77
  }
65
78
  yield this.connection.authenticate();
66
- helpers_1.log.info("Connected to PostgreSQL!");
79
+ this.log.info("Connected to PostgreSQL!");
67
80
  return this.connection;
68
81
  }
69
82
  catch (err) {
@@ -86,14 +99,25 @@ class MySequelize {
86
99
  }
87
100
  });
88
101
  this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
89
- helpers_1.log.info("PostgreSQL disconnect called");
102
+ this.log.info("PostgreSQL disconnect called");
90
103
  if (this.connection) {
91
104
  yield this.connection.close();
92
105
  }
93
106
  });
107
+ this.dispose = () => __awaiter(this, void 0, void 0, function* () {
108
+ yield this.disconnect();
109
+ });
110
+ this.defaultConnectionString = config.POSTGRES_CONN;
111
+ this.poolIdleTimeout = config.POSTGRES_POOL_IDLE_TIMEOUT;
112
+ this.poolMinConnections = config.POSTGRES_POOL_MIN_CONNECTIONS;
113
+ this.poolMaxConnections = config.POSTGRES_POOL_MAX_CONNECTIONS;
94
114
  }
95
- }
96
- exports.MySequelize = MySequelize;
97
- const PostgresConnector = new MySequelize();
115
+ };
116
+ PostgresConnector = __decorate([
117
+ (0, tsyringe_1.injectable)(),
118
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
119
+ __param(1, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Logger)),
120
+ __metadata("design:paramtypes", [Object, Object])
121
+ ], PostgresConnector);
98
122
  exports.PostgresConnector = PostgresConnector;
99
123
  //# sourceMappingURL=PostgresConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/PostgresConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresConnector.js","sourceRoot":"","sources":["../../../src/integration-engine/connectors/PostgresConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gCAAyC;AACzC,4CAA8C;AAC9C,4CAAoB;AACpB,yCAAsC;AACtC,uCAA0D;AAI1D,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAO1B,YACmC,MAAsB,EACL,GAAY;QAAZ,QAAG,GAAH,GAAG,CAAS;QAQzD,YAAO,GAAG,CAAO,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAsB,EAAE;YAC3F,IAAI;gBACA,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,OAAO,IAAI,CAAC,UAAU,CAAC;iBAC1B;gBAED,IAAI,CAAC,gBAAgB,EAAE;oBACnB,MAAM,IAAI,oBAAW,CAAC,qDAAqD,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACnH;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAS,CAAC,gBAAgB,EAAE;oBAC9C,cAAc,EAAE;wBACZ,gBAAgB,EAAE,uBAAuB,YAAE,CAAC,QAAQ,EAAE,GAAG;qBAC5D;oBACD,MAAM,EAAE;wBACJ,eAAe,EAAE,IAAI;wBACrB,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,YAAY;wBACvB,SAAS,EAAE,YAAY;wBACvB,WAAW,EAAE,IAAI,EAAE,wEAAwE;qBAC9F;oBACD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;oBACvB,IAAI,EAAE;wBACF,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK;wBAC3C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;wBACzC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;qBAC7C;oBACD,KAAK,EAAE;wBACH,KAAK,EAAE;4BACH,0BAA0B;4BAC1B,iCAAiC;4BACjC,4BAA4B;4BAC5B,gCAAgC;4BAChC,iCAAiC;4BACjC,kCAAkC;4BAClC,cAAc;yBACjB;wBACD,GAAG,EAAE,CAAC;qBACT;iBACJ,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC/C;gBAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,uCAAuC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;aAC3G;QACL,CAAC,CAAA,CAAC;QAEK,kBAAa,GAAG,GAAc,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,oBAAW,CACjB,mEAAmE,EACnE,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,IAAI;gBACA,MAAM,IAAI,CAAC,UAAW,CAAC,YAAY,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,KAAK,CAAC;aAChB;QACL,CAAC,CAAA,CAAC;QAEK,eAAU,GAAG,GAAwB,EAAE;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;aACjC;QACL,CAAC,CAAA,CAAC;QAEK,YAAO,GAAG,GAAwB,EAAE;YACvC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAA,CAAC;QA1FE,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,aAAa,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0BAA0B,CAAC;QACzD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,6BAA6B,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,6BAA6B,CAAC;IACnE,CAAC;CAuFJ,CAAA;AAtGY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;IASJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GATzB,iBAAiB,CAsG7B;AAtGY,8CAAiB"}
@@ -1,10 +1,16 @@
1
+ import { IConfiguration } from "../config";
2
+ import { ILogger } from "@golemio/validator/dist/Logger";
1
3
  import { Redis as RedisInstance } from "ioredis";
2
- declare class MyRedis {
4
+ import { Disposable } from "tsyringe";
5
+ import IRedisConnector from "./interfaces/IRedisConnector";
6
+ export declare class RedisConnector implements IRedisConnector, Disposable {
7
+ private readonly log;
3
8
  private connection?;
9
+ private redisConn;
10
+ constructor(config: IConfiguration, log: ILogger);
4
11
  connect: () => Promise<RedisInstance>;
5
12
  getConnection: () => RedisInstance;
6
13
  isConnected: () => Promise<boolean>;
7
14
  disconnect: () => Promise<void>;
15
+ dispose: () => Promise<void>;
8
16
  }
9
- declare const RedisConnector: MyRedis;
10
- export { RedisConnector };