@diia-inhouse/diia-queue 13.3.4 → 14.0.11

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.
Files changed (148) hide show
  1. package/dist/constants.js +9 -9
  2. package/dist/index.d.ts +27 -0
  3. package/dist/index.js +23 -21
  4. package/dist/interfaces/deps.d.ts +30 -0
  5. package/dist/interfaces/externalCommunicator.d.ts +58 -0
  6. package/dist/interfaces/index.d.ts +95 -0
  7. package/dist/interfaces/index.js +7 -30
  8. package/dist/interfaces/messageBrokerServiceConfig.d.ts +80 -0
  9. package/dist/interfaces/messageBrokerServiceConfig.js +27 -24
  10. package/dist/interfaces/messageHandler.d.ts +6 -0
  11. package/dist/interfaces/metrics/index.d.ts +23 -0
  12. package/dist/interfaces/metrics/index.js +12 -16
  13. package/dist/interfaces/options.d.ts +52 -0
  14. package/dist/interfaces/providers/rabbitmq/amqpConnection.d.ts +33 -0
  15. package/dist/interfaces/providers/rabbitmq/amqpConnection.js +14 -17
  16. package/dist/interfaces/providers/rabbitmq/amqpPublisher.d.ts +20 -0
  17. package/dist/interfaces/providers/rabbitmq/index.d.ts +107 -0
  18. package/dist/interfaces/providers/rabbitmq/index.js +35 -47
  19. package/dist/interfaces/queueConfig/configs.d.ts +47 -0
  20. package/dist/interfaces/queueConfig/configs.js +8 -9
  21. package/dist/interfaces/queueConfig/index.d.ts +1 -0
  22. package/dist/interfaces/queueContext.d.ts +8 -0
  23. package/dist/interfaces/queueStatus.d.ts +15 -0
  24. package/dist/interfaces/queueStatus.js +8 -9
  25. package/dist/metrics/index.js +5 -8
  26. package/dist/providers/index.d.ts +5 -0
  27. package/dist/providers/index.js +6 -22
  28. package/dist/providers/rabbitmq/amqpAsserter.d.ts +53 -0
  29. package/dist/providers/rabbitmq/amqpAsserter.js +369 -416
  30. package/dist/providers/rabbitmq/amqpConnection.d.ts +24 -0
  31. package/dist/providers/rabbitmq/amqpConnection.js +97 -150
  32. package/dist/providers/rabbitmq/amqpListener.d.ts +47 -0
  33. package/dist/providers/rabbitmq/amqpListener.js +218 -225
  34. package/dist/providers/rabbitmq/amqpPublisher.d.ts +38 -0
  35. package/dist/providers/rabbitmq/amqpPublisher.js +184 -191
  36. package/dist/providers/rabbitmq/index.d.ts +56 -0
  37. package/dist/providers/rabbitmq/index.js +161 -186
  38. package/dist/services/communicator.d.ts +66 -0
  39. package/dist/services/communicator.js +164 -186
  40. package/dist/services/eventBus.d.ts +25 -0
  41. package/dist/services/eventBus.js +45 -57
  42. package/dist/services/eventCommunicator.js +75 -124
  43. package/dist/services/eventMessageHandler.d.ts +27 -0
  44. package/dist/services/eventMessageHandler.js +124 -129
  45. package/dist/services/eventMessageValidator.d.ts +13 -0
  46. package/dist/services/eventMessageValidator.js +59 -44
  47. package/dist/services/externalCommunicator.d.ts +114 -0
  48. package/dist/services/externalCommunicator.js +149 -140
  49. package/dist/services/externalEventBus.d.ts +39 -0
  50. package/dist/services/externalEventBus.js +144 -162
  51. package/dist/services/index.d.ts +8 -0
  52. package/dist/services/index.js +10 -26
  53. package/dist/services/metrics.d.ts +15 -0
  54. package/dist/services/metrics.js +46 -49
  55. package/dist/services/optionsBuilder.d.ts +14 -0
  56. package/dist/services/optionsBuilder.js +43 -58
  57. package/dist/services/queue.d.ts +29 -0
  58. package/dist/services/queue.js +78 -93
  59. package/dist/services/scheduledTask.d.ts +30 -0
  60. package/dist/services/scheduledTask.js +60 -68
  61. package/dist/services/task.d.ts +33 -0
  62. package/dist/services/task.js +160 -176
  63. package/dist/utils.js +7 -11
  64. package/package.json +44 -50
  65. package/dist/constants.js.map +0 -1
  66. package/dist/index.js.map +0 -1
  67. package/dist/interfaces/deps.js +0 -3
  68. package/dist/interfaces/deps.js.map +0 -1
  69. package/dist/interfaces/externalCommunicator.js +0 -3
  70. package/dist/interfaces/externalCommunicator.js.map +0 -1
  71. package/dist/interfaces/index.js.map +0 -1
  72. package/dist/interfaces/messageBrokerServiceConfig.js.map +0 -1
  73. package/dist/interfaces/messageHandler.js +0 -3
  74. package/dist/interfaces/messageHandler.js.map +0 -1
  75. package/dist/interfaces/metrics/index.js.map +0 -1
  76. package/dist/interfaces/options.js +0 -3
  77. package/dist/interfaces/options.js.map +0 -1
  78. package/dist/interfaces/providers/rabbitmq/amqpConnection.js.map +0 -1
  79. package/dist/interfaces/providers/rabbitmq/amqpPublisher.js +0 -4
  80. package/dist/interfaces/providers/rabbitmq/amqpPublisher.js.map +0 -1
  81. package/dist/interfaces/providers/rabbitmq/index.js.map +0 -1
  82. package/dist/interfaces/queueConfig/configs.js.map +0 -1
  83. package/dist/interfaces/queueConfig/index.js +0 -18
  84. package/dist/interfaces/queueConfig/index.js.map +0 -1
  85. package/dist/interfaces/queueContext.js +0 -3
  86. package/dist/interfaces/queueContext.js.map +0 -1
  87. package/dist/interfaces/queueStatus.js.map +0 -1
  88. package/dist/interfaces/services/eventMessageHandler.js +0 -3
  89. package/dist/interfaces/services/eventMessageHandler.js.map +0 -1
  90. package/dist/metrics/index.js.map +0 -1
  91. package/dist/providers/index.js.map +0 -1
  92. package/dist/providers/rabbitmq/amqpAsserter.js.map +0 -1
  93. package/dist/providers/rabbitmq/amqpConnection.js.map +0 -1
  94. package/dist/providers/rabbitmq/amqpListener.js.map +0 -1
  95. package/dist/providers/rabbitmq/amqpPublisher.js.map +0 -1
  96. package/dist/providers/rabbitmq/index.js.map +0 -1
  97. package/dist/services/communicator.js.map +0 -1
  98. package/dist/services/eventBus.js.map +0 -1
  99. package/dist/services/eventCommunicator.js.map +0 -1
  100. package/dist/services/eventMessageHandler.js.map +0 -1
  101. package/dist/services/eventMessageValidator.js.map +0 -1
  102. package/dist/services/externalCommunicator.js.map +0 -1
  103. package/dist/services/externalEventBus.js.map +0 -1
  104. package/dist/services/index.js.map +0 -1
  105. package/dist/services/metrics.js.map +0 -1
  106. package/dist/services/optionsBuilder.js.map +0 -1
  107. package/dist/services/queue.js.map +0 -1
  108. package/dist/services/scheduledTask.js.map +0 -1
  109. package/dist/services/task.js.map +0 -1
  110. package/dist/types/constants.d.ts +0 -8
  111. package/dist/types/index.d.ts +0 -4
  112. package/dist/types/interfaces/deps.d.ts +0 -26
  113. package/dist/types/interfaces/externalCommunicator.d.ts +0 -54
  114. package/dist/types/interfaces/index.d.ts +0 -99
  115. package/dist/types/interfaces/messageBrokerServiceConfig.d.ts +0 -79
  116. package/dist/types/interfaces/messageHandler.d.ts +0 -2
  117. package/dist/types/interfaces/metrics/index.d.ts +0 -20
  118. package/dist/types/interfaces/options.d.ts +0 -49
  119. package/dist/types/interfaces/providers/rabbitmq/amqpConnection.d.ts +0 -29
  120. package/dist/types/interfaces/providers/rabbitmq/amqpPublisher.d.ts +0 -16
  121. package/dist/types/interfaces/providers/rabbitmq/index.d.ts +0 -114
  122. package/dist/types/interfaces/queueConfig/configs.d.ts +0 -47
  123. package/dist/types/interfaces/queueConfig/index.d.ts +0 -1
  124. package/dist/types/interfaces/queueContext.d.ts +0 -4
  125. package/dist/types/interfaces/queueStatus.d.ts +0 -11
  126. package/dist/types/interfaces/services/eventMessageHandler.d.ts +0 -5
  127. package/dist/types/metrics/index.d.ts +0 -3
  128. package/dist/types/providers/index.d.ts +0 -5
  129. package/dist/types/providers/rabbitmq/amqpAsserter.d.ts +0 -49
  130. package/dist/types/providers/rabbitmq/amqpConnection.d.ts +0 -20
  131. package/dist/types/providers/rabbitmq/amqpListener.d.ts +0 -42
  132. package/dist/types/providers/rabbitmq/amqpPublisher.d.ts +0 -34
  133. package/dist/types/providers/rabbitmq/index.d.ts +0 -52
  134. package/dist/types/services/communicator.d.ts +0 -57
  135. package/dist/types/services/eventBus.d.ts +0 -20
  136. package/dist/types/services/eventCommunicator.d.ts +0 -15
  137. package/dist/types/services/eventMessageHandler.d.ts +0 -19
  138. package/dist/types/services/eventMessageValidator.d.ts +0 -9
  139. package/dist/types/services/externalCommunicator.d.ts +0 -110
  140. package/dist/types/services/externalEventBus.d.ts +0 -33
  141. package/dist/types/services/index.d.ts +0 -9
  142. package/dist/types/services/metrics.d.ts +0 -11
  143. package/dist/types/services/optionsBuilder.d.ts +0 -10
  144. package/dist/types/services/queue.d.ts +0 -23
  145. package/dist/types/services/scheduledTask.d.ts +0 -25
  146. package/dist/types/services/task.d.ts +0 -28
  147. package/dist/types/utils.d.ts +0 -3
  148. package/dist/utils.js.map +0 -1
