@cargolift-cdi/util-rabbitmq 0.2.18 → 0.2.20

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,3 +1,33 @@
1
+ interface RabbitMQTopologyRetry {
2
+ short: string;
3
+ long: string;
4
+ }
5
+ export interface RabbitMQTopology {
6
+ exchange: string;
7
+ type: string;
8
+ queues: RabbitMQTopologyQueue[];
9
+ alternateExchange?: {
10
+ exchange: string;
11
+ queue: string;
12
+ };
13
+ deadLetterExchange: {
14
+ exchange: string;
15
+ };
16
+ retry: {
17
+ exchanges: RabbitMQTopologyRetry;
18
+ policy_short_ms: number;
19
+ policy_long_ms: number;
20
+ };
21
+ }
22
+ export interface RabbitMQTopologyQueue {
23
+ queue: string;
24
+ routingKey: string;
25
+ deadLetterQueue: {
26
+ name: string;
27
+ routingKey: string;
28
+ };
29
+ retryQueues: RabbitMQTopologyRetry;
30
+ }
1
31
  /**
2
32
  * RabbitMQTopologyService
3
33
  * Padroniza criação de exchanges, DLX, AE e filas dinâmicas por sistema.
@@ -6,12 +36,13 @@
6
36
  export declare class RabbitMQTopologyService {
7
37
  private readonly logger;
8
38
  /**
9
- * Cria exchanges base (inbound/outbound), AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
39
+ * Cria exchanges, AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
10
40
  */
11
- setupBaseTopology(): Promise<void>;
41
+ setupBaseTopology(topology: RabbitMQTopology): Promise<void>;
12
42
  /**
13
43
  * Cria filas por sistema e faz binds necessários. Para inbound, cria filas de retry com TTLs.
14
44
  */
15
- setupQueue(system: string, way: 'inbound' | 'outbound'): Promise<string>;
45
+ setupQueue(topology: RabbitMQTopology): Promise<string>;
16
46
  }
47
+ export {};
17
48
  //# sourceMappingURL=rabbitmq-topology.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-topology.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCxC;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAoE/E"}
