starta.microservice 0.1.4694 → 0.1.4707

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.
@@ -1,6 +1,7 @@
1
1
  import amqp from 'amqplib';
2
2
  import ServerLogger from '../../adapters/logger';
3
- declare class Rabbitmq {
3
+ import { IMessageBroker } from './types';
4
+ declare class Rabbitmq implements IMessageBroker {
4
5
  #private;
5
6
  constructor(logger: ServerLogger);
6
7
  connect(tryRecconect?: boolean, timeout?: number): Promise<void>;
@@ -8,12 +9,9 @@ declare class Rabbitmq {
8
9
  emitEvent(exchange: string, eventData: Object): Promise<void>;
9
10
  consume(exchange: string, queue: string, onMessage: (msg: amqp.Message, { logger }?: {
10
11
  logger: ServerLogger;
11
- }) => Promise<void>, options?: {
12
- pattern: string;
13
- noAck: boolean;
14
- }): Promise<void>;
12
+ }) => Promise<void>): Promise<void>;
15
13
  checkLiveness(): Promise<boolean>;
16
- createExchanges(exchanges: string[], type?: string, durable?: boolean): Promise<void>;
14
+ createTopics(exchanges: string[]): Promise<void>;
17
15
  createQueues(queues: string[], durable?: boolean): Promise<void>;
18
16
  }
19
17
  export default Rabbitmq;
@@ -83,7 +83,7 @@ class Rabbitmq {
83
83
  const logger = ((_a = loggerContext_1.default.getLogger()) !== null && _a !== void 0 ? _a : __classPrivateFieldGet(this, _Rabbitmq_logger, "f")).withParams({
84
84
  serviceBroker: { exchange },
85
85
  });
86
- yield this.createExchanges([exchange]);
86
+ yield this.createTopics([exchange]);
87
87
  const emit = () => __classPrivateFieldGet(this, _Rabbitmq_channel, "f").publish(exchange, '*', Buffer.from(JSON.stringify(eventData)), {
88
88
  headers: {
89
89
  context: executionContext_1.default.getFullData()
@@ -105,17 +105,14 @@ class Rabbitmq {
105
105
  }
106
106
  });
107
107
  }
108
- consume(exchange, queue, onMessage, options = {
109
- noAck: true,
110
- pattern: '*'
111
- }) {
108
+ consume(exchange, queue, onMessage) {
112
109
  return __awaiter(this, void 0, void 0, function* () {
113
110
  if (!exchange) {
114
111
  throw 'exchange is null';
115
112
  }
116
- yield this.createExchanges([exchange]);
113
+ yield this.createTopics([exchange]);
117
114
  yield this.createQueues([queue]);
118
- yield __classPrivateFieldGet(this, _Rabbitmq_channel, "f").bindQueue(queue, exchange, options.pattern);
115
+ yield __classPrivateFieldGet(this, _Rabbitmq_channel, "f").bindQueue(queue, exchange, '*');
119
116
  yield __classPrivateFieldGet(this, _Rabbitmq_channel, "f").consume(queue, (msg) => __awaiter(this, void 0, void 0, function* () {
120
117
  const startTime = process.hrtime();
121
118
  const contextData = msg.properties.headers.context;
@@ -128,9 +125,11 @@ class Rabbitmq {
128
125
  serviceBroker: { queue, exchange },
129
126
  });
130
127
  loggerContext_1.default.setLogger(logger);
128
+ const contentString = msg.content.toString();
131
129
  try {
132
130
  logger.generic.info("Consuming started");
133
- yield onMessage(msg, { logger });
131
+ const contentObject = JSON.parse(contentString);
132
+ yield onMessage(contentObject, { logger });
134
133
  const diff = process.hrtime(startTime);
135
134
  const timeInMilliseconds = diff[0] * 1000 + diff[1] / 1000000;
136
135
  logger.generic.info("Consuming finished", { taskDuration: timeInMilliseconds });
@@ -152,7 +151,7 @@ object: |${msg.content.toString()}|
152
151
  }
153
152
  });
154
153
  }
155
- }), { noAck: options.noAck });
154
+ }), { noAck: true });
156
155
  });
157
156
  }
158
157
  checkLiveness() {
@@ -160,11 +159,11 @@ object: |${msg.content.toString()}|
160
159
  return __classPrivateFieldGet(this, _Rabbitmq_connection, "f").isConnected();
161
160
  });
162
161
  }
