@cargolift-cdi/util-rabbitmq 0.1.65 → 0.2.0

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/README.md CHANGED
@@ -1,2 +1,72 @@
1
1
  # @cargolift-cdi/util-rabbitmq
2
2
 
3
+ Utilitários para publicação de mensagens RabbitMQ com confirmação (publisher confirms), enriquecimento de envelope e convenções de integração.
4
+
5
+ ## Principais Componentes
6
+
7
+ - `RabbitMQPublisherService`: camada de baixo nível (confirmação, timeout, backpressure, headers contextuais).
8
+ - `IntegrationEventPublisher`: fachada de alto nível para eventos de integração HTTP → RabbitMQ.
9
+ - `publishToDlqAndAck`: envia mensagem original (enriquecida) para DLQ e faz ack.
10
+ - `RabbitMQConnectionManager`: reutiliza conexão evitando overhead de conexão por mensagem.
11
+
12
+ ## Exemplo Rápido
13
+
14
+ ```ts
15
+ @Injectable()
16
+ export class DemoService {
17
+ constructor(private readonly integration: IntegrationEventPublisher) {}
18
+
19
+ async send(data: any) {
20
+ await this.integration.publish({
21
+ routingKey: 'integration.erp.demo',
22
+ payload: data,
23
+ raw: { returnMeta: true }
24
+ });
25
+ }
26
+ }
27
+ ```
28
+
29
+ ## Metadados de Publicação
30
+ `RabbitMQPublisherService.publish` aceita `returnMeta: true` em `opts` retornando:
31
+
32
+ ```ts
33
+ {
34
+ correlationId: string;
35
+ exchange: string;
36
+ routingKey: string;
37
+ pattern: string;
38
+ sizeBytes: number;
39
+ durationMs: number;
40
+ confirmedAt: string;
41
+ }
42
+ ```
43
+
44
+ ## DLQ Enriquecida
45
+ `publishToDlqAndAck` tenta embutir JSON com:
46
+ ```jsonc
47
+ {
48
+ "failedAt": "2025-09-30T12:34:56.000Z",
49
+ "error": { "name": "Error", "message": "...", "stack": "..." },
50
+ "originalHeaders": { ... },
51
+ "originalPayload": { ... }
52
+ }
53
+ ```
54
+ Header `x-dlq-enriched` indica `1` (sucesso) ou `0` (fallback raw).
55
+
56
+ ## Variáveis de Ambiente
57
+ | Nome | Descrição | Default |
58
+ |------|-----------|---------|
59
+ | `RABBITMQ_URL` | URL de conexão | (obrigatório) |
60
+ | `RABBITMQ_EXCHANGE` | Exchange default integração | `integration.inbound` |
61
+ | `RABBITMQ_ALTERNATE_EXCHANGE` | Alternate exchange | `integration.inbound.ae` |
62
+ | `RABBITMQ_EXCHANGE_TYPE` | Tipo do exchange | `topic` |
63
+ | `RABBITMQ_PUBLISH_TIMEOUT_MS` | Timeout confirmação | `5000` |
64
+
65
+ ## Boas Práticas
66
+ - Reutilize a instância injetada (não crie manualmente o publisher baixo nível).
67
+ - Evite payloads muito grandes (considerar compressão se `sizeBytes > ~256KB`).
68
+ - Log de debug seletivo (considere flag futura `DEBUG_RABBIT_PUBLISH`).
69
+
70
+ ## Licença
71
+ MIT
72
+
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export * from './rabbitmq-publisher.service.js';
6
6
  export * from './rabbitmq-publisher-dlq.service.js';
7
- export * from './integration-publisher.service.js';
7
+ export * from './integration-event.publisher.js';
8
8
  export * from './rabbitmq-connection.manager.js';
9
9
  export * from './rabbitmq.constants.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export * from './rabbitmq-publisher.service.js';
6
6
  export * from './rabbitmq-publisher-dlq.service.js';
7
- export * from './integration-publisher.service.js';
7
+ export * from './integration-event.publisher.js';
8
8
  export * from './rabbitmq-connection.manager.js';
9
9
  export * from './rabbitmq.constants.js';
