@golemio/core 1.2.25-dev.722047718 → 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.
- package/dist/helpers/connector/interfaces/IQueueConnector.d.ts +8 -0
- package/dist/helpers/connector/interfaces/IQueueConnector.js +3 -0
- package/dist/helpers/connector/interfaces/IQueueConnector.js.map +1 -0
- package/dist/helpers/ioc/Di.d.ts +2 -0
- package/dist/helpers/ioc/Di.js +7 -0
- package/dist/helpers/ioc/Di.js.map +1 -0
- package/dist/helpers/ioc/index.d.ts +1 -0
- package/dist/helpers/ioc/index.js +18 -0
- package/dist/helpers/ioc/index.js.map +1 -0
- package/dist/helpers/utils.d.ts +1 -0
- package/dist/helpers/utils.js +6 -0
- package/dist/helpers/utils.js.map +1 -0
- package/dist/input-gateway/config/InputGatewayConfiguration.d.ts +52 -0
- package/dist/input-gateway/config/InputGatewayConfiguration.js +77 -0
- package/dist/input-gateway/config/InputGatewayConfiguration.js.map +1 -0
- package/dist/input-gateway/config/abstract.d.ts +1 -2
- package/dist/input-gateway/config/config.d.ts +3 -0
- package/dist/input-gateway/config/config.js +5 -56
- package/dist/input-gateway/config/config.js.map +1 -1
- package/dist/input-gateway/connectors/AMQPConnector.d.ts +11 -24
- package/dist/input-gateway/connectors/AMQPConnector.js +45 -39
- package/dist/input-gateway/connectors/AMQPConnector.js.map +1 -1
- package/dist/input-gateway/connectors/index.d.ts +6 -1
- package/dist/input-gateway/connectors/index.js +4 -15
- package/dist/input-gateway/connectors/index.js.map +1 -1
- package/dist/input-gateway/controllers/BaseController.js +2 -2
- package/dist/input-gateway/controllers/BaseController.js.map +1 -1
- package/dist/input-gateway/helpers/Logger.d.ts +16 -20
- package/dist/input-gateway/helpers/Logger.js +16 -38
- package/dist/input-gateway/helpers/Logger.js.map +1 -1
- package/dist/input-gateway/helpers/LoggerEvents.d.ts +11 -0
- package/dist/input-gateway/helpers/LoggerEvents.js +55 -0
- package/dist/input-gateway/helpers/LoggerEvents.js.map +1 -0
- package/dist/input-gateway/helpers/index.d.ts +3 -0
- package/dist/input-gateway/helpers/index.js +5 -0
- package/dist/input-gateway/helpers/index.js.map +1 -1
- package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.d.ts +5 -0
- package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.js +3 -0
- package/dist/input-gateway/helpers/interfaces/INumberOfRecordsEventData.js.map +1 -0
- package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.d.ts +6 -0
- package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.js +3 -0
- package/dist/input-gateway/helpers/interfaces/IResponseTimesEventData.js.map +1 -0
- package/dist/input-gateway/ioc/ContainerToken.d.ts +8 -0
- package/dist/input-gateway/ioc/ContainerToken.js +12 -0
- package/dist/input-gateway/ioc/ContainerToken.js.map +1 -0
- package/dist/input-gateway/ioc/Di.d.ts +2 -0
- package/dist/input-gateway/ioc/Di.js +32 -0
- package/dist/input-gateway/ioc/Di.js.map +1 -0
- package/dist/input-gateway/ioc/index.d.ts +2 -0
- package/dist/input-gateway/ioc/index.js +19 -0
- package/dist/input-gateway/ioc/index.js.map +1 -0
- package/dist/integration-engine/config/IntegrationEngineConfiguration.d.ts +78 -0
- package/dist/integration-engine/config/IntegrationEngineConfiguration.js +109 -0
- package/dist/integration-engine/config/IntegrationEngineConfiguration.js.map +1 -0
- package/dist/integration-engine/config/config.d.ts +5 -1
- package/dist/integration-engine/config/config.js +6 -88
- package/dist/integration-engine/config/config.js.map +1 -1
- package/dist/integration-engine/connectors/AMQPConnector.d.ts +12 -5
- package/dist/integration-engine/connectors/AMQPConnector.js +59 -35
- package/dist/integration-engine/connectors/AMQPConnector.js.map +1 -1
- package/dist/integration-engine/connectors/MongoConnector.d.ts +9 -3
- package/dist/integration-engine/connectors/MongoConnector.js +36 -14
- package/dist/integration-engine/connectors/MongoConnector.js.map +1 -1
- package/dist/integration-engine/connectors/PostgresConnector.d.ts +12 -3
- package/dist/integration-engine/connectors/PostgresConnector.js +40 -16
- package/dist/integration-engine/connectors/PostgresConnector.js.map +1 -1
- package/dist/integration-engine/connectors/RedisConnector.d.ts +9 -3
- package/dist/integration-engine/connectors/RedisConnector.js +32 -10
- package/dist/integration-engine/connectors/RedisConnector.js.map +1 -1
- package/dist/integration-engine/connectors/index.d.ts +24 -4
- package/dist/integration-engine/connectors/index.js +22 -19
- package/dist/integration-engine/connectors/index.js.map +1 -1
- package/dist/integration-engine/connectors/interfaces/IMongoConnector.d.ts +7 -0
- package/dist/integration-engine/connectors/interfaces/IMongoConnector.js +3 -0
- package/dist/integration-engine/connectors/interfaces/IMongoConnector.js.map +1 -0
- package/dist/integration-engine/connectors/interfaces/IPostgresConnector.d.ts +7 -0
- package/dist/integration-engine/connectors/interfaces/IPostgresConnector.js +3 -0
- package/dist/integration-engine/connectors/interfaces/IPostgresConnector.js.map +1 -0
- package/dist/integration-engine/connectors/interfaces/IRedisConnector.d.ts +7 -0
- package/dist/integration-engine/connectors/interfaces/IRedisConnector.js +3 -0
- package/dist/integration-engine/connectors/interfaces/IRedisConnector.js.map +1 -0
- package/dist/integration-engine/data-access/RawDataStorage.d.ts +11 -0
- package/dist/integration-engine/data-access/RawDataStorage.js +81 -0
- package/dist/integration-engine/data-access/RawDataStorage.js.map +1 -0
- package/dist/integration-engine/data-access/StorageService.d.ts +10 -4
- package/dist/integration-engine/data-access/StorageService.js +40 -18
- package/dist/integration-engine/data-access/StorageService.js.map +1 -1
- package/dist/integration-engine/data-access/index.d.ts +6 -1
- package/dist/integration-engine/data-access/index.js +7 -15
- package/dist/integration-engine/data-access/index.js.map +1 -1
- package/dist/integration-engine/data-access/interfaces/IStorageService.d.ts +3 -0
- package/dist/integration-engine/data-access/interfaces/IStorageService.js +3 -0
- package/dist/integration-engine/data-access/interfaces/IStorageService.js.map +1 -0
- package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.js +2 -2
- package/dist/integration-engine/data-access/pubsub/RedisPubSubChannel.js.map +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js +6 -4
- package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategy.js.map +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.d.ts +1 -1
- package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js +4 -3
- package/dist/integration-engine/datasources/protocol-strategy/PostgresProtocolStrategyStreamed.js.map +1 -1
- package/dist/integration-engine/helpers/GeocodeApi.d.ts +8 -3
- package/dist/integration-engine/helpers/GeocodeApi.js +32 -11
- package/dist/integration-engine/helpers/GeocodeApi.js.map +1 -1
- package/dist/integration-engine/helpers/Logger.d.ts +16 -10
- package/dist/integration-engine/helpers/Logger.js +13 -71
- package/dist/integration-engine/helpers/Logger.js.map +1 -1
- package/dist/integration-engine/helpers/LoggerEvents.d.ts +11 -0
- package/dist/integration-engine/helpers/LoggerEvents.js +91 -0
- package/dist/integration-engine/helpers/LoggerEvents.js.map +1 -0
- package/dist/integration-engine/helpers/RawDataStore.d.ts +3 -0
- package/dist/integration-engine/helpers/RawDataStore.js +5 -39
- package/dist/integration-engine/helpers/RawDataStore.js.map +1 -1
- package/dist/integration-engine/helpers/index.d.ts +8 -2
- package/dist/integration-engine/helpers/index.js +10 -2
- package/dist/integration-engine/helpers/index.js.map +1 -1
- package/dist/integration-engine/ioc/ContainerToken.d.ts +14 -0
- package/dist/integration-engine/ioc/ContainerToken.js +18 -0
- package/dist/integration-engine/ioc/ContainerToken.js.map +1 -0
- package/dist/integration-engine/ioc/Di.d.ts +2 -0
- package/dist/integration-engine/ioc/Di.js +46 -0
- package/dist/integration-engine/ioc/Di.js.map +1 -0
- package/dist/integration-engine/ioc/index.d.ts +2 -0
- package/dist/integration-engine/ioc/index.js +19 -0
- package/dist/integration-engine/ioc/index.js.map +1 -0
- package/dist/integration-engine/models/MongoModel.js +6 -6
- package/dist/integration-engine/models/MongoModel.js.map +1 -1
- package/dist/integration-engine/models/PostgresModel.d.ts +3 -1
- package/dist/integration-engine/models/PostgresModel.js +19 -14
- package/dist/integration-engine/models/PostgresModel.js.map +1 -1
- package/dist/integration-engine/models/RedisModel.js +2 -2
- package/dist/integration-engine/models/RedisModel.js.map +1 -1
- package/dist/output-gateway/Logger.d.ts +10 -2
- package/dist/output-gateway/Logger.js +9 -8
- package/dist/output-gateway/Logger.js.map +1 -1
- package/dist/output-gateway/config/OutputGatewayConfiguration.d.ts +51 -0
- package/dist/output-gateway/config/OutputGatewayConfiguration.js +90 -0
- package/dist/output-gateway/config/OutputGatewayConfiguration.js.map +1 -0
- package/dist/output-gateway/config/config.d.ts +5 -48
- package/dist/output-gateway/config/config.js +5 -69
- package/dist/output-gateway/config/config.js.map +1 -1
- package/dist/output-gateway/database/MongoDatabase.d.ts +7 -4
- package/dist/output-gateway/database/MongoDatabase.js +37 -16
- package/dist/output-gateway/database/MongoDatabase.js.map +1 -1
- package/dist/output-gateway/database/PostgreDatabase.d.ts +20 -3
- package/dist/output-gateway/database/PostgreDatabase.js +40 -17
- package/dist/output-gateway/database/PostgreDatabase.js.map +1 -1
- package/dist/output-gateway/database/index.d.ts +64 -1
- package/dist/output-gateway/database/index.js +17 -1
- package/dist/output-gateway/database/index.js.map +1 -1
- package/dist/output-gateway/ioc/ContainerToken.d.ts +13 -0
- package/dist/output-gateway/ioc/ContainerToken.js +17 -0
- package/dist/output-gateway/ioc/ContainerToken.js.map +1 -0
- package/dist/output-gateway/ioc/Di.d.ts +2 -0
- package/dist/output-gateway/ioc/Di.js +40 -0
- package/dist/output-gateway/ioc/Di.js.map +1 -0
- package/dist/output-gateway/ioc/index.d.ts +2 -0
- package/dist/output-gateway/ioc/index.js +19 -0
- package/dist/output-gateway/ioc/index.js.map +1 -0
- package/dist/output-gateway/models/GeoJsonModel.d.ts +1 -0
- package/dist/output-gateway/models/GeoJsonModel.js +7 -6
- package/dist/output-gateway/models/GeoJsonModel.js.map +1 -1
- package/dist/output-gateway/models/SequelizeModel.js +2 -2
- package/dist/output-gateway/models/SequelizeModel.js.map +1 -1
- package/dist/output-gateway/redis/CacheMiddleware.d.ts +9 -5
- package/dist/output-gateway/redis/CacheMiddleware.js +36 -17
- package/dist/output-gateway/redis/CacheMiddleware.js.map +1 -1
- package/dist/output-gateway/redis/RedisConnector.d.ts +6 -3
- package/dist/output-gateway/redis/RedisConnector.js +33 -13
- package/dist/output-gateway/redis/RedisConnector.js.map +1 -1
- package/dist/output-gateway/redis/index.d.ts +15 -1
- package/dist/output-gateway/redis/index.js +16 -1
- package/dist/output-gateway/redis/index.js.map +1 -1
- package/dist/shared/pino.d.ts +2 -0
- package/dist/shared/pino.js +29 -0
- package/dist/shared/pino.js.map +1 -0
- package/dist/shared/tsyringe.d.ts +1 -0
- package/dist/shared/tsyringe.js +18 -0
- package/dist/shared/tsyringe.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import amqplib from "amqplib";
|
|
2
|
+
export default interface IQueueConnector {
|
|
3
|
+
connect(): Promise<amqplib.Channel>;
|
|
4
|
+
isConnected(): Promise<boolean>;
|
|
5
|
+
getChannel(): amqplib.Channel;
|
|
6
|
+
sendMessage(key: string, msg: string, options: amqplib.Options.Publish): Promise<boolean>;
|
|
7
|
+
disconnect(): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IQueueConnector.js","sourceRoot":"","sources":["../../../../src/helpers/connector/interfaces/IQueueConnector.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalContainer = void 0;
|
|
4
|
+
const tsyringe_1 = require("tsyringe");
|
|
5
|
+
const GlobalContainer = tsyringe_1.container;
|
|
6
|
+
exports.GlobalContainer = GlobalContainer;
|
|
7
|
+
//# sourceMappingURL=Di.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/helpers/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,MAAM,eAAe,GAAG,oBAAS,CAAC;AAIzB,0CAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Di";
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Di"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/ioc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isEmpty: (obj: any) => boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEmpty = void 0;
|
|
4
|
+
const isEmpty = (obj) => [Object, Array].includes((obj || {}).constructor) && !Object.entries(obj || {}).length;
|
|
5
|
+
exports.isEmpty = isEmpty;
|
|
6
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAA/G,QAAA,OAAO,WAAwG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { JaegerProcessorType } from "../../monitoring";
|
|
2
|
+
import { IConfiguration } from "./abstract";
|
|
3
|
+
export declare class InputGatewayConfiguration implements IConfiguration {
|
|
4
|
+
app_version: string | undefined;
|
|
5
|
+
app_name: string;
|
|
6
|
+
colorful_logs: string | undefined;
|
|
7
|
+
log_level: string | undefined;
|
|
8
|
+
node_env: string;
|
|
9
|
+
payload_limit_csv: string | undefined;
|
|
10
|
+
payload_limit_json: string | undefined;
|
|
11
|
+
payload_limit_xml: string | undefined;
|
|
12
|
+
port: string | undefined;
|
|
13
|
+
rabbit_connections: string[] | undefined;
|
|
14
|
+
rabbit_exchange_name: string | undefined;
|
|
15
|
+
s3: {
|
|
16
|
+
access_key_id: string | undefined;
|
|
17
|
+
bucket_name: string | undefined;
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
endpoint: string | undefined;
|
|
20
|
+
secret_access_key: string | undefined;
|
|
21
|
+
upload_part_size: number;
|
|
22
|
+
upload_queue_size: number;
|
|
23
|
+
};
|
|
24
|
+
saveRawDataWhitelist: any;
|
|
25
|
+
sentry: {
|
|
26
|
+
enabled: boolean;
|
|
27
|
+
dsn: string | undefined;
|
|
28
|
+
release: string;
|
|
29
|
+
environment: string | undefined;
|
|
30
|
+
debug: boolean;
|
|
31
|
+
tracesSampleRate: number;
|
|
32
|
+
};
|
|
33
|
+
metrics: {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
port: number;
|
|
36
|
+
prefix: string;
|
|
37
|
+
};
|
|
38
|
+
telemetry: {
|
|
39
|
+
jaegerEnabled: boolean;
|
|
40
|
+
jaegerEndpoint: string | undefined;
|
|
41
|
+
jaegerHost: string | undefined;
|
|
42
|
+
jaegerPort: number | undefined;
|
|
43
|
+
jaegerProcessor: JaegerProcessorType;
|
|
44
|
+
diagLogLevel: number;
|
|
45
|
+
};
|
|
46
|
+
lightship: {
|
|
47
|
+
shutdownDelay: number;
|
|
48
|
+
shutdownTimeout: number;
|
|
49
|
+
handlerTimeout: number;
|
|
50
|
+
};
|
|
51
|
+
constructor();
|
|
52
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.InputGatewayConfiguration = void 0;
|
|
13
|
+
const _helpers_1 = require("../../helpers");
|
|
14
|
+
const utils_1 = require("../../helpers/utils");
|
|
15
|
+
const _monitoring_1 = require("../../monitoring");
|
|
16
|
+
const tsyringe_1 = require("tsyringe");
|
|
17
|
+
let InputGatewayConfiguration = class InputGatewayConfiguration {
|
|
18
|
+
constructor() {
|
|
19
|
+
var _a;
|
|
20
|
+
this.app_version = process.env.npm_package_version;
|
|
21
|
+
this.app_name = process.env.APP_NAME || "input-gateway";
|
|
22
|
+
this.colorful_logs = process.env.COLORFUL_LOGS;
|
|
23
|
+
this.log_level = process.env.LOG_LEVEL;
|
|
24
|
+
this.node_env = process.env.NODE_ENV || "development";
|
|
25
|
+
this.payload_limit_csv = process.env.PAYLOAD_LIMIT_CSV;
|
|
26
|
+
this.payload_limit_json = process.env.PAYLOAD_LIMIT_JSON;
|
|
27
|
+
this.payload_limit_xml = process.env.PAYLOAD_LIMIT_XML;
|
|
28
|
+
this.port = process.env.PORT;
|
|
29
|
+
this.rabbit_connections = (_a = process.env.RABBIT_CONN) === null || _a === void 0 ? void 0 : _a.split(",");
|
|
30
|
+
this.rabbit_exchange_name = process.env.RABBIT_EXCHANGE_NAME;
|
|
31
|
+
this.s3 = {
|
|
32
|
+
access_key_id: process.env.S3_ACCESS_KEY_ID,
|
|
33
|
+
bucket_name: process.env.S3_BUCKET_NAME,
|
|
34
|
+
enabled: process.env.S3_ENABLED === "true",
|
|
35
|
+
endpoint: process.env.S3_ENDPOINT,
|
|
36
|
+
secret_access_key: process.env.S3_SECRET_ACCESS_KEY,
|
|
37
|
+
upload_part_size: parseInt(process.env.S3_UPLOAD_PART_SIZE, 10) || 10,
|
|
38
|
+
upload_queue_size: parseInt(process.env.S3_UPLOAD_QUEUE_SIZE, 10) || 2, // concurrency uploading, default 2
|
|
39
|
+
};
|
|
40
|
+
this.sentry = {
|
|
41
|
+
enabled: process.env.SENTRY_ENABLED === "true",
|
|
42
|
+
dsn: process.env.SENTRY_DSN,
|
|
43
|
+
release: `${process.env.APP_NAME}@${process.env.npm_package_version}`,
|
|
44
|
+
environment: process.env.SENTRY_ENVIRONMENT,
|
|
45
|
+
debug: process.env.SENTRY_DEBUG === "true",
|
|
46
|
+
tracesSampleRate: process.env.SENTRY_TRACE_RATE ? parseFloat(process.env.SENTRY_TRACE_RATE) : 0,
|
|
47
|
+
};
|
|
48
|
+
this.metrics = {
|
|
49
|
+
enabled: process.env.METRICS_ENABLED === "true",
|
|
50
|
+
port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
|
|
51
|
+
prefix: process.env.METRICS_PREFIX || "",
|
|
52
|
+
};
|
|
53
|
+
this.telemetry = {
|
|
54
|
+
jaegerEnabled: process.env.JAEGER_ENABLED === "true",
|
|
55
|
+
jaegerEndpoint: process.env.JAEGER_ENDPOINT,
|
|
56
|
+
jaegerHost: process.env.JAEGER_AGENT_HOST,
|
|
57
|
+
jaegerPort: process.env.JAEGER_AGENT_PORT ? parseInt(process.env.JAEGER_AGENT_PORT, 10) : undefined,
|
|
58
|
+
jaegerProcessor: process.env.JAEGER_PROCESSOR && process.env.JAEGER_PROCESSOR in _monitoring_1.JaegerProcessorType
|
|
59
|
+
? process.env.JAEGER_PROCESSOR
|
|
60
|
+
: _monitoring_1.JaegerProcessorType.CONSOLE,
|
|
61
|
+
diagLogLevel: process.env.TELEMETRY_LOG_LEVEL ? parseInt(process.env.TELEMETRY_LOG_LEVEL, 10) : 9999,
|
|
62
|
+
};
|
|
63
|
+
this.lightship = {
|
|
64
|
+
shutdownDelay: process.env.LIGHTSHIP_SHUTDOWN_DELAY ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_DELAY, 10) : 5000,
|
|
65
|
+
shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
|
|
66
|
+
handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
|
|
67
|
+
};
|
|
68
|
+
const saveRawDataWhitelist = new _helpers_1.ConfigLoader("saveRawDataWhitelist").conf;
|
|
69
|
+
this.saveRawDataWhitelist = (0, utils_1.isEmpty)(saveRawDataWhitelist) ? [] : saveRawDataWhitelist;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
InputGatewayConfiguration = __decorate([
|
|
73
|
+
(0, tsyringe_1.injectable)(),
|
|
74
|
+
__metadata("design:paramtypes", [])
|
|
75
|
+
], InputGatewayConfiguration);
|
|
76
|
+
exports.InputGatewayConfiguration = InputGatewayConfiguration;
|
|
77
|
+
//# sourceMappingURL=InputGatewayConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGatewayConfiguration.js","sourceRoot":"","sources":["../../../src/input-gateway/config/InputGatewayConfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAwC;AACxC,+CAAyC;AACzC,kDAAkD;AAClD,uCAAsC;AAItC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAoDlC;;QAnDO,gBAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC9C,aAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC;QACnD,kBAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1C,cAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,aAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;QACjD,sBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,uBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACpD,sBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,SAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,uBAAkB,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,WAAW,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,yBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxD,OAAE,GAAG;YACR,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;YACjC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YACnD,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAA6B,EAAE,EAAE,CAAC,IAAI,EAAE;YAC/E,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,mCAAmC;SACxH,CAAC;QAEK,WAAM,GAAG;YACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;YAC9C,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC3B,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;YACrE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAC3C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;YAC1C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SAClG,CAAC;QACK,YAAO,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM;YAC/C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACxF,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE;SAC3C,CAAC;QACK,cAAS,GAAG;YACf,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;YACpD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YAC3C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACzC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACnG,eAAe,EACX,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,iCAAmB;gBAC/E,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,gBAAwC;gBACvD,CAAC,CAAC,iCAAmB,CAAC,OAAO;YACrC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SACvG,CAAC;QACK,cAAS,GAAG;YACf,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/G,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;YACtH,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SACrH,CAAC;QAGE,MAAM,oBAAoB,GAAG,IAAI,uBAAY,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAA,eAAO,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC1F,CAAC;CACJ,CAAA;AAxDY,yBAAyB;IADrC,IAAA,qBAAU,GAAE;;GACA,yBAAyB,CAwDrC;AAxDY,8DAAyB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IJaegerConfig } from "../../monitoring";
|
|
2
2
|
import { ISentryConfig } from "../../monitoring/sentry/sentry-provider";
|
|
3
3
|
import { IMetricsConfig } from "../../monitoring/metrics/metrics-interface";
|
|
4
|
-
interface ISaveRawDataWhitelist {
|
|
4
|
+
export interface ISaveRawDataWhitelist {
|
|
5
5
|
route: string;
|
|
6
6
|
withHeaders: boolean;
|
|
7
7
|
}
|
|
@@ -36,4 +36,3 @@ export interface IConfiguration {
|
|
|
36
36
|
handlerTimeout: number;
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
export {};
|
|
@@ -1,60 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.config = void 0;
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports.config =
|
|
10
|
-
app_version: process.env.npm_package_version,
|
|
11
|
-
app_name: process.env.APP_NAME || "input-gateway",
|
|
12
|
-
colorful_logs: process.env.COLORFUL_LOGS,
|
|
13
|
-
log_level: process.env.LOG_LEVEL,
|
|
14
|
-
node_env: process.env.NODE_ENV || "development",
|
|
15
|
-
payload_limit_csv: process.env.PAYLOAD_LIMIT_CSV,
|
|
16
|
-
payload_limit_json: process.env.PAYLOAD_LIMIT_JSON,
|
|
17
|
-
payload_limit_xml: process.env.PAYLOAD_LIMIT_XML,
|
|
18
|
-
port: process.env.PORT,
|
|
19
|
-
rabbit_connections: (_a = process.env.RABBIT_CONN) === null || _a === void 0 ? void 0 : _a.split(","),
|
|
20
|
-
rabbit_exchange_name: process.env.RABBIT_EXCHANGE_NAME,
|
|
21
|
-
s3: {
|
|
22
|
-
access_key_id: process.env.S3_ACCESS_KEY_ID,
|
|
23
|
-
bucket_name: process.env.S3_BUCKET_NAME,
|
|
24
|
-
enabled: process.env.S3_ENABLED === "true",
|
|
25
|
-
endpoint: process.env.S3_ENDPOINT,
|
|
26
|
-
secret_access_key: process.env.S3_SECRET_ACCESS_KEY,
|
|
27
|
-
upload_part_size: parseInt(process.env.S3_UPLOAD_PART_SIZE, 10) || 10,
|
|
28
|
-
upload_queue_size: parseInt(process.env.S3_UPLOAD_QUEUE_SIZE, 10) || 2, // concurrency uploading, default 2
|
|
29
|
-
},
|
|
30
|
-
saveRawDataWhitelist: isEmpty(saveRawDataWhitelist) ? [] : saveRawDataWhitelist,
|
|
31
|
-
sentry: {
|
|
32
|
-
enabled: process.env.SENTRY_ENABLED === "true",
|
|
33
|
-
dsn: process.env.SENTRY_DSN,
|
|
34
|
-
release: `${process.env.APP_NAME}@${process.env.npm_package_version}`,
|
|
35
|
-
environment: process.env.SENTRY_ENVIRONMENT,
|
|
36
|
-
debug: process.env.SENTRY_DEBUG === "true",
|
|
37
|
-
tracesSampleRate: process.env.SENTRY_TRACE_RATE ? parseFloat(process.env.SENTRY_TRACE_RATE) : 0,
|
|
38
|
-
},
|
|
39
|
-
metrics: {
|
|
40
|
-
enabled: process.env.METRICS_ENABLED === "true",
|
|
41
|
-
port: process.env.METRICS_PORT ? parseInt(process.env.METRICS_PORT, 10) : 9001,
|
|
42
|
-
prefix: process.env.METRICS_PREFIX || "",
|
|
43
|
-
},
|
|
44
|
-
telemetry: {
|
|
45
|
-
jaegerEnabled: process.env.JAEGER_ENABLED === "true",
|
|
46
|
-
jaegerEndpoint: process.env.JAEGER_ENDPOINT,
|
|
47
|
-
jaegerHost: process.env.JAEGER_AGENT_HOST,
|
|
48
|
-
jaegerPort: process.env.JAEGER_AGENT_PORT ? parseInt(process.env.JAEGER_AGENT_PORT, 10) : undefined,
|
|
49
|
-
jaegerProcessor: process.env.JAEGER_PROCESSOR && process.env.JAEGER_PROCESSOR in _monitoring_1.JaegerProcessorType
|
|
50
|
-
? process.env.JAEGER_PROCESSOR
|
|
51
|
-
: _monitoring_1.JaegerProcessorType.CONSOLE,
|
|
52
|
-
diagLogLevel: process.env.TELEMETRY_LOG_LEVEL ? parseInt(process.env.TELEMETRY_LOG_LEVEL, 10) : 9999,
|
|
53
|
-
},
|
|
54
|
-
lightship: {
|
|
55
|
-
shutdownDelay: process.env.LIGHTSHIP_SHUTDOWN_DELAY ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_DELAY, 10) : 5000,
|
|
56
|
-
shutdownTimeout: process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT ? parseInt(process.env.LIGHTSHIP_SHUTDOWN_TIMEOUT, 10) : 60000,
|
|
57
|
-
handlerTimeout: process.env.LIGHTSHIP_HANDLER_TIMEOUT ? parseInt(process.env.LIGHTSHIP_HANDLER_TIMEOUT, 10) : 5000,
|
|
58
|
-
},
|
|
59
|
-
};
|
|
4
|
+
const ioc_1 = require("../ioc");
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated For backwards compatibility. Use ioc container instead.
|
|
7
|
+
*/
|
|
8
|
+
exports.config = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.Config);
|
|
60
9
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/input-gateway/config/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/input-gateway/config/config.ts"],"names":[],"mappings":";;;AAAA,gCAAgE;AAGhE;;GAEG;AACU,QAAA,MAAM,GAAG,2BAAqB,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { ILogger } from "../../helpers";
|
|
2
|
+
import { IConfiguration } from "../config";
|
|
1
3
|
import amqplib from "amqplib";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { Disposable } from "tsyringe";
|
|
5
|
+
import IQueueConnector from "../../helpers/connector/interfaces/IQueueConnector";
|
|
6
|
+
export declare class AMQPConnector implements IQueueConnector, Disposable {
|
|
7
|
+
private readonly log;
|
|
6
8
|
/** Array of RabbitMQ connection urls. */
|
|
7
9
|
private readonly availableConnectionUrls;
|
|
8
10
|
/** Index of url from availableConnectionsUrls which is currently connected. */
|
|
@@ -13,28 +15,13 @@ declare class MyAMQP {
|
|
|
13
15
|
private channel?;
|
|
14
16
|
/** true if disconnect was called */
|
|
15
17
|
private gracefulShutdown;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
*/
|
|
19
|
-
constructor();
|
|
20
|
-
/**
|
|
21
|
-
* Connects to RabbitMQ
|
|
22
|
-
*
|
|
23
|
-
* @returns {amqplib.Channel} RabbitMQ active channel
|
|
24
|
-
*/
|
|
18
|
+
private rabbitExchangeName;
|
|
19
|
+
constructor(config: IConfiguration, log: ILogger);
|
|
25
20
|
connect(): Promise<amqplib.Channel>;
|
|
26
|
-
/**
|
|
27
|
-
* Gets the RabbitMQ channel.
|
|
28
|
-
*
|
|
29
|
-
* @returns {amqplib.Channel} channel
|
|
30
|
-
*/
|
|
31
21
|
getChannel(): amqplib.Channel;
|
|
32
|
-
/**
|
|
33
|
-
* Asserts the dead queue for rejected or nacked messages.
|
|
34
|
-
*/
|
|
35
|
-
private assertDeadQueue;
|
|
36
22
|
isConnected: () => Promise<boolean>;
|
|
37
23
|
disconnect: () => Promise<void>;
|
|
24
|
+
dispose: () => Promise<void>;
|
|
25
|
+
sendMessage(key: string, msg: string, options: amqplib.Options.Publish): Promise<boolean>;
|
|
26
|
+
private assertDeadQueue;
|
|
38
27
|
}
|
|
39
|
-
declare const AMQPConnector: MyAMQP;
|
|
40
|
-
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) {
|
|
@@ -13,39 +25,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
25
|
};
|
|
14
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
27
|
exports.AMQPConnector = void 0;
|
|
28
|
+
const AlternateExchangeCreator_1 = __importDefault(require("../../helpers/data-access/amqp/AlternateExchangeCreator"));
|
|
29
|
+
const ioc_1 = require("../ioc");
|
|
16
30
|
const errors_1 = require("@golemio/errors");
|
|
17
31
|
const amqplib_1 = __importDefault(require("amqplib"));
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* Class for connecting to RabbitMQ. Using amqplib https://www.npmjs.com/package/amqplib
|
|
23
|
-
*/
|
|
24
|
-
class MyAMQP {
|
|
25
|
-
/**
|
|
26
|
-
* Constructor
|
|
27
|
-
*/
|
|
28
|
-
constructor() {
|
|
32
|
+
const tsyringe_1 = require("tsyringe");
|
|
33
|
+
let AMQPConnector = class AMQPConnector {
|
|
34
|
+
constructor(config, log) {
|
|
35
|
+
this.log = log;
|
|
29
36
|
this.isConnected = () => __awaiter(this, void 0, void 0, function* () {
|
|
30
37
|
var _a;
|
|
31
|
-
return !!(yield ((_a = this.channel) === null || _a === void 0 ? void 0 : _a.checkExchange(
|
|
38
|
+
return !!(yield ((_a = this.channel) === null || _a === void 0 ? void 0 : _a.checkExchange(this.rabbitExchangeName)));
|
|
32
39
|
});
|
|
33
40
|
this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
|
|
34
41
|
var _b, _c;
|
|
35
|
-
|
|
42
|
+
this.log.info("RabbitMQ disconnect called");
|
|
36
43
|
this.gracefulShutdown = true;
|
|
37
44
|
yield ((_b = this.channel) === null || _b === void 0 ? void 0 : _b.close());
|
|
38
45
|
yield ((_c = this.connection) === null || _c === void 0 ? void 0 : _c.close());
|
|
39
46
|
});
|
|
40
|
-
this.
|
|
47
|
+
this.dispose = () => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
yield this.disconnect();
|
|
49
|
+
});
|
|
50
|
+
this.rabbitExchangeName = config.rabbit_exchange_name;
|
|
51
|
+
this.availableConnectionUrls = config.rabbit_connections;
|
|
41
52
|
this.currentUrlIndex = 0;
|
|
42
53
|
this.gracefulShutdown = false;
|
|
43
54
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Connects to RabbitMQ
|
|
46
|
-
*
|
|
47
|
-
* @returns {amqplib.Channel} RabbitMQ active channel
|
|
48
|
-
*/
|
|
49
55
|
connect() {
|
|
50
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
57
|
try {
|
|
@@ -55,27 +61,27 @@ class MyAMQP {
|
|
|
55
61
|
this.connection = yield amqplib_1.default.connect(this.availableConnectionUrls[this.currentUrlIndex]);
|
|
56
62
|
this.connection
|
|
57
63
|
.on("error", (err) => {
|
|
58
|
-
|
|
64
|
+
this.log.error(err);
|
|
59
65
|
})
|
|
60
66
|
.on("close", () => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
|
|
67
|
+
this.log.warn("RabbitMQ Connection closed");
|
|
62
68
|
if (!this.gracefulShutdown) {
|
|
63
|
-
errors_1.ErrorHandler.handle(new errors_1.CustomError("[AMQP] Connection closed", false, this.constructor.name, 1001),
|
|
69
|
+
errors_1.ErrorHandler.handle(new errors_1.CustomError("[AMQP] Connection closed", false, this.constructor.name, 1001), this.log);
|
|
64
70
|
}
|
|
65
71
|
}));
|
|
66
72
|
this.channel = yield this.connection.createChannel();
|
|
67
73
|
this.channel
|
|
68
74
|
.on("error", (err) => {
|
|
69
|
-
|
|
75
|
+
this.log.error(err);
|
|
70
76
|
})
|
|
71
77
|
.on("close", () => {
|
|
72
78
|
var _a;
|
|
73
|
-
|
|
79
|
+
this.log.warn("Channel closing.");
|
|
74
80
|
if (!this.gracefulShutdown) {
|
|
75
81
|
(_a = this.connection) === null || _a === void 0 ? void 0 : _a.close();
|
|
76
82
|
}
|
|
77
83
|
});
|
|
78
|
-
|
|
84
|
+
this.log.info(`Connected to Queue! (url index ${this.currentUrlIndex})`);
|
|
79
85
|
yield this.assertDeadQueue(this.channel);
|
|
80
86
|
return this.channel;
|
|
81
87
|
}
|
|
@@ -84,34 +90,34 @@ class MyAMQP {
|
|
|
84
90
|
}
|
|
85
91
|
});
|
|
86
92
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Gets the RabbitMQ channel.
|
|
89
|
-
*
|
|
90
|
-
* @returns {amqplib.Channel} channel
|
|
91
|
-
*/
|
|
92
93
|
getChannel() {
|
|
93
94
|
if (!this.channel) {
|
|
94
95
|
throw new errors_1.CustomError("AMQP channel does not exist. First call connect() method.", false, this.constructor.name);
|
|
95
96
|
}
|
|
96
97
|
return this.channel;
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
sendMessage(key, msg, options) {
|
|
100
|
+
throw new Error("Method not implemented.");
|
|
101
|
+
}
|
|
101
102
|
assertDeadQueue(channel) {
|
|
102
103
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
yield channel.assertExchange(
|
|
104
|
+
yield channel.assertExchange(this.rabbitExchangeName, "topic", {
|
|
104
105
|
durable: false,
|
|
105
|
-
alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(
|
|
106
|
+
alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(this.rabbitExchangeName),
|
|
106
107
|
});
|
|
107
|
-
const q = yield channel.assertQueue(
|
|
108
|
+
const q = yield channel.assertQueue(this.rabbitExchangeName + ".deadqueue", {
|
|
108
109
|
durable: true,
|
|
109
110
|
messageTtl: 3 * 24 * 60 * 60 * 1000, // 3 days in milliseconds
|
|
110
111
|
});
|
|
111
|
-
yield channel.bindQueue(q.queue,
|
|
112
|
+
yield channel.bindQueue(q.queue, this.rabbitExchangeName, "dead");
|
|
112
113
|
});
|
|
113
114
|
}
|
|
114
|
-
}
|
|
115
|
-
|
|
115
|
+
};
|
|
116
|
+
AMQPConnector = __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
|
+
], AMQPConnector);
|
|
116
122
|
exports.AMQPConnector = AMQPConnector;
|
|
117
123
|
//# sourceMappingURL=AMQPConnector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMQPConnector.js","sourceRoot":"","sources":["../../../src/input-gateway/connectors/AMQPConnector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AMQPConnector.js","sourceRoot":"","sources":["../../../src/input-gateway/connectors/AMQPConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,8 @@
|
|
|
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 });
|
|
3
|
+
exports.AMQPConnector = void 0;
|
|
4
|
+
const ioc_1 = require("../ioc");
|
|
17
5
|
/* ig/connectors/index.ts */
|
|
18
|
-
|
|
6
|
+
const queueConnector = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.AmqpConnector);
|
|
7
|
+
exports.AMQPConnector = queueConnector;
|
|
19
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/connectors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/input-gateway/connectors/index.ts"],"names":[],"mappings":";;;AAAA,gCAAgE;AAGhE,4BAA4B;AAC5B,MAAM,cAAc,GAAG,2BAAqB,CAAC,OAAO,CAAgB,oBAAc,CAAC,aAAa,CAAC,CAAC;AAKvE,uCAAa"}
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.BaseController = void 0;
|
|
16
16
|
const AlternateExchangeCreator_1 = __importDefault(require("../../helpers/data-access/amqp/AlternateExchangeCreator"));
|
|
17
17
|
const config_1 = require("../config");
|
|
18
|
-
const
|
|
18
|
+
const ioc_1 = require("../ioc");
|
|
19
19
|
const sentry_transactions_1 = require("../../monitoring/sentry/sentry-transactions");
|
|
20
20
|
const errors_1 = require("@golemio/errors");
|
|
21
21
|
/**
|
|
@@ -28,7 +28,7 @@ class BaseController {
|
|
|
28
28
|
*/
|
|
29
29
|
this.sendMessage = (key, msg, options = {}) => __awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
try {
|
|
31
|
-
const ch =
|
|
31
|
+
const ch = ioc_1.InputGatewayContainer.resolve(ioc_1.ContainerToken.AmqpConnector).getChannel();
|
|
32
32
|
yield ch.assertExchange(config_1.config.rabbit_exchange_name, "topic", {
|
|
33
33
|
durable: false,
|
|
34
34
|
alternateExchange: AlternateExchangeCreator_1.default.getAltExchangeName(config_1.config.rabbit_exchange_name),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../../../src/input-gateway/controllers/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../../../src/input-gateway/controllers/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,uHAA0F;AAC1F,sCAAoC;AACpC,gCAAgE;AAChE,qFAAiF;AACjF,4CAA8C;AAG9C;;GAEG;AACH,MAAsB,cAAc;IAUhC,YAAY,IAAY,EAAE,SAAqB;QAM/C;;WAEG;QACK,gBAAW,GAAG,CAAO,GAAW,EAAE,GAAQ,EAAE,UAAkB,EAAE,EAAiB,EAAE;YACvF,IAAI;gBACA,MAAM,EAAE,GAAG,2BAAqB,CAAC,OAAO,CAAkB,oBAAc,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;gBACrG,MAAM,EAAE,CAAC,cAAc,CAAC,eAAM,CAAC,oBAA8B,EAAE,OAAO,EAAE;oBACpE,OAAO,EAAE,KAAK;oBACd,iBAAiB,EAAE,kCAAwB,CAAC,kBAAkB,CAAC,eAAM,CAAC,oBAAqB,CAAC;iBAC/F,CAAC,CAAC;gBACH,MAAM,EAAE,CAAC,OAAO,CAAC,eAAM,CAAC,oBAA8B,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;aAC3F;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,oBAAW,CAAC,yCAAyC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACtG;QACL,CAAC,CAAA,CAAC;QAEQ,0BAAqB,GAAG,IAAA,6CAAuB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QArBxE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,YAAY,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9E,CAAC;CAmBJ;AAjCD,wCAiCC"}
|