@@ -1,20 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { OnInit } from '@diia-inhouse/types';
3
- import { EventBusListener, EventBusQueue, ExchangeName, MessageBrokerServiceEventsListener, PublishOptions, PublishingResult } from '../interfaces';
4
- import { ExchangeOptions } from '../interfaces/messageBrokerServiceConfig';
5
- import { MessagePayload } from '../interfaces/providers/rabbitmq/amqpPublisher';
6
- import { EventName, QueueName } from '../interfaces/queueConfig';
7
- import { RabbitMQProvider } from '../providers/rabbitmq';
8
- import Communicator from './communicator';
9
- import { EventMessageHandler } from './eventMessageHandler';
10
- export declare class EventBus extends Communicator implements EventBusQueue, OnInit {
11
- private readonly eventListenerList;
12
- private readonly queueName?;
13
- private readonly eventCommunicator;
14
- constructor(queueProvider: RabbitMQProvider, eventListenerList: EventBusListener[], eventMessageHandler: EventMessageHandler, logger: Logger, hostName: string, systemServiceName: string, queueName?: QueueName | undefined);
15
- publish(eventName: EventName, payload: MessagePayload, options?: PublishOptions): Promise<PublishingResult>;
16
- protected getExchangeNameWithSuffix(exchangeName: ExchangeName): string;
17
- protected getUnicastListeners(): MessageBrokerServiceEventsListener[];
18
- protected getProducerExchangesOptions(): ExchangeOptions[];
19
- protected getMulticastListeners(): MessageBrokerServiceEventsListener[];
20
- }
@@ -1,15 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { EventBusListener, EventName, ExchangeOptions, MessageBrokerServiceEventsListener, QueueName, QueueOptions } from '../interfaces';
3
- import { RabbitMQProvider } from '../providers';
4
- import { EventMessageHandler } from './eventMessageHandler';
5
- export declare class EventCommunicator {
6
- private readonly logger;
7
- private readonly queueProvider;
8
- private readonly eventMessageHandler;
9
- protected readonly listenerList: EventBusListener[];
10
- constructor(logger: Logger, queueProvider: RabbitMQProvider, eventMessageHandler: EventMessageHandler, listenerList?: EventBusListener[]);
11
- getMulticastListeners(queuesOptions: QueueOptions[], exchangesOptions: ExchangeOptions[], eventQueueMap?: Map<EventName, QueueName>): MessageBrokerServiceEventsListener[];
12
- getUnicastListeners(): MessageBrokerServiceEventsListener[];
13
- private defineConsumerExchangesOptions;
14
- private defineEventNamesByQueueName;
15
- }
@@ -1,19 +0,0 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- import Logger from '@diia-inhouse/diia-logger';
3
- import { EventBusListener, EventListeners, QueueContext, QueueMessage, TaskListener } from '../interfaces';
4
- import { EventMessageValidator } from './eventMessageValidator';
5
- export declare class EventMessageHandler {
6
- private readonly eventMessageValidator;
7
- private readonly asyncLocalStorage;
8
- private readonly logger;
9
- private readonly noRequeueNackOptions;
10
- constructor(eventMessageValidator: EventMessageValidator, asyncLocalStorage: AsyncLocalStorage<QueueContext>, logger: Logger);
11
- eventListenersMessageHandler(this: this, eventListeners: EventListeners, message: QueueMessage | null): Promise<void>;
12
- eventListenerMessageHandler(listener: EventBusListener | TaskListener | undefined, message: QueueMessage): Promise<void>;
13
- private prepareAsyncContext;
14
- private handleMessage;
15
- private validateData;
16
- private directReplyDone;
17
- private getServiceCode;
18
- private prepareQueueMessageError;
19
- }
@@ -1,9 +0,0 @@
1
- import { AppValidator, ValidationSchema } from '@diia-inhouse/validators';
2
- import { QueueMessageData } from '../interfaces/providers/rabbitmq';
3
- export declare class EventMessageValidator {
4
- private readonly validator;
5
- readonly metaValidationSchema: ValidationSchema;
6
- constructor(validator: AppValidator);
7
- validateEventMessage(data: QueueMessageData, payloadValidationSchema?: ValidationSchema): void | never;
8
- validateSyncedEventMessage(data: QueueMessageData, responseValidationSchema?: ValidationSchema): void | never;
9
- }
@@ -1,110 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { ExternalEventBusQueue } from '../interfaces';
3
- import { ReceiveDirectOps } from '../interfaces/externalCommunicator';
4
- import { EventMessageValidator } from './eventMessageValidator';
5
- export declare class ExternalCommunicator {
6
- private readonly externalEventBus;
7
- private readonly eventMessageValidator;
8
- private readonly logger;
9
- constructor(externalEventBus: ExternalEventBusQueue, eventMessageValidator: EventMessageValidator, logger: Logger);
10
- /**
11
- * Synchronous request/response over the external event bus.
12
- *
13
- * Publishes `event` to the configured external exchange wrapped as
14
- * `{ uuid, request }` and awaits the subscriber's response on the same call.
15
- * The response envelope is validated against `ops.validationRules`, and any embedded error is rethrown as
16
- * {@link ExternalCommunicatorError}.
17
- *
18
- * Use this when the caller needs the response inline (e.g. a user-facing
19
- * request that must block on `AGateway`). For fire-and-forget or fan-out
20
- * flows, use the `default` publish + listener pattern instead.
21
- *
22
- * ### Transport
23
- *
24
- * Implemented on top of RabbitMQ's
25
- * [direct reply-to](https://www.rabbitmq.com/docs/direct-reply-to)
26
- * feature: the publisher consumes the pseudo-queue
27
- * `amq.rabbitmq.reply-to` and stamps each request with `replyTo` +
28
- * `correlationId`. The subscriber publishes its response back to that
29
- * `replyTo` on the default exchange, and this call resolves when the
30
- * matching `correlationId` arrives. No reply queue is declared per
31
- * request, so there is no per-call broker setup overhead.
32
- *
33
- * ### Response contract
34
- *
35
- * The subscriber must respond with an
36
- * {@link ExternalCommunicatorResponse} envelope:
37
- *
38
- * ```ts
39
- * { uuid: string, response: T, error?: { http_code, message?, data? } }
40
- * ```
41
- *
42
- * On success this method returns **only the `response` field** typed as
43
- * `T` — the wrapping `uuid` and the envelope itself are not exposed to
44
- * the caller. Therefore `T` should describe the shape of `response`, not
45
- * of the full envelope.
46
- *
47
- * ### Error contract
48
- *
49
- * Errors travel through the same envelope (`error` field on the
50
- * subscriber's response — this is **not** a transport-level failure),
51
- * but on the caller side they are surfaced as a thrown
52
- * {@link ExternalCommunicatorError} instead of being returned. The
53
- * envelope's `error` payload is mapped onto the exception so no data is
54
- * lost:
55
- *
56
- * - `error.message` → `Error.message` (falls back to `'unknown error'`
57
- * when missing).
58
- * - `error.http_code` → exception's status code (read via `getCode()`).
59
- * - `error.data` → exception's data bag (read via `getData()`), spread
60
- * alongside `event` (the event name) and `httpCode` (a duplicate of
61
- * the status code, kept on `data` for downstream consumers).
62
- *
63
- * Callers that need to inspect the original status or payload should
64
- * `catch` the error and read those fields:
65
- *
66
- * ```ts
67
- * try {
68
- * await externalCommunicator.receiveDirect<T>(event, req, ops)
69
- * } catch (err) {
70
- * if (err instanceof ExternalCommunicatorError) {
71
- * err.getCode() // original error.http_code
72
- * err.getData() // { event, httpCode, ...error.data }
73
- * err.message // error.message || 'unknown error'
74
- * }
75
- * throw err
76
- * }
77
- * ```
78
- *
79
- * @typeParam T - shape of the successful `response` payload returned by the subscriber.
80
- * @param event - external event name. Must be declared in
81
- * `serviceRulesConfig.topicsConfig[QueueConfigType.External][topicName].events[]`
82
- * so the event resolves to an exchange (or pass `ops.exchangeName`
83
- * to override the lookup).
84
- * @param request - payload forwarded to the subscriber. Defaults to `{}`.
85
- * @param ops - direct-call options. See {@link ReceiveDirectOps}.
86
- * @returns the subscriber's `response` field, typed as `T`. The envelope's
87
- * `uuid` and `error` fields are not returned.
88
- *
89
- * @throws {ExternalCommunicatorError} when the subscriber responds with an
90
- * `error` envelope. The original `http_code`, `message`, and `data`
91
- * fields are preserved on the thrown error.
92
- * @throws {Error} `'Message in a wrong format was received from a direct channel'`
93
- * when `validationRules` are provided and the response fails validation.
94
- *
95
- * @example
96
- * ```ts
97
- * const result = await externalCommunicator.receiveDirect<{ data: string }>(
98
- * 'notary.lookup',
99
- * { notaryCertificateNumber: '1234', requestId: '-0' },
100
- * {
101
- * // Describes the inner `response` only; the envelope (uuid,
102
- * // error, meta, ...) is wrapped by the validator.
103
- * validationRules: { data: { type: 'string' } },
104
- * timeout: DurationMs.Second * 5,
105
- * },
106
- * )
107
- * ```
108
- */
109
- receiveDirect<T>(event: string, request: unknown | undefined, ops: ReceiveDirectOps): Promise<T>;
110
- }
@@ -1,33 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { EnvService } from '@diia-inhouse/env';
3
- import { OnInit } from '@diia-inhouse/types';
4
- import { EventBusListener, ExternalEventBusQueue, MessageBrokerServiceEventsListener, MessagePayload, PublishDirectOptions, PublishOptions, PublishingResult } from '../interfaces';
5
- import { ExchangeName, ExchangeOptions } from '../interfaces/messageBrokerServiceConfig';
6
- import { EventName } from '../interfaces/queueConfig';
7
- import { RabbitMQProvider } from '../providers/rabbitmq';
8
- import Communicator from './communicator';
9
- import { EventMessageHandler } from './eventMessageHandler';
10
- export declare class ExternalEventBus extends Communicator implements ExternalEventBusQueue, OnInit {
11
- private readonly envService;
12
- private readonly eventCommunicator;
13
- private readonly publishEventsSet;
14
- private readonly subscribeEventsSet;
15
- private readonly exchangePrefixName;
16
- private readonly eventQueueMap;
17
- constructor(logger: Logger, systemServiceName: string, envService: EnvService, queueProvider: RabbitMQProvider, externalEventListenerList: EventBusListener[], eventMessageHandler: EventMessageHandler, hostName: string);
18
- static BuildRequestRoutingKey(eventName: string): string;
19
- static BuildResponseRoutingKey(eventName: EventName, portalEvents?: string[]): string;
20
- private static prepareQueuePrefix;
21
- publish(eventName: EventName, payload: MessagePayload, options?: PublishOptions): Promise<PublishingResult>;
22
- publishDirect<T>(eventName: EventName, payload: MessagePayload, options?: PublishDirectOptions): Promise<T>;
23
- protected getUnicastListeners(): MessageBrokerServiceEventsListener[];
24
- protected getExchangeNameWithSuffix(topic: ExchangeName): string;
25
- protected getProducerExchangesOptions(): ExchangeOptions[];
26
- protected getMulticastListeners(): MessageBrokerServiceEventsListener[];
27
- private getPublishMessage;
28
- private getPublishRoutingKey;
29
- private defineQueuesAndExchangesOptionsBasedOnGlobalConfig;
30
- private buildEventQueueMap;
31
- private buildResponseQueueName;
32
- private buildRequestQueueName;
33
- }
@@ -1,9 +0,0 @@
1
- export * from './eventBus';
2
- export * from './eventMessageHandler';
3
- export * from './eventMessageValidator';
4
- export * from './externalCommunicator';
5
- export * from './externalEventBus';
6
- export * from './scheduledTask';
7
- export * from './task';
8
- export * from './queue';
9
- export * from './metrics';
@@ -1,11 +0,0 @@
1
- import { MetricsService } from '@diia-inhouse/diia-metrics';
2
- import { ErrorType } from '@diia-inhouse/errors';
3
- import { CommunicationDirection } from '../interfaces/metrics';
4
- export default class RabbitMQMetricsService {
5
- private metrics;
6
- private readonly communicationsTotalMetric;
7
- constructor(metrics: MetricsService);
8
- collectResponseTotalMetric(startTime: bigint, route: string, source: string, destination: string, errorType?: ErrorType): void | never;
9
- collectCommunicationsTotalMetric(event: string, source: string, destination: string, direction: CommunicationDirection, queue?: string): void;
10
- collectRequestTotalMetric(startTime: bigint, route: string, source: string, destination: string, errorType?: ErrorType): void;
11
- }
@@ -1,10 +0,0 @@
1
- import { ConsumerOptions, ExchangeName, QueueOptions } from '../interfaces/messageBrokerServiceConfig';
2
- import { QueueName } from '../interfaces/queueConfig';
3
- import { RabbitMQProvider } from '../providers/rabbitmq';
4
- export default class OptionsBuilder {
5
- private readonly queueProvider;
6
- constructor(queueProvider: RabbitMQProvider);
7
- defineQueueOptionsBasedOnGlobalConfig(queueName?: QueueName, routingKey?: string): QueueOptions[];
8
- defineConsumerOptionsBasedOnGlobalConfig(): ConsumerOptions;
9
- getExchangeNamesByQueueName(queueName?: QueueName): ExchangeName[];
10
- }
@@ -1,23 +0,0 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- import Logger from '@diia-inhouse/diia-logger';
3
- import { MetricsService } from '@diia-inhouse/diia-metrics';
4
- import { HealthCheckResult, OnHealthCheck } from '@diia-inhouse/types';
5
- import { MessageBrokerExternalServiceType, MessageBrokerInternalServiceType, QueueConnectionConfig, QueueContext } from '../interfaces';
6
- import { QueueStatus } from '../interfaces/queueStatus';
7
- import { RabbitMQProvider } from '../providers/rabbitmq';
8
- export declare class Queue implements OnHealthCheck {
9
- private readonly systemServiceName;
10
- private readonly metrics;
11
- private readonly connectionConfig;
12
- private readonly asyncLocalStorage;
13
- private readonly logger;
14
- private readonly internalRabbitMQProvidersMap;
15
- private readonly externalRabbitMQProvidersMap;
16
- constructor(systemServiceName: string, metrics: MetricsService, connectionConfig: QueueConnectionConfig, asyncLocalStorage: AsyncLocalStorage<QueueContext>, logger: Logger);
17
- onHealthCheck(): Promise<HealthCheckResult<QueueStatus>>;
18
- makeInternalRabbitMQProvider(serviceType: MessageBrokerInternalServiceType): RabbitMQProvider;
19
- makeExternalRabbitMQProvider(serviceType: MessageBrokerExternalServiceType): RabbitMQProvider;
20
- private getProvidersStatus;
21
- private getProvidersStatusDetails;
22
- private getMessageBrokerServiceConfig;
23
- }
@@ -1,25 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { OnInit } from '@diia-inhouse/types';
3
- import { EventBusListener, ExchangeName, MessageBrokerServiceEventsListener, PublishingResult, ScheduledTasksQueue } from '../interfaces';
4
- import { ExchangeOptions } from '../interfaces/messageBrokerServiceConfig';
5
- import { QueueName } from '../interfaces/queueConfig';
6
- import { RabbitMQProvider } from '../providers/rabbitmq';
7
- import Communicator from './communicator';
8
- import { EventMessageHandler } from './eventMessageHandler';
9
- /**
10
- * @deprecated use pkg-workflow entities instead
11
- */
12
- export declare class ScheduledTask extends Communicator implements ScheduledTasksQueue, OnInit {
13
- private readonly serviceName;
14
- protected readonly scheduledTaskList: EventBusListener[];
15
- private readonly queueName?;
16
- private readonly eventCommunicator;
17
- private readonly eventRoutingPart;
18
- constructor(serviceName: string, systemServiceName: string, queueProvider: RabbitMQProvider, scheduledTaskList: EventBusListener[], eventMessageHandler: EventMessageHandler, logger: Logger, hostName: string, queueName?: QueueName | undefined);
19
- publish(eventName: string, serviceName: string): Promise<PublishingResult>;
20
- protected getExchangeNameWithSuffix(exchangeName: ExchangeName): string;
21
- protected getUnicastListeners(): MessageBrokerServiceEventsListener[];
22
- protected getMulticastListeners(): MessageBrokerServiceEventsListener[];
23
- protected getProducerExchangesOptions(): ExchangeOptions[];
24
- private getRoutingKey;
25
- }
@@ -1,28 +0,0 @@
1
- import Logger from '@diia-inhouse/diia-logger';
2
- import { OnInit } from '@diia-inhouse/types';
3
- import { MessageBrokerServiceListener, MessagePayload, PublishingResult, TaskListener, TaskQueue } from '../interfaces';
4
- import { ExchangeOptions } from '../interfaces/messageBrokerServiceConfig';
5
- import { RabbitMQProvider } from '../providers/rabbitmq';
6
- import Communicator from './communicator';
7
- import { EventMessageHandler } from './eventMessageHandler';
8
- export declare class Task extends Communicator implements TaskQueue, OnInit {
9
- private readonly serviceName;
10
- private readonly taskList;
11
- private readonly eventMessageHandler;
12
- private queueNamePrefix;
13
- private taskNameExchangesOptionsMap;
14
- constructor(serviceName: string, systemServiceName: string, queueProvider: RabbitMQProvider, taskList: TaskListener[], eventMessageHandler: EventMessageHandler, logger: Logger, hostName: string);
15
- onInit(): Promise<void>;
16
- publish(taskName: string, payload: MessagePayload, delay?: number): Promise<PublishingResult>;
17
- protected getProducerExchangesOptions(): ExchangeOptions[];
18
- protected getMulticastListeners(): MessageBrokerServiceListener[];
19
- protected getUnicastListeners(): MessageBrokerServiceListener[];
20
- protected getExchangeNameWithSuffix(taskName: string): string;
21
- private defineExchangesOptions;
22
- private defineQueueOptionsBasedOnGlobalConfig;
23
- private defineExchangesOptionsBasedOnGlobalConfig;
24
- private defineConsumerOptionsBasedOnGlobalConfig;
25
- private getQueueName;
26
- private capitalizeFirstLetter;
27
- private defineQueueNameByTaskName;
28
- }
@@ -1,3 +0,0 @@
1
- import { EventBusListener, EventListeners } from './interfaces';
2
- export declare function collectEventBusListeners(eventBusListeners: EventBusListener[]): EventListeners;
3
- export declare function getConsumerTag(serviceName: string, hostname: string): string;
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAEA,4DAQC;AAED,wCAEC;AAZD,SAAgB,wBAAwB,CAAC,iBAAqC;IAC1E,MAAM,cAAc,GAAmB,EAAE,CAAA;IAEzC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACvC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAA;IAC7C,CAAC;IAED,OAAO,cAAc,CAAA;AACzB,CAAC;AAED,SAAgB,cAAc,CAAC,WAAmB,EAAE,QAAgB;IAChE,OAAO,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAA;AACvC,CAAC"}