10
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { LoggerContextService } from '@cargolift-cdi/common';
2
+ import { RabbitMQPublisherService } from './rabbitmq-publisher.service.js';
3
+ import { EnvelopeMessage } from '@cargolift-cdi/types';
4
+ /**
5
+ * IntegrationEventPublisher
6
+ * --------------------------------------------------
7
+ * Publicador de alto nível para eventos de integração.
8
+ * Regras aplicadas:
9
+ * - Defaults de exchange / alternate exchange / exchangeType
10
+ * - Extração de IP e user-agent de uma Request HTTP (se fornecida)
11
+ * - Normalização de envelope (correlation_id, eventType, source, timestamp)
12
+ * - Headers padronizados (x-correlation-id, x-trace, x-source)
13
+ * - Encaminha para RabbitMQPublisherService (baixo nível) com possibilidade de confirmação
14
+ *
15
+ * Use este serviço quando publicar eventos sem querer lidar com detalhes de configuração.
16
+ */
17
+ export interface PublishIntegrationEventOptions {
18
+ exchange?: string;
19
+ routingKey: string;
20
+ req?: Request;
21
+ payload?: any;
22
+ envelope?: Partial<EnvelopeMessage>;
23
+ headers?: Record<string, any>;
24
+ raw?: {
25
+ exchangeType?: string;
26
+ assertExchangeOptions?: any;
27
+ publishOptions?: any;
28
+ persistent?: boolean;
29
+ timeoutMs?: number;
30
+ returnMeta?: boolean;
31
+ };
32
+ }
33
+ export declare class IntegrationEventPublisher {
34
+ private readonly publisher;
35
+ private readonly logger;
36
+ private readonly defaultExchange;
37
+ private readonly defaultExchangeType;
38
+ private readonly defaultAlternateExchange;
39
+ constructor(publisher: RabbitMQPublisherService, logger: LoggerContextService);
40
+ publish(opts: PublishIntegrationEventOptions): Promise<void | any>;
41
+ }
42
+ //# sourceMappingURL=integration-event.publisher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-event.publisher.d.ts","sourceRoot":"","sources":["../src/integration-event.publisher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAkB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,GAAG,CAAC;QAC5B,cAAc,CAAC,EAAE,GAAG,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,qBACa,yBAAyB;IAMlC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0D;IAC1F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuE;gBAG7F,SAAS,EAAE,wBAAwB,EACnC,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;CA+CzE"}
@@ -0,0 +1,77 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Injectable } from '@nestjs/common';
11
+ import { LoggerContextService } from '@cargolift-cdi/common';
12
+ import { RabbitMQPublisherService } from './rabbitmq-publisher.service.js';
13
+ let IntegrationEventPublisher = class IntegrationEventPublisher {
14
+ constructor(publisher, logger) {
15
+ this.publisher = publisher;
16
+ this.logger = logger;
17
+ this.defaultExchange = process.env.RABBITMQ_EXCHANGE || 'integration.inbound';
18
+ this.defaultExchangeType = 'topic';
19
+ this.defaultAlternateExchange = process.env.RABBITMQ_ALTERNATE_EXCHANGE || 'integration.inbound.ae';
20
+ }
21
+ async publish(opts) {
22
+ const ctx = this.logger.getContext();
23
+ const exchange = opts.exchange || this.defaultExchange;
24
+ const routingKey = opts.routingKey;
25
+ const userAgent = opts.req?.headers?.['user-agent'] || 'unknown';
26
+ const ip = extractIp(opts.req);
27
+ const envelope = {
28
+ correlation_id: opts.envelope?.correlation_id || ctx?.correlation_id,
29
+ eventType: opts.envelope?.eventType || routingKey,
30
+ source: {
31
+ ip: opts.envelope?.source?.ip || ip,
32
+ user_agent: opts.envelope?.source?.user_agent || userAgent,
33
+ },
34
+ timestamp: opts.envelope?.timestamp,
35
+ ...opts.envelope,
36
+ };
37
+ const headers = {
38
+ 'x-correlation-id': envelope.correlation_id,
39
+ 'x-trace': envelope?.trace || ctx?.trace,
40
+ 'x-source': JSON.stringify(envelope.source),
41
+ ...(opts.headers || {}),
42
+ };
43
+ return this.publisher.publish(exchange, routingKey, envelope, (opts.payload || opts.req?.body), {
44
+ exchangeType: opts.raw?.exchangeType || this.defaultExchangeType,
45
+ assertExchangeOptions: {
46
+ durable: true,
47
+ alternateExchange: this.defaultAlternateExchange,
48
+ ...(opts.raw?.assertExchangeOptions || {}),
49
+ },
50
+ headers,
51
+ persistent: opts.raw?.persistent ?? true,
52
+ publishOptions: opts.raw?.publishOptions,
53
+ timeoutMs: opts.raw?.timeoutMs,
54
+ returnMeta: opts.raw?.returnMeta,
55
+ });
56
+ }
57
+ };
58
+ IntegrationEventPublisher = __decorate([
59
+ Injectable(),
60
+ __metadata("design:paramtypes", [RabbitMQPublisherService,
61
+ LoggerContextService])
62
+ ], IntegrationEventPublisher);
63
+ export { IntegrationEventPublisher };
64
+ function extractIp(req) {
65
+ if (!req)
66
+ return '0.0.0.0';
67
+ const xfwd = req.headers?.['x-forwarded-for'];
68
+ if (typeof xfwd === 'string' && xfwd.length > 0) {
69
+ return xfwd.split(',')[0].trim();
70
+ }
71
+ return (req.ip ||
72
+ req.connection?.remoteAddress ||
73
+ req.socket?.remoteAddress ||
74
+ req.info?.remoteAddress ||
75
+ '0.0.0.0');
76
+ }
77
+ //# sourceMappingURL=integration-event.publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-event.publisher.js","sourceRoot":"","sources":["../src/integration-event.publisher.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,11 @@
1
- import { LoggerContextService } from '@cargolift-cdi/common';
2
- import { RabbitMQPublisherService } from './rabbitmq-publisher.service.js';
3
- import { EnvelopeMessage } from '@cargolift-cdi/types';
1
+ import { IntegrationEventPublisher, PublishIntegrationEventOptions } from './integration-event.publisher.js';
4
2
  /**
5
- * Facade para publicação simplificada de eventos no RabbitMQ.
6
- * Centraliza defaults e reduz verbosidade nos controllers.
3
+ * @deprecated Use IntegrationEventPublisher
7
4
  */