1
+ {"version":3,"file":"rabbitmq-topology.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"AAIA,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,kBAAkB,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,KAAK,EAAE;QACL,SAAS,EAAE,qBAAqB,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CAGH;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,qBAAqB,CAAC;CACpC;AAED;;;;GAIG;AACH,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6ClE;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;CAkE9D"}
@@ -5,8 +5,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var RabbitMQTopologyService_1;
8
- import { Injectable, Logger } from '@nestjs/common';
9
- import { getRabbitConnectionManager } from './rabbitmq-connection.manager.js';
8
+ import { Injectable, Logger } from "@nestjs/common";
9
+ import { getRabbitConnectionManager } from "./rabbitmq-connection.manager.js";
10
10
  /**
11
11
  * RabbitMQTopologyService
12
12
  * Padroniza criação de exchanges, DLX, AE e filas dinâmicas por sistema.
@@ -17,34 +17,39 @@ let RabbitMQTopologyService = RabbitMQTopologyService_1 = class RabbitMQTopology
17
17
  this.logger = new Logger(RabbitMQTopologyService_1.name);
18
18
  }
19
19
  /**
20
- * Cria exchanges base (inbound/outbound), AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
20
+ * Cria exchanges, AE (fanout), DLX (topic), unrouteable queue e exchanges de retry (inbound).
21
21
  */
22
- async setupBaseTopology() {
22
+ async setupBaseTopology(topology) {
23
23
  const ch = await getRabbitConnectionManager().createChannel();
24
24
  try {
25
- const inbound = getEnv('RABBITMQ_EXCHANGE_INBOUND') || 'inbound';
26
- const outbound = getEnv('RABBITMQ_EXCHANGE_OUTBOUND') || 'outbound';
27
- const ae = getEnv('RABBITMQ_EXCHANGE_AE') || 'ae';
28
- const unroutable = getEnv('RABBITMQ_UNROUTABLE_QUEUE') || 'unroutable';
29
- const dlx = getEnv('RABBITMQ_EXCHANGE_DLX') || 'dlx';
30
- // AE fanout
31
- await ch.assertExchange(`${inbound}.${ae}`, 'fanout', { durable: true });
32
- await ch.assertExchange(`${outbound}.${ae}`, 'fanout', { durable: true });
33
- // DLX topic
34
- await ch.assertExchange(`${inbound}.${dlx}`, 'topic', { durable: true });
35
- await ch.assertExchange(`${outbound}.${dlx}`, 'topic', { durable: true });
36
- // Exchanges de retry (topic) para inbound
37
- await ch.assertExchange(`${inbound}.retry.short`, 'topic', { durable: true });
38
- await ch.assertExchange(`${inbound}.retry.long`, 'topic', { durable: true });
39
- // Exchanges principais (topic) com AE
40
- await ch.assertExchange(inbound, 'topic', { durable: true, arguments: { 'alternate-exchange': `${inbound}.${ae}` } });
41
- await ch.assertExchange(outbound, 'topic', { durable: true, arguments: { 'alternate-exchange': `${outbound}.${ae}` } });
42
- // Unroutable queues bound to AE
43
- await ch.assertQueue(`${inbound}.${unroutable}`, { durable: true });
44
- await ch.bindQueue(`${inbound}.${unroutable}`, `${inbound}.${ae}`, '');
45
- await ch.assertQueue(`${outbound}.${unroutable}`, { durable: true });
46
- await ch.bindQueue(`${outbound}.${unroutable}`, `${outbound}.${ae}`, '');
47
- this.logger.log(`Topology ready => inbound: ${inbound} | outbound: ${outbound} | AE: ${ae} | DLX: ${dlx} | retries: [${inbound}.retry.short, ${inbound}.retry.long] | unroutable: ${unroutable}`);
25
+ // Alternate Exchange (inbound.ae)
26
+ if (topology.alternateExchange) {
27
+ await ch.assertExchange(topology.alternateExchange.exchange, "fanout", { durable: true });
28
+ }
29
+ // Dead Letter Exchange (inbound.dlx)
30
+ if (topology.deadLetterExchange) {
31
+ await ch.assertExchange(topology.deadLetterExchange.exchange, "topic", { durable: true });
32
+ }
33
+ // Exchanges de retry (topic) para inbound (inbound.retry.short/long)
34
+ if (topology.retry?.exchanges) {
35
+ await ch.assertExchange(topology.retry.exchanges.short, "topic", { durable: true });
36
+ await ch.assertExchange(topology.retry.exchanges.long, "topic", { durable: true });
37
+ }
38
+ // Exchanges principais (topic) com AE (inbound)
39
+ await ch.assertExchange(topology.exchange, "topic", {
40
+ durable: true,
41
+ arguments: {
42
+ "alternate-exchange": topology.alternateExchange?.exchange || "",
43
+ },
44
+ });
45
+ // Alternate queues bound to AE
46
+ if (topology.alternateExchange) {
47
+ await ch.assertQueue(topology.alternateExchange.queue, { durable: true });
48
+ await ch.bindQueue(topology.alternateExchange.queue, topology.alternateExchange.exchange, "");
49
+ }
50
+ this.logger.log(`[RABBITMQ] Topology => exchange: ${topology.exchange} ` +
51
+ (topology.alternateExchange ? ` | AE: ${topology.alternateExchange.exchange}` : "") +
52
+ (topology.deadLetterExchange ? ` | DLX: ${topology.deadLetterExchange.exchange}` : ""));
48
53
  }
49
54
  finally {
50
55
  try {
@@ -56,60 +61,53 @@ let RabbitMQTopologyService = RabbitMQTopologyService_1 = class RabbitMQTopology
56
61
  /**
57
62
  * Cria filas por sistema e faz binds necessários. Para inbound, cria filas de retry com TTLs.
58
63
  */
59
- async setupQueue(system, way) {
64
+ async setupQueue(topology) {
60
65
  const ch = await getRabbitConnectionManager().createChannel();
61
66
  try {
62
- const exchange = way === 'inbound'
63
- ? (getEnv('RABBITMQ_EXCHANGE_INBOUND') || 'inbound')
64
- : (getEnv('RABBITMQ_EXCHANGE_OUTBOUND') || 'outbound');
65
- const dlx = getEnv('RABBITMQ_EXCHANGE_DLX') || 'dlx';
66
- const retryShortMs = toInt(getEnv('RABBITMQ_RETRY_POLICY_SHORT_MS'), 120_000);
67
- const retryLongMs = toInt(getEnv('RABBITMQ_RETRY_POLICY_LONG_MS'), 3_600_000);
68
- const queueName = `${exchange}.${system}`;
69
- const routing = `integration.${system}.*`;
70
- await ch.assertQueue(`${exchange}.${system}.dlq`, { durable: true });
71
- await ch.assertQueue(queueName, {
72
- durable: true,
73
- arguments: {
74
- 'x-dead-letter-exchange': `${exchange}.${dlx}`,
75
- 'x-dead-letter-routing-key': `integration.${system}.dead`,
76
- },
77
- });
78
- await ch.bindQueue(queueName, exchange, routing);
79
- await ch.bindQueue(`${exchange}.${system}.dlq`, `${exchange}.${dlx}`, `integration.${system}.#`);
80
- if (way === 'inbound') {
81
- const retryShortQueue = `${exchange}.${system}.retry.short`;
82
- const retryLongQueue = `${exchange}.${system}.retry.long`;
67
+ for (const queue of topology.queues) {
68
+ // Dead Letter Queue (inbound.sistema.dlq)
69
+ await ch.assertQueue(queue.deadLetterQueue.name, { durable: true });
70
+ // Fila principal (inbound.sistema)
71
+ // x-dead-letter-exchange: (inbound.dlx)
72
+ // x-dead-letter-routing-key: (integration.sistema.dead)
73
+ await ch.assertQueue(queue.queue, {
74
+ durable: true,
75
+ arguments: {
76
+ "x-dead-letter-exchange": topology.deadLetterExchange?.exchange,
77
+ "x-dead-letter-routing-key": queue.deadLetterQueue?.routingKey,
78
+ },
79
+ });
80
+ await ch.bindQueue(queue.queue, topology.exchange, queue.routingKey);
81
+ await ch.bindQueue(queue.deadLetterQueue.name, topology.deadLetterExchange.exchange, queue.deadLetterQueue.routingKey);
83
82
  try {
84
- await ch.assertQueue(retryShortQueue, {
83
+ await ch.assertQueue(queue.retryQueues.short, {
85
84
  durable: true,
86
85
  arguments: {
87
- 'x-message-ttl': retryShortMs,
88
- 'x-dead-letter-exchange': exchange,
86
+ "x-message-ttl": topology.retry.policy_short_ms,
87
+ "x-dead-letter-exchange": topology.exchange,
89
88
  },
90
89
  });
91
- await ch.assertQueue(retryLongQueue, {
90
+ await ch.assertQueue(queue.retryQueues.long, {
92
91
  durable: true,
93
92
  arguments: {
94
- 'x-message-ttl': retryLongMs,
95
- 'x-dead-letter-exchange': exchange,
93
+ "x-message-ttl": topology.retry.policy_long_ms,
94
+ "x-dead-letter-exchange": topology.exchange,
96
95
  },
97
96
  });
98
97
  }
99
98
  catch (e) {
100
- const msg = String(e?.message ?? e ?? '');
99
+ const msg = String(e?.message ?? e ?? "");
101
100
  if (/PRECONDITION[_-]FAILED|inequivalent arg/i.test(msg)) {
102
101
  // Sinaliza claramente drift de topologia
103
- throw new Error(`RabbitMQ topology drift: ${msg}. Filas de retry existentes para '${system}' com TTL/args diferentes dos configurados. Alinhe variáveis ou remova filas manualmente.`);
102
+ throw new Error(`RabbitMQ topology drift: ${msg}. Filas de retry existentes para '${queue.queue}' com TTL/args diferentes dos configurados. Alinhe variáveis ou remova filas manualmente.`);
104
103
  }
105
104
  throw e;
106
105
  }
107
- await ch.bindQueue(retryShortQueue, `${exchange}.retry.short`, routing);
108
- await ch.bindQueue(retryLongQueue, `${exchange}.retry.long`, routing);
106
+ await ch.bindQueue(queue.retryQueues.short, topology.retry.exchanges.short, queue.routingKey);
107
+ await ch.bindQueue(queue.retryQueues.long, topology.retry.exchanges.long, queue.routingKey);
108
+ this.logger.log(`[RABBITMQ] Queue ready: ${queue.queue} | DLQ: ${queue.deadLetterQueue.name} | exchange: ${topology.exchange} | bind: ${queue.routingKey}`);
109
109
  }
110
- this.logger.log(`Queue ready: ${queueName} | DLQ: ${exchange}.${system}.dlq | exchange: ${exchange} | bind: ${routing}` +
111
- (way === 'inbound' ? ` | retries: ${exchange}.${system}.retry.short, ${exchange}.${system}.retry.long` : ''));
112
- return queueName;
110
+ return "topology.queue";
113
111
  }
114
112
  finally {
115
113
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-topology.service.js","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rabbitmq-topology.service.js","sourceRoot":"","sources":["../src/rabbitmq-topology.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cargolift-cdi/util-rabbitmq",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "Funções utilitárias para trabalhar com RabbitMQ",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",