163
- createExchanges(exchanges, type = 'direct', durable = true) {
162
+ createTopics(exchanges) {
164
163
  return __awaiter(this, void 0, void 0, function* () {
165
164
  const exchangesToCreate = exchanges.filter(exchange => !__classPrivateFieldGet(this, _Rabbitmq_createdExchanges, "f").has(exchange));
166
165
  yield Promise.all(exchangesToCreate.map((exchange) => __awaiter(this, void 0, void 0, function* () {
167
- yield __classPrivateFieldGet(this, _Rabbitmq_channel, "f").assertExchange(exchange, type, { durable });
166
+ yield __classPrivateFieldGet(this, _Rabbitmq_channel, "f").assertExchange(exchange, 'direct', { durable: true });
168
167
  __classPrivateFieldGet(this, _Rabbitmq_createdExchanges, "f").add(exchange);
169
168
  })));
170
169
  });
@@ -181,4 +180,4 @@ object: |${msg.content.toString()}|
181
180
  }
182
181
  _Rabbitmq_logger = new WeakMap(), _Rabbitmq_connection = new WeakMap(), _Rabbitmq_channel = new WeakMap(), _Rabbitmq_createdExchanges = new WeakMap(), _Rabbitmq_createdQueues = new WeakMap();
183
182
  exports.default = Rabbitmq;
184
- //# sourceMappingURL=index.js.map
183
+ //# sourceMappingURL=Rabbitmq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Rabbitmq.js","sourceRoot":"","sources":["../../../src/adapters/messageBroker/Rabbitmq.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import AWS from 'aws-sdk';
2
+ import ServerLogger from '../../adapters/logger';
3
+ import { IMessageBroker } from './types';
4
+ declare class SnsSqs implements IMessageBroker {
5
+ #private;
6
+ constructor(logger: ServerLogger);
7
+ createTopics(topics: string[]): Promise<void>;
8
+ connect(): Promise<void>;
9
+ checkLiveness(): Promise<boolean>;
10
+ disconnect(): Promise<void>;
11
+ emitEvent(topicName: string, eventData: Object): Promise<void>;
12
+ consume(topicName: string, queueName: string, onMessage: (msg: AWS.SQS.Message, { logger }?: {
13
+ logger: ServerLogger;
14
+ }) => Promise<void>): Promise<void>;
15
+ private createTopic;
16
+ private createQueueWithDLQ;
17
+ private subscribeQueueToTopic;
18
+ }
19
+ export default SnsSqs;
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
12
+ if (kind === "m") throw new TypeError("Private method is not writable");
13
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
14
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
18
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ var _SnsSqs_logger, _SnsSqs_snsClient, _SnsSqs_sqsClient, _SnsSqs_createdTopics, _SnsSqs_createdQueues;
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ const aws_sdk_1 = __importDefault(require("aws-sdk"));
28
+ const config_1 = __importDefault(require("../../config"));
29
+ const loggerContext_1 = __importDefault(require("../../contexts/loggerContext"));
30
+ const executionContext_1 = __importDefault(require("../../contexts/executionContext"));
31
+ aws_sdk_1.default.config.update({
32
+ accessKeyId: config_1.default.aws.accessKey,
33
+ secretAccessKey: config_1.default.aws.secretKey,
34
+ region: config_1.default.aws.region
35
+ });
36
+ class SnsSqs {
37
+ constructor(logger) {
38
+ _SnsSqs_logger.set(this, void 0);
39
+ _SnsSqs_snsClient.set(this, void 0);
40
+ _SnsSqs_sqsClient.set(this, void 0);
41
+ _SnsSqs_createdTopics.set(this, new Set());
42
+ _SnsSqs_createdQueues.set(this, new Set());
43
+ __classPrivateFieldSet(this, _SnsSqs_logger, logger, "f");
44
+ __classPrivateFieldSet(this, _SnsSqs_snsClient, new aws_sdk_1.default.SNS(), "f");
45
+ __classPrivateFieldSet(this, _SnsSqs_sqsClient, new aws_sdk_1.default.SQS(), "f");
46
+ }
47
+ createTopics(topics) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ topics = topics.map(topic => `${config_1.default.environment}-${topic}`);
50
+ const topicsToCreate = topics.filter(topic => !__classPrivateFieldGet(this, _SnsSqs_createdTopics, "f").has(topic));
51
+ yield Promise.all(topicsToCreate.map(topicName => this.createTopic(topicName)));
52
+ });
53
+ }
54
+ connect() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info("Attempting to connect to SNS and SQS");
57
+ try {
58
+ // Fetch and store list of topics
59
+ const topicsResponse = yield __classPrivateFieldGet(this, _SnsSqs_snsClient, "f").listTopics({}).promise();
60
+ topicsResponse.Topics.forEach(topic => {
61
+ const topicArn = topic.TopicArn;
62
+ const topicName = topicArn.split(':').pop(); // Extract topic name from ARN
63
+ if (topicName.startsWith(`${config_1.default.environment}-`)) {
64
+ __classPrivateFieldGet(this, _SnsSqs_createdTopics, "f").add(topicName);
65
+ }
66
+ });
67
+ // Fetch and store list of queues
68
+ const queuesResponse = yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").listQueues({}).promise();
69
+ (queuesResponse.QueueUrls || []).forEach(queueUrl => {
70
+ const queueName = queueUrl.split('/').pop(); // Extract queue name from ARN
71
+ if (queueName.startsWith(`${config_1.default.environment}-`)) {
72
+ __classPrivateFieldGet(this, _SnsSqs_createdQueues, "f").add(queueName);
73
+ }
74
+ });
75
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info("Successfully connected to SNS and SQS and retrieved existing topics and queues");
76
+ }
77
+ catch (error) {
78
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.error("Failed to connect to SNS and SQS", error);
79
+ throw error;
80
+ }
81
+ });
82
+ }
83
+ checkLiveness() {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ try {
86
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info("Attempting to connect to SNS and SQS");
87
+ yield __classPrivateFieldGet(this, _SnsSqs_snsClient, "f").listTopics({}).promise();
88
+ yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").listQueues({}).promise();
89
+ return true;
90
+ }
91
+ catch (error) {
92
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.error("Failed to connect to SNS and SQS", error);
93
+ return false;
94
+ }
95
+ });
96
+ }
97
+ disconnect() {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info("Disconnect from SNS and SQS called");
100
+ });
101
+ }
102
+ emitEvent(topicName, eventData) {
103
+ var _a;
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ topicName = `${config_1.default.environment}-${topicName}`;
106
+ const topicArn = yield this.createTopic(topicName);
107
+ const logger = ((_a = loggerContext_1.default.getLogger()) !== null && _a !== void 0 ? _a : __classPrivateFieldGet(this, _SnsSqs_logger, "f")).withParams({
108
+ serviceBroker: { topicName },
109
+ });
110
+ try {
111
+ yield __classPrivateFieldGet(this, _SnsSqs_snsClient, "f").publish({
112
+ TopicArn: topicArn,
113
+ Message: JSON.stringify(eventData),
114
+ MessageAttributes: {
115
+ correlationId: {
116
+ DataType: 'String',
117
+ StringValue: executionContext_1.default.getCorrelationId(),
118
+ },
119
+ authorizedUserLogin: {
120
+ DataType: 'String',
121
+ StringValue: executionContext_1.default.getAuthorizedUserLogin(),
122
+ },
123
+ }
124
+ }).promise();
125
+ logger.generic.info("Message published to SNS topic");
126
+ }
127
+ catch (e) {
128
+ logger.internalError(e, "Unable to publish to SNS topic");
129
+ }
130
+ });
131
+ }
132
+ consume(topicName, queueName, onMessage) {
133
+ return __awaiter(this, void 0, void 0, function* () {
134
+ topicName = `${config_1.default.environment}-${topicName}`;
135
+ queueName = `${config_1.default.environment}-${queueName}`;
136
+ const { queueUrl } = yield this.createQueueWithDLQ(queueName);
137
+ yield this.subscribeQueueToTopic(queueName, queueUrl, topicName);
138
+ while (true) {
139
+ const params = {
140
+ QueueUrl: queueUrl,
141
+ WaitTimeSeconds: 20,
142
+ VisibilityTimeout: 60,
143
+ MaxNumberOfMessages: 1
144
+ };
145
+ const data = yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").receiveMessage(params).promise();
146
+ if (data.Messages) {
147
+ for (const message of data.Messages) {
148
+ const messageBody = JSON.parse(message.Body);
149
+ const attributes = messageBody.MessageAttributes;
150
+ if (attributes.correlationId) {
151
+ executionContext_1.default.setCorrelationId(attributes.correlationId.Value);
152
+ }
153
+ if (attributes.authorizedUserLogin) {
154
+ executionContext_1.default.setAuthorizedUserLogin(attributes.authorizedUserLogin.Value);
155
+ }
156
+ const startTime = process.hrtime();
157
+ const logger = __classPrivateFieldGet(this, _SnsSqs_logger, "f").withParams({
158
+ correlationId: executionContext_1.default.getCorrelationId(),
159
+ login: executionContext_1.default.getAuthorizedUserLogin(),
160
+ serviceBroker: { topicName, queueName },
161
+ });
162
+ try {
163
+ logger.generic.info("Consuming started");
164
+ const originalMessage = JSON.parse(messageBody.Message);
165
+ yield onMessage(originalMessage, { logger });
166
+ const diff = process.hrtime(startTime);
167
+ const timeInMilliseconds = diff[0] * 1000 + diff[1] / 1000000;
168
+ logger.generic.info("Consuming finished", { taskDuration: timeInMilliseconds });
169
+ yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").deleteMessage({
170
+ QueueUrl: queueUrl,
171
+ ReceiptHandle: message.ReceiptHandle
172
+ }).promise();
173
+ }
174
+ catch (e) {
175
+ logger.generic.error(`Consuming error\nerror: |${JSON.stringify(e)}|\nobject: |${message.Body}|`, e);
176
+ }
177
+ }
178
+ }
179
+ }
180
+ });
181
+ }
182
+ createTopic(topicName) {
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ if (!__classPrivateFieldGet(this, _SnsSqs_createdTopics, "f").has(topicName)) {
185
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info('Creating topic', {
186
+ serviceBroker: {
187
+ topicName
188
+ }
189
+ });
190
+ const response = yield __classPrivateFieldGet(this, _SnsSqs_snsClient, "f").createTopic({ Name: topicName }).promise();
191
+ const topicArn = response.TopicArn;
192
+ __classPrivateFieldGet(this, _SnsSqs_createdTopics, "f").add(topicName);
193
+ return topicArn;
194
+ }
195
+ return `arn:aws:sns:${config_1.default.aws.region}:${config_1.default.aws.accountId}:${topicName}`;
196
+ });
197
+ }
198
+ createQueueWithDLQ(queueName) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ const createQueue = (queueName, redrivePolicy) => __awaiter(this, void 0, void 0, function* () {
201
+ if (!__classPrivateFieldGet(this, _SnsSqs_createdQueues, "f").has(queueName)) {
202
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info('Creating queue', {
203
+ serviceBroker: {
204
+ queueName
205
+ }
206
+ });
207
+ const params = {
208
+ QueueName: queueName,
209
+ Attributes: {}
210
+ };
211
+ if (redrivePolicy) {
212
+ params.Attributes['RedrivePolicy'] = redrivePolicy;
213
+ }
214
+ const response = yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").createQueue(params).promise();
215
+ __classPrivateFieldGet(this, _SnsSqs_createdQueues, "f").add(queueName);
216
+ return response.QueueUrl;
217
+ }
218
+ return `https://sqs.${config_1.default.aws.region}.amazonaws.com/${config_1.default.aws.accountId}/${queueName}`;
219
+ });
220
+ const deadLetterQueueName = `${queueName}__ERROR`;
221
+ let deadLetterQueueUrl = yield createQueue(deadLetterQueueName);
222
+ // Get the ARN of the dead-letter queue
223
+ const { Attributes: dlqAttributes } = yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").getQueueAttributes({
224
+ QueueUrl: deadLetterQueueUrl,
225
+ AttributeNames: ['QueueArn']
226
+ }).promise();
227
+ const dlqArn = dlqAttributes.QueueArn;
228
+ // Create the main queue with redrive policy pointing to the DLQ
229
+ const redrivePolicy = JSON.stringify({
230
+ maxReceiveCount: 1,
231
+ deadLetterTargetArn: dlqArn
232
+ });
233
+ const queueUrl = yield createQueue(queueName, redrivePolicy);
234
+ return { queueUrl, deadLetterQueueUrl };
235
+ });
236
+ }
237
+ subscribeQueueToTopic(queueName, queueUrl, topicName) {
238
+ return __awaiter(this, void 0, void 0, function* () {
239
+ __classPrivateFieldGet(this, _SnsSqs_logger, "f").generic.info('Subscribing queue to topic', {
240
+ serviceBroker: {
241
+ queueName,
242
+ topicName
243
+ }
244
+ });
245
+ const topicArn = yield this.createTopic(topicName);
246
+ // Get the ARN of the queue
247
+ const { Attributes: queueAttributes } = yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").getQueueAttributes({
248
+ QueueUrl: queueUrl,
249
+ AttributeNames: ['QueueArn']
250
+ }).promise();
251
+ const queueArn = queueAttributes.QueueArn;
252
+ // Subscribe the queue to the topic
253
+ yield __classPrivateFieldGet(this, _SnsSqs_snsClient, "f").subscribe({
254
+ Protocol: 'sqs',
255
+ TopicArn: topicArn,
256
+ Endpoint: queueArn
257
+ }).promise();
258
+ // Update the SQS queue policy to allow the SNS topic to send messages to the queue
259
+ const policy = {
260
+ Version: "2012-10-17",
261
+ Statement: [
262
+ {
263
+ Sid: "AllowSNSMessages",
264
+ Effect: "Allow",
265
+ Principal: "*",
266
+ Action: "sqs:SendMessage",
267
+ Resource: queueArn,
268
+ Condition: {
269
+ ArnEquals: {
270
+ "aws:SourceArn": topicArn
271
+ }
272
+ }
273
+ }
274
+ ]
275
+ };
276
+ yield __classPrivateFieldGet(this, _SnsSqs_sqsClient, "f").setQueueAttributes({
277
+ QueueUrl: queueUrl,
278
+ Attributes: {
279
+ Policy: JSON.stringify(policy)
280
+ }
281
+ }).promise();
282
+ });
283
+ }
284
+ }
285
+ _SnsSqs_logger = new WeakMap(), _SnsSqs_snsClient = new WeakMap(), _SnsSqs_sqsClient = new WeakMap(), _SnsSqs_createdTopics = new WeakMap(), _SnsSqs_createdQueues = new WeakMap();
286
+ exports.default = SnsSqs;
287
+ //# sourceMappingURL=SnsSqs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnsSqs.js","sourceRoot":"","sources":["../../../src/adapters/messageBroker/SnsSqs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IMessageBroker } from './types';
2
+ import ServerLogger from '../../adapters/logger';
3
+ declare class MessageBrokerProxy implements IMessageBroker {
4
+ private broker;
5
+ constructor(logger: ServerLogger);
6
+ createTopics(topics: string[]): Promise<void>;
7
+ connect(): Promise<void>;
8
+ disconnect(): Promise<void>;
9
+ emitEvent(topic: string, eventData: Object): Promise<void>;
10
+ consume(exchange: string, queue: string, onMessage: (msg: any, { logger }?: {
11
+ logger: ServerLogger;
12
+ }) => Promise<void>): Promise<any>;
13
+ checkLiveness(): Promise<boolean>;
14
+ }
15
+ export default MessageBrokerProxy;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const SnsSqs_1 = __importDefault(require("./SnsSqs"));
16
+ const Rabbitmq_1 = __importDefault(require("./Rabbitmq"));
17
+ const config_1 = __importDefault(require("../../config"));
18
+ class MessageBrokerProxy {
19
+ constructor(logger) {
20
+ switch (config_1.default.messageBrokerType) {
21
+ case 'sqssns':
22
+ this.broker = new SnsSqs_1.default(logger);
23
+ break;
24
+ case 'rabbitmq':
25
+ this.broker = new Rabbitmq_1.default(logger);
26
+ break;
27
+ default:
28
+ throw new Error(`Unsupported message broker type: ${config_1.default.messageBrokerType}`);
29
+ }
30
+ }
31
+ createTopics(topics) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ return this.broker.createTopics(topics);
34
+ });
35
+ }
36
+ connect() {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return this.broker.connect();
39
+ });
40
+ }
41
+ disconnect() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ return this.broker.disconnect();
44
+ });
45
+ }
46
+ emitEvent(topic, eventData) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return this.broker.emitEvent(topic, eventData);
49
+ });
50
+ }
51
+ consume(exchange, queue, onMessage) {
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ return this.broker.consume(exchange, queue, onMessage);
54
+ });
55
+ }
56
+ checkLiveness() {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return this.broker.checkLiveness();
59
+ });
60
+ }
61
+ }
62
+ exports.default = MessageBrokerProxy;
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/messageBroker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,sDAA8B;AAC9B,0DAAkC;AAElC,0DAAkC;AAElC,MAAM,kBAAkB;IAGtB,YAAY,MAAoB;QAC9B,QAAQ,gBAAM,CAAC,iBAAiB,EAAE;YAChC,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAQ,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,oCAAoC,gBAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;SACnF;IACH,CAAC;IAEK,YAAY,CAAC,MAAgB;;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,OAAO;;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEK,UAAU;;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa,EAAE,SAAiB;;YAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;KAAA;IAEK,OAAO,CACX,QAAgB,EAChB,KAAa,EACb,SAA6E;;YAE7E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;KAAA;IAEK,aAAa;;YACjB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;KAAA;CACF;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import ServerLogger from "../logger";
2
+ export interface IMessageBroker {
3
+ connect(): Promise<void>;
4
+ disconnect(): Promise<void>;
5
+ consume(exchange: string, queue: string, onMessage: (msg: any, { logger }?: {
6
+ logger: ServerLogger;
7
+ }) => Promise<void>): any;
8
+ checkLiveness(): Promise<boolean>;
9
+ createTopics(topics: string[]): Promise<void>;
10
+ emitEvent(topic: string, eventData: Object): Promise<void>;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/messageBroker/types.ts"],"names":[],"mappings":""}
package/lib/config.d.ts CHANGED
@@ -8,6 +8,7 @@ declare const defaultConfig: {
8
8
  pathToUI: string;
9
9
  requiredRunningInstances: number;
10
10
  blockAccess: boolean;
11
+ messageBrokerType: string;
11
12
  security: {
12
13
  intervalBetweenEmailConfirmationsSec: number;
13
14
  intervalBetweenPhoneConfirmationsSec: number;
@@ -35,6 +36,7 @@ declare const defaultConfig: {
35
36
  rememberMeExpiration: number;
36
37
  };
37
38
  aws: {
39
+ accountId: string;
38
40
  accessKey: string;
39
41
  secretKey: string;
40
42
  region: string;
package/lib/config.js CHANGED
@@ -11,6 +11,7 @@ const defaultConfig = {
11
11
  pathToUI: '../ui/build',
12
12
  requiredRunningInstances: 1,
13
13
  blockAccess: false,
14
+ messageBrokerType: 'snssqs',
14
15
  security: {
15
16
  intervalBetweenEmailConfirmationsSec: 60,
16
17
  intervalBetweenPhoneConfirmationsSec: 60,
@@ -38,6 +39,7 @@ const defaultConfig = {
38
39
  rememberMeExpiration: 86400
39
40
  },
40
41
  aws: {
42
+ accountId: 'not set',
41
43
  accessKey: 'not set',
42
44
  secretKey: 'not set',
43
45
  region: 'not set',
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import Express from 'express';
2
2
  import BusinessLogger from '../adapters/logger';
3
3
  import Redis from '../adapters/redisService';
4
4
  import { IAuthorizedRequest, ServiceFactoriesMap, ServicesList, ServiceEventNames, IServiceExecutor, PermissionsMap } from '../types';
5
- import Rabbitmq from '../adapters/rabbitmq';
5
+ import MessageBroker from '../adapters/messageBroker';
6
6
  declare class ServiceExecutor implements IServiceExecutor {
7
7
  #private;
8
8
  serviceFactoriesMap: ServiceFactoriesMap;
9
9
  serviceEventNames: ServiceEventNames;
10
- constructor(redis: Redis, logger: BusinessLogger, rabbit: Rabbitmq, servicesList: ServicesList);
11
- createExchanges(): Promise<void>;
10
+ constructor(redis: Redis, logger: BusinessLogger, messageBroker: MessageBroker, servicesList: ServicesList);
11
+ createTopics(): Promise<void>;
12
12
  createHandlers(app: Express.Express, rootUri: string): void;
13
13
  executeService(serviceFolder: string, serviceName: string, requestData: any, request?: IAuthorizedRequest, permissions?: PermissionsMap): any;
14
14
  private createRequestHandler;
@@ -22,7 +22,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
22
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
- var _ServiceExecutor_redis, _ServiceExecutor_logger, _ServiceExecutor_rabbit;
25
+ var _ServiceExecutor_redis, _ServiceExecutor_logger, _ServiceExecutor_messageBroker;
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  const cors_1 = __importDefault(require("cors"));
28
28
  const multer_1 = __importDefault(require("multer"));
@@ -50,21 +50,21 @@ const upload = (0, multer_1.default)({
50
50
  }
51
51
  });
52
52
  class ServiceExecutor {
53
- constructor(redis, logger, rabbit, servicesList) {
53
+ constructor(redis, logger, messageBroker, servicesList) {
54
54
  _ServiceExecutor_redis.set(this, void 0);
55
55
  _ServiceExecutor_logger.set(this, void 0);
56
- _ServiceExecutor_rabbit.set(this, void 0);
56
+ _ServiceExecutor_messageBroker.set(this, void 0);
57
57
  __classPrivateFieldSet(this, _ServiceExecutor_redis, redis, "f");
58
58
  __classPrivateFieldSet(this, _ServiceExecutor_logger, logger, "f");
59
- __classPrivateFieldSet(this, _ServiceExecutor_rabbit, rabbit, "f");
59
+ __classPrivateFieldSet(this, _ServiceExecutor_messageBroker, messageBroker, "f");
60
60
  this.serviceFactoriesMap = servicesList.serviceFactories;
61
61
  this.serviceEventNames = servicesList.serviceEventNames;
62
62
  }
63
- createExchanges() {
63
+ createTopics() {
64
64
  return __awaiter(this, void 0, void 0, function* () {
65
- const exchanges = Object.keys(this.serviceEventNames)
65
+ const topics = Object.keys(this.serviceEventNames)
66
66
  .reduce((result, current) => [...result, ...this.serviceEventNames[current]], []);
67
- yield __classPrivateFieldGet(this, _ServiceExecutor_rabbit, "f").createExchanges(exchanges);
67
+ yield __classPrivateFieldGet(this, _ServiceExecutor_messageBroker, "f").createTopics(topics);
68
68
  });
69
69
  }
70
70
  createHandlers(app, rootUri) {
@@ -184,6 +184,6 @@ error: |${JSON.stringify(e.toHash ? e.toHash() : e.stack)}|
184
184
  });
185
185
  }
186
186
  }
187
- _ServiceExecutor_redis = new WeakMap(), _ServiceExecutor_logger = new WeakMap(), _ServiceExecutor_rabbit = new WeakMap();
187
+ _ServiceExecutor_redis = new WeakMap(), _ServiceExecutor_logger = new WeakMap(), _ServiceExecutor_messageBroker = new WeakMap();
188
188
  exports.default = ServiceExecutor;
189
189
  //# sourceMappingURL=ServiceExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceExecutor.js","sourceRoot":"","sources":["../../src/services/ServiceExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceExecutor.js","sourceRoot":"","sources":["../../src/services/ServiceExecutor.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import Redis from '../adapters/redisService';
2
2
  import EntityBase from '../entities/Base';
3
3
  import { IServiceDescription, IAuthorizedRequest, IServiceHandler, IServiceFactory, IServiceExecutor } from '../types';
4
4
  import ServerLogger from '../adapters/logger';
5
- import Rabbitmq from '../adapters/rabbitmq';
5
+ import MessageBroker from '../adapters/messageBroker';
6
6
  import Repositories from '../repositories';
7
7
  declare abstract class ServiceFactory<R extends Repositories, T extends EntityBase> implements IServiceFactory {
8
8
  protected repositories: R;
9
9
  protected redis: Redis;
10
- protected rabbit: Rabbitmq;
11
- constructor(repositories: R, redis: Redis, rabbit: Rabbitmq);
10
+ protected messageBroker: MessageBroker;
11
+ constructor(repositories: R, redis: Redis, messageBroker: MessageBroker);
12
12
  abstract getServiceDescription(): IServiceDescription;
13
13
  abstract createHandler(serviceExecutor: IServiceExecutor, request: IAuthorizedRequest, logger: ServerLogger): IServiceHandler;
14
14
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class ServiceFactory {
4
- constructor(repositories, redis, rabbit) {
4
+ constructor(repositories, redis, messageBroker) {
5
5
  this.repositories = repositories;
6
6
  this.redis = redis;
7
- this.rabbit = rabbit;
7
+ this.messageBroker = messageBroker;
8
8
  }
9
9
  }
10
10
  exports.default = ServiceFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFactoryBase.js","sourceRoot":"","sources":["../../src/services/ServiceFactoryBase.ts"],"names":[],"mappings":";;AAQA,MAAe,cAAc;IAK3B,YAAY,YAAe,EAAE,KAAY,EAAE,MAAgB;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAKF;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ServiceFactoryBase.js","sourceRoot":"","sources":["../../src/services/ServiceFactoryBase.ts"],"names":[],"mappings":";;AAQA,MAAe,cAAc;IAK3B,YAAY,YAAe,EAAE,KAAY,EAAE,aAA4B;QACrE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CAKF;AAED,kBAAe,cAAc,CAAC"}
@@ -2,17 +2,17 @@ import Repositories from '../repositories';
2
2
  import Redis from '../adapters/redisService';
3
3
  import EntityBase from '../entities/Base';
4
4
  import { IAuthorizedRequest, IServiceHandler, IServiceExecutor, PermissionsMap } from '../types';
5
- import Rabbitmq from '../adapters/rabbitmq';
5
+ import MessageBroker from '../adapters/messageBroker';
6
6
  import ServerLogger from '../adapters/logger';
7
7
  declare abstract class ServiceHandlerBase<R extends Repositories, T extends EntityBase> implements IServiceHandler {
8
8
  protected repositories: R;
9
9
  protected redis: Redis;
10
- protected rabbit: Rabbitmq;
10
+ protected messageBroker: MessageBroker;
11
11
  protected logger: ServerLogger;
12
12
  protected request?: IAuthorizedRequest;
13
13
  protected serviceExecutor: IServiceExecutor;
14
14
  protected permissions?: PermissionsMap;
15
- constructor(repositories: R, redis: Redis, rabbit: Rabbitmq, serviceExecutor: IServiceExecutor, logger: ServerLogger, request?: IAuthorizedRequest, permissions?: PermissionsMap);
15
+ constructor(repositories: R, redis: Redis, messageBroker: MessageBroker, serviceExecutor: IServiceExecutor, logger: ServerLogger, request?: IAuthorizedRequest, permissions?: PermissionsMap);
16
16
  requestData: any;
17
17
  get Permissions(): PermissionsMap;
18
18
  set Permissions(permissions: PermissionsMap);
@@ -25,13 +25,13 @@ const actions = {
25
25
  updated: 'UPDATED',
26
26
  };
27
27
  class ServiceHandlerBase {
28
- constructor(repositories, redis, rabbit, serviceExecutor, logger, request, permissions) {
28
+ constructor(repositories, redis, messageBroker, serviceExecutor, logger, request, permissions) {
29
29
  this.repositories = repositories;
30
30
  this.request = request;
31
31
  this.logger = logger;
32
32
  this.redis = redis;
33
33
  this.serviceExecutor = serviceExecutor;
34
- this.rabbit = rabbit;
34
+ this.messageBroker = messageBroker;
35
35
  }
36
36
  get Permissions() {
37
37
  var _a;
@@ -56,7 +56,7 @@ class ServiceHandlerBase {
56
56
  return this.simpleHandleRevisions(entityClone, entity);
57
57
  }
58
58
  _emitEvent(eventType, eventData) {
59
- return this.rabbit.emitEvent(eventType, eventData);
59
+ return this.messageBroker.emitEvent(eventType, eventData);
60
60
  }
61
61
  _insert(entityToInsert) {
62
62
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceHandlerBase.js","sourceRoot":"","sources":["../../src/services/ServiceHandlerBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yDAAiC;AACjC,6DAAqC;AACrC,mEAA2C;AAO3C,oEAA4C;AAC5C,oFAA4D;AAE5D,MAAM,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAAC;AAClC,MAAM,KAAK,GAAG,iBAAO,CAAC,KAAK,CAAC;AAC5B,MAAM,WAAW,GAAG,iBAAO,CAAC,WAAW,EAAE,CAAC;AAE1C,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAe,kBAAkB;IAU/B,YAAY,YAAe,EAAE,KAAY,EAAE,MAAgB,EAAE,eAAiC,EAAE,MAAoB,EAAE,OAA4B,EAAE,WAA4B;QAC9K,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAID,IAAI,WAAW;;QACb,OAAO,IAAI,CAAC,WAAW,KAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,qBAAqB,CAAA,CAAA;IAChE,CAAC;IAED,IAAI,WAAW,CAAC,WAA2B;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAMS,qBAAqB,CAAC,WAAuB,EAAE,MAAkB;;QACzE,MAAM,CAAC,SAAS,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,IAAI,MAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,CAAA,KAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,CAAA,IAAI,sBAAY,CAAC,MAAM,EAAE,CAAC;QACtI,MAAM,CAAC,SAAS,GAAG,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,OAAO,0CAAE,KAAK,KAAI,0BAAgB,CAAC,sBAAsB,EAAE,KAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,CAAA,KAAI,MAAA,IAAI,CAAC,WAAW,0CAAE,SAAS,CAAA,IAAI,SAAS,CAAC;QAEjL,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACzC,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QAEzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,MAAM,CAAC,gBAAgB,GAAG,WAAW,CAAC;SACvC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAES,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO;QACpD,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,UAAU,CAAC,SAAS,EAAE,SAAS;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAEe,OAAO,CAAC,cAAc;;YACpC,MAAM,aAAa,GAAM,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEpH,IAAI,CAAC,UAAU,CACb,UAAU,IAAI,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,EACnD;gBACE,MAAM,EAAE,aAAa;aACtB,CACF,CAAC;YAEF,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAMe,OAAO,CAAC,YAAY,EAAE,MAAmC,EAAE,OAAO,GAAG,IAAI;;YACvF,MAAM,WAAW,GAAI,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAE9E,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;KAAA;IAEe,YAAY,CAAC,aAAa,EAAE,MAAmC,EAAE,OAAQ;;YACvF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAChF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE5G,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;gBACvD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,mBAAS,CAAC;oBAClC,IAAI,EAAE,8CAA8C;iBACrD,CAAC,CAAC,CAAC;aACL;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,GAAS,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE7F,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;oBAC5C,MAAM,IAAI,mBAAS,CAAC;wBAClB,IAAI,EAAE,WAAW;qBAClB,CAAC,CAAC;iBACJ;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1E,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhD,MAAM,WAAW,GAAG,EAAE,CAAC;gBAEvB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAO,MAAM,EAAE,KAAK,EAAE,EAAE;;oBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACnE,IAAI,UAAU,GAAG,KAAK,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBACvC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAC/C,UAAU,GAAG,IAAI,CAAC;yBACnB;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,UAAU,EAAE;wBACd,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC,OAAO,CAAC,IAAI,kBAAQ,CAAC;4BACpE,aAAa,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa;4BAC1C,QAAQ,EAAE,MAAM,CAAC,GAAG;4BACpB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE;4BAC1C,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,KAAK;yBACN,CAAC,CAAC,CAAC;wBACJ,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACzB,IAAI,CAAC,UAAU,CACb,UAAU,IAAI,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,EACnD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAA;qBACF;gBACH,CAAC,CAAA,CAAC,CAAC,CAAC;gBAEJ,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAED,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ServiceHandlerBase.js","sourceRoot":"","sources":["../../src/services/ServiceHandlerBase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "starta.microservice",
3
- "version": "0.1.4694",
3
+ "version": "0.1.4707",
4
4
  "main": "./lib/index.js",
5
5
  "description": "Core library for Starta.one microservice",
6
- "author": "Collaboracia ",
6
+ "author": "Collaboracia OÜ",
7
7
  "license": "ISC",
8
8
  "scripts": {
9
9
  "build": "tsc",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/rabbitmq/index.ts"],"names":[],"mappings":"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"}