8
- export interface PublishEventOptions {
9
- exchange?: string;
10
- routingKey: string;
11
- req?: Request;
12
- payload?: any;
13
- envelope?: Partial<EnvelopeMessage>;
14
- headers?: Record<string, any>;
15
- raw?: {
16
- exchangeType?: string;
17
- assertExchangeOptions?: any;
18
- publishOptions?: any;
19
- persistent?: boolean;
20
- timeoutMs?: number;
21
- };
22
- }
23
- export declare class IntegrationPublisherService {
24
- private readonly publisher;
25
- private readonly logger;
26
- private readonly defaultExchange;
27
- private readonly defaultExchangeType;
28
- private readonly defaultAlternateExchange;
29
- constructor(publisher: RabbitMQPublisherService, logger: LoggerContextService);
5
+ export declare class IntegrationPublisherService extends IntegrationEventPublisher {
30
6
  /**
31
- * Publica um evento usando defaults padronizados.
32
- * Exemplo de uso:
33
- * await integrationPublisher.publish({ routingKey: 'integration.erp.demo', payload, envelope: { source } })
7
+ * @deprecated Use publish de IntegrationEventPublisher
34
8
  */
35
- publish(opts: PublishEventOptions): Promise<void>;
9
+ publish(opts: PublishIntegrationEventOptions): Promise<any>;
36
10
  }
37
11
  //# sourceMappingURL=integration-publisher.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration-publisher.service.d.ts","sourceRoot":"","sources":["../src/integration-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAkB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAA4B;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,GAAG,CAAC;QAC5B,cAAc,CAAC,EAAE,GAAG,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAGD,qBACa,2BAA2B;IAMpC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0D;IAC1F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAW;IAC/C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuE;gBAG7F,SAAS,EAAE,wBAAwB,EACnC,MAAM,EAAE,oBAAoB;IAG/C;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA8CxD"}
1
+ {"version":3,"file":"integration-publisher.service.d.ts","sourceRoot":"","sources":["../src/integration-publisher.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAE7G;;GAEG;AACH,qBACa,2BAA4B,SAAQ,yBAAyB;IACxE;;OAEG;IACY,OAAO,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,GAAG,CAAC;CAG3E"}
@@ -4,81 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  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;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
7
+ // DEPRECATED: manter arquivo para compatibilidade e facilitar migração.
8
+ // Use IntegrationEventPublisher em vez de IntegrationPublisherService.
9
+ // Será removido em versão futura (>=0.2.0).
10
10
  import { Injectable } from '@nestjs/common';
11
- import { LoggerContextService } from '@cargolift-cdi/common';
12
- import { RabbitMQPublisherService } from './rabbitmq-publisher.service.js';
13
- // Escopo default - contexto isolado garantido via AsyncLocalStorage
14
- let IntegrationPublisherService = class IntegrationPublisherService {
15
- constructor(publisher, logger) {
16
- this.publisher = publisher;
17
- this.logger = logger;
18
- this.defaultExchange = process.env.RABBITMQ_EXCHANGE || 'integration.inbound';
19
- this.defaultExchangeType = 'topic';
20
- this.defaultAlternateExchange = process.env.RABBITMQ_ALTERNATE_EXCHANGE || 'integration.inbound.ae';
21
- }
11
+ import { IntegrationEventPublisher } from './integration-event.publisher.js';
12
+ /**
13
+ * @deprecated Use IntegrationEventPublisher
14
+ */
15
+ let IntegrationPublisherService = class IntegrationPublisherService extends IntegrationEventPublisher {
22
16
  /**
23
- * Publica um evento usando defaults padronizados.
24
- * Exemplo de uso:
25
- * await integrationPublisher.publish({ routingKey: 'integration.erp.demo', payload, envelope: { source } })
17
+ * @deprecated Use publish de IntegrationEventPublisher
26
18
  */
27
19
  async publish(opts) {
28
- const ctx = this.logger.getContext();
29
- const exchange = opts.exchange || this.defaultExchange;
30
- const routingKey = opts.routingKey;
31
- const userAgent = opts.req?.headers?.['user-agent'] || 'unknown';
32
- const ip = extractIp(opts.req);
33
- const envelope = {
34
- correlation_id: opts.envelope?.correlation_id || ctx?.correlation_id,
35
- eventType: opts.envelope?.eventType || routingKey,
36
- source: {
37
- ip: opts.envelope?.source?.ip || ip,
38
- user_agent: opts.envelope?.source?.user_agent || userAgent,
39
- },
40
- timestamp: opts.envelope?.timestamp, // será preenchido pelo publisher se faltar
41
- ...opts.envelope,
42
- };
43
- const headers = {
44
- 'x-correlation-id': envelope.correlation_id,
45
- 'x-trace': envelope?.trace || ctx?.trace,
46
- 'x-source': JSON.stringify(envelope.source),
47
- ...(opts.headers || {}),
48
- };
49
- await this.publisher.publish(exchange, routingKey, envelope, (opts.payload || opts.req?.body), {
50
- exchangeType: opts.raw?.exchangeType || this.defaultExchangeType,
51
- assertExchangeOptions: {
52
- durable: true,
53
- alternateExchange: this.defaultAlternateExchange,
54
- ...(opts.raw?.assertExchangeOptions || {}),
55
- },
56
- headers,
57
- persistent: opts.raw?.persistent ?? true,
58
- publishOptions: opts.raw?.publishOptions,
59
- timeoutMs: opts.raw?.timeoutMs,
60
- });
20
+ return super.publish(opts);
61
21
  }
62
22
  };
63
23
  IntegrationPublisherService = __decorate([
64
- Injectable(),
65
- __metadata("design:paramtypes", [RabbitMQPublisherService,
66
- LoggerContextService])
24
+ Injectable()
67
25
  ], IntegrationPublisherService);
68
26
  export { IntegrationPublisherService };
69
- // Helper isolado para evitar replicação de lógica ao extrair IP.
70
- function extractIp(req) {
71
- if (!req)
72
- return '0.0.0.0';
73
- const xfwd = req.headers?.['x-forwarded-for'];
74
- if (typeof xfwd === 'string' && xfwd.length > 0) {
75
- return xfwd.split(',')[0].trim();
76
- }
77
- // Express/Nest usual fields
78
- return (req.ip ||
79
- req.connection?.remoteAddress ||
80
- req.socket?.remoteAddress ||
81
- req.info?.remoteAddress ||
82
- '0.0.0.0');
83
- }
84
27
  //# sourceMappingURL=integration-publisher.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration-publisher.service.js","sourceRoot":"","sources":["../src/integration-publisher.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAuB3E,oEAAoE;AAE7D,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAKtC,YACmB,SAAmC,EACnC,MAA4B;QAD5B,cAAS,GAAT,SAAS,CAA0B;QACnC,WAAM,GAAN,MAAM,CAAsB;QAN9B,oBAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAqB,CAAC;QACzE,wBAAmB,GAAG,OAAO,CAAC;QAC9B,6BAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,wBAAwB,CAAC;IAK5G,CAAC;IAEL;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,IAAyB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAoB,CAAC;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,MAAM,SAAS,GAAI,IAAI,CAAC,GAAW,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;QAC1E,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,GAAU,CAAC,CAAC;QAEtC,MAAM,QAAQ,GAAoB;YAChC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,IAAI,GAAG,EAAE,cAAc;YACpE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,UAAU;YACjD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;gBACnC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,IAAI,SAAS;aAC3D;YACD,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,2CAA2C;YAChF,GAAG,IAAI,CAAC,QAAQ;SACjB,CAAC;QAEF,MAAM,OAAO,GAAwB;YACnC,kBAAkB,EAAE,QAAQ,CAAC,cAAc;YAC3C,SAAS,EAAG,QAAgB,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK;YACjD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAC1B,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,IAAI,CAAC,OAAO,IAAK,IAAI,CAAC,GAAW,EAAE,IAAI,CAAC,EACzC;YACE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,IAAI,IAAI,CAAC,mBAAmB;YAChE,qBAAqB,EAAE;gBACrB,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,IAAI,CAAC,wBAAwB;gBAChD,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,IAAI,EAAE,CAAC;aAC3C;YACD,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,IAAI,IAAI;YACxC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc;YACxC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS;SAC/B,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AA7DY,2BAA2B;IADvC,UAAU,EAAE;qCAOmB,wBAAwB;QAC3B,oBAAoB;GAPpC,2BAA2B,CA6DvC;;AAED,iEAAiE;AACjE,SAAS,SAAS,CAAC,GAAS;IAC1B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,4BAA4B;IAC5B,OAAO,CACL,GAAG,CAAC,EAAE;QACN,GAAG,CAAC,UAAU,EAAE,aAAa;QAC7B,GAAG,CAAC,MAAM,EAAE,aAAa;QACzB,GAAG,CAAC,IAAI,EAAE,aAAa;QACvB,SAAS,CACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"integration-publisher.service.js","sourceRoot":"","sources":["../src/integration-publisher.service.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAwE;AACxE,uEAAuE;AACvE,4CAA4C;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAkC,MAAM,kCAAkC,CAAC;AAE7G;;GAEG;AAEI,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,yBAAyB;IACxE;;OAEG;IACM,KAAK,CAAC,OAAO,CAAC,IAAoC;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAPY,2BAA2B;IADvC,UAAU,EAAE;GACA,2BAA2B,CAOvC"}
@@ -1,5 +1,5 @@
1
1
  import * as amqp from 'amqplib';
2
- import { EnvelopeMessage } from '@cargolift-cdi/types';
2
+ import { EnvelopeMessage, PublishMeta } from '@cargolift-cdi/types';
3
3
  import { LoggerContextService } from '@cargolift-cdi/common';
4
4
  export declare class RabbitMQPublisherService {
5
5
  private readonly logger;
@@ -29,14 +29,6 @@ export declare class RabbitMQPublisherService {
29
29
  timeoutMs?: number;
30
30
  serialize?: (data: any) => Buffer;
31
31
  returnMeta?: boolean;
32
- }): Promise<void | {
33
- correlationId: string;
34
- exchange: string;
35
- routingKey: string;
36
- pattern: string;
37
- sizeBytes: number;
38
- durationMs: number;
39
- confirmedAt: string;
40
- }>;
32
+ }): Promise<void | PublishMeta>;
41
33
  }
42
34
  //# sourceMappingURL=rabbitmq-publisher.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-publisher.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO7D,qBACa,wBAAwB;IACO,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEvF;;;;;;;;;;;;;;OAcG;IACG,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,GAAG,EACZ,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACpD,cAAc,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GACA,OAAO,CAAC,IAAI,GAAG;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CAgHH"}
1
+ {"version":3,"file":"rabbitmq-publisher.service.d.ts","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO7D,qBACa,wBAAwB;IACO,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAEvF;;;;;;;;;;;;;;OAcG;IACG,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,GAAG,EACZ,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACpD,cAAc,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GACA,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;CAgH/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"rabbitmq-publisher.service.js","sourceRoot":"","sources":["../src/rabbitmq-publisher.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rabbitmq-publisher.service.js","sourceRoot":"","sources":["../src/rabbitmq-publisher.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.1.65",
3
+ "version": "0.2.0",
4
4
  "description": "Funções utilitárias para trabalhar com RabbitMQ",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",