exodus-framework 2.0.776 → 2.0.777
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.
@@ -91,6 +91,6 @@ export type TMessagingTransaction = {
|
|
91
91
|
};
|
92
92
|
export type TMessagingQueueHandler<K extends keyof TMessageQueueDataMap = any> = (data: TMessageQueueDataMap[K] & {
|
93
93
|
transaction: TMessagingTransaction;
|
94
|
-
}, ack: () => void, serviceId?: string, transactionId?: string) => void
|
94
|
+
}, ack: () => void, serviceId?: string, transactionId?: string) => void | Promise<void>;
|
95
95
|
export type TMessagingQueueEventList = Partial<Record<keyof TMessageQueueDataMap, TMessagingQueueHandler>>;
|
96
96
|
//# sourceMappingURL=messaging.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/contracts/messaging.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/contracts/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9E,oBAAY,eAAe;IACzB,IAAI,sBAAsB;IAG1B,cAAc,2BAA2B;IAGzC,eAAe,4BAA4B;IAC3C,kBAAkB,+BAA+B;IACjD,kBAAkB,+BAA+B;IACjD,uBAAuB,qCAAqC;IAC5D,0BAA0B,wCAAwC;IAGlE,YAAY,yBAAyB;IACrC,eAAe,4BAA4B;IAC3C,cAAc,4BAA4B;IAC1C,eAAe,4BAA4B;IAG3C,eAAe,4BAA4B;IAC3C,kBAAkB,+BAA+B;IACjD,iBAAiB,+BAA+B;IAChD,kBAAkB,+BAA+B;IAEjD,OAAO,oBAAoB;IAC3B,eAAe,6BAA6B;IAC5C,2BAA2B,0CAA0C;CACtE;AAGD,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,EAAE,GAAG,CAAC;KACX,CAAC;IACF,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAG3C,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAClD,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC;IACnD,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE;QACzC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,CAAC,eAAe,CAAC,0BAA0B,CAAC,EAAE;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAGF,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/C,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IAChD,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;KAC9B,CAAC;IACF,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAGpD,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IAClD,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC;IACnD,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;KAC/B,CAAC;IACF,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAGvD,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,CAAC;IACF,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE;QAC7C,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC9B,GAAG;QAAE,mBAAmB,EAAE,qBAAqB,CAAA;KAAE,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AACF,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,oBAAoB,GAAG,GAAG,IAAI,CAC/E,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAAE,WAAW,EAAE,qBAAqB,CAAA;CAAE,EACtE,GAAG,EAAE,MAAM,IAAI,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,KACnB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,MAAM,oBAAoB,EAAE,sBAAsB,CAAC,CAC3D,CAAC"}
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import client, { Channel, Connection } from 'amqplib';
|
2
2
|
import Service from '../app/service';
|
3
|
-
import { TMessageQueueDataMap, TMessagingQueueEventList } from '../contracts';
|
3
|
+
import { TMessageQueueDataMap, TMessagingQueueEventList, TMessagingQueueHandler } from '../contracts';
|
4
4
|
import { IService } from '../contracts/service';
|
5
5
|
declare class RabbitMQService extends Service implements IService {
|
6
6
|
connection: Connection;
|
7
7
|
channel: Channel;
|
8
8
|
private connected;
|
9
9
|
private mainRouter;
|
10
|
+
private eventCustomListeners;
|
10
11
|
constructor();
|
11
12
|
init(): Promise<void>;
|
12
13
|
registerHandles(): Promise<void>;
|
@@ -14,6 +15,8 @@ declare class RabbitMQService extends Service implements IService {
|
|
14
15
|
sendToQueue<K extends keyof TMessageQueueDataMap>(topic: K, data: TMessageQueueDataMap[K]): Promise<`${string}-${string}-${string}-${string}-${string}`>;
|
15
16
|
consumeFromQueue(msg: client.ConsumeMessage): Promise<void>;
|
16
17
|
registerRouter(router: TMessagingQueueEventList): void;
|
18
|
+
onTransaction<K extends keyof TMessageQueueDataMap>(topic: K, callBack: TMessagingQueueHandler<K>): void;
|
19
|
+
offTransaction<K extends keyof TMessageQueueDataMap>(topic: K): void;
|
17
20
|
}
|
18
21
|
export default RabbitMQService;
|
19
22
|
//# sourceMappingURL=rabitmq.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,
|
1
|
+
{"version":3,"file":"rabitmq.d.ts","sourceRoot":"","sources":["../../src/services/rabitmq.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAUhD,cAAM,eAAgB,SAAQ,OAAQ,YAAW,QAAQ;IACvD,UAAU,EAAG,UAAU,CAAC;IACxB,OAAO,EAAG,OAAO,CAAC;IAClB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,oBAAoB,CAA0D;;IAOhF,IAAI;IAMJ,eAAe;IAiBf,OAAO;IAwBP,WAAW,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAoBzF,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc;IA6BjD,cAAc,CAAC,MAAM,EAAE,wBAAwB;IAIxC,aAAa,CAAC,CAAC,SAAS,MAAM,oBAAoB,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAK9B,cAAc,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAAE,KAAK,EAAE,CAAC;CAGrE;AAED,eAAe,eAAe,CAAC"}
|
package/lib/services/rabitmq.js
CHANGED
@@ -22,10 +22,12 @@ class RabbitMQService extends _service.default {
|
|
22
22
|
channel;
|
23
23
|
connected;
|
24
24
|
mainRouter;
|
25
|
+
eventCustomListeners;
|
25
26
|
|
26
27
|
//# Initialization
|
27
28
|
constructor() {
|
28
29
|
super();
|
30
|
+
this.eventCustomListeners = new Map();
|
29
31
|
}
|
30
32
|
async init() {
|
31
33
|
if (!this.mainRouter) throw new Error('Need router'); //!sem router
|
@@ -91,7 +93,13 @@ class RabbitMQService extends _service.default {
|
|
91
93
|
const topic = msg.fields.routingKey;
|
92
94
|
const content = JSON.parse(msg.content.toString());
|
93
95
|
const callBack = this.mainRouter[topic];
|
94
|
-
|
96
|
+
if (callBack) {
|
97
|
+
callBack(content.data, () => this.channel.ack(msg), content.serviceId, msg.properties.messageId);
|
98
|
+
}
|
99
|
+
if (this.eventCustomListeners.has(topic)) {
|
100
|
+
const cb = this.eventCustomListeners.get(topic);
|
101
|
+
cb(content.data, () => this.channel.ack(msg), content.serviceId, msg.properties.messageId);
|
102
|
+
}
|
95
103
|
} catch (error) {
|
96
104
|
this.channel.ack(msg);
|
97
105
|
new _app.ErrorHandler('Error on parsing message from queue', error);
|
@@ -100,5 +108,11 @@ class RabbitMQService extends _service.default {
|
|
100
108
|
registerRouter(router) {
|
101
109
|
this.mainRouter = router;
|
102
110
|
}
|
111
|
+
onTransaction(topic, callBack) {
|
112
|
+
this.eventCustomListeners.set(topic, callBack);
|
113
|
+
}
|
114
|
+
offTransaction(topic) {
|
115
|
+
this.eventCustomListeners.delete(topic);
|
116
|
+
}
|
103
117
|
}
|
104
118
|
var _default = exports.default = RabbitMQService;
|