@diia-inhouse/diia-queue 7.3.0 → 13.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/LICENCE.md +59 -59
- package/dist/constants.js +3 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.js +12 -9
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/messageBrokerServiceConfig.js +26 -0
- package/dist/interfaces/messageBrokerServiceConfig.js.map +1 -0
- package/dist/interfaces/messageHandler.js +3 -0
- package/dist/interfaces/messageHandler.js.map +1 -0
- package/dist/interfaces/metrics/index.js +14 -0
- package/dist/interfaces/metrics/index.js.map +1 -1
- package/dist/interfaces/{providers/rabbitmq/amqpListener.js → options.js} +1 -1
- package/dist/interfaces/options.js.map +1 -0
- package/dist/interfaces/providers/rabbitmq/amqpConnection.js +4 -1
- package/dist/interfaces/providers/rabbitmq/amqpConnection.js.map +1 -1
- package/dist/interfaces/providers/rabbitmq/amqpPublisher.js +1 -9
- package/dist/interfaces/providers/rabbitmq/amqpPublisher.js.map +1 -1
- package/dist/interfaces/providers/rabbitmq/index.js +41 -17
- package/dist/interfaces/providers/rabbitmq/index.js.map +1 -1
- package/dist/interfaces/queueContext.js +3 -0
- package/dist/interfaces/queueContext.js.map +1 -0
- package/dist/interfaces/queueStatus.js +6 -0
- package/dist/interfaces/queueStatus.js.map +1 -1
- package/dist/interfaces/services/eventMessageHandler.js +3 -0
- package/dist/interfaces/services/eventMessageHandler.js.map +1 -0
- package/dist/metrics/index.js +1 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/providers/index.js +22 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/rabbitmq/amqpAsserter.js +417 -0
- package/dist/providers/rabbitmq/amqpAsserter.js.map +1 -0
- package/dist/providers/rabbitmq/amqpConnection.js +47 -25
- package/dist/providers/rabbitmq/amqpConnection.js.map +1 -1
- package/dist/providers/rabbitmq/amqpListener.js +167 -113
- package/dist/providers/rabbitmq/amqpListener.js.map +1 -1
- package/dist/providers/rabbitmq/amqpPublisher.js +147 -96
- package/dist/providers/rabbitmq/amqpPublisher.js.map +1 -1
- package/dist/providers/rabbitmq/index.js +106 -286
- package/dist/providers/rabbitmq/index.js.map +1 -1
- package/dist/services/communicator.js +187 -0
- package/dist/services/communicator.js.map +1 -0
- package/dist/services/eventBus.js +41 -46
- package/dist/services/eventBus.js.map +1 -1
- package/dist/services/eventCommunicator.js +125 -0
- package/dist/services/eventCommunicator.js.map +1 -0
- package/dist/services/eventMessageHandler.js +75 -91
- package/dist/services/eventMessageHandler.js.map +1 -1
- package/dist/services/eventMessageValidator.js.map +1 -1
- package/dist/services/externalCommunicator.js +11 -104
- package/dist/services/externalCommunicator.js.map +1 -1
- package/dist/services/externalEventBus.js +147 -55
- package/dist/services/externalEventBus.js.map +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/index.js.map +1 -1
- package/dist/services/metrics.js +49 -0
- package/dist/services/metrics.js.map +1 -0
- package/dist/services/optionsBuilder.js +59 -0
- package/dist/services/optionsBuilder.js.map +1 -0
- package/dist/services/queue.js +63 -26
- package/dist/services/queue.js.map +1 -1
- package/dist/services/scheduledTask.js +52 -48
- package/dist/services/scheduledTask.js.map +1 -1
- package/dist/services/task.js +149 -28
- package/dist/services/task.js.map +1 -1
- package/dist/types/constants.d.ts +3 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/interfaces/deps.d.ts +11 -2
- package/dist/types/interfaces/externalCommunicator.d.ts +5 -12
- package/dist/types/interfaces/index.d.ts +70 -60
- package/dist/types/interfaces/messageBrokerServiceConfig.d.ts +79 -0
- package/dist/types/interfaces/messageHandler.d.ts +2 -0
- package/dist/types/interfaces/metrics/index.d.ts +13 -0
- package/dist/types/interfaces/options.d.ts +50 -0
- package/dist/types/interfaces/providers/rabbitmq/amqpConnection.d.ts +3 -0
- package/dist/types/interfaces/providers/rabbitmq/amqpPublisher.d.ts +9 -17
- package/dist/types/interfaces/providers/rabbitmq/index.d.ts +72 -8
- package/dist/types/interfaces/queueConfig/configs.d.ts +19 -11
- package/dist/types/interfaces/queueContext.d.ts +4 -0
- package/dist/types/interfaces/queueStatus.d.ts +7 -2
- package/dist/types/interfaces/services/eventMessageHandler.d.ts +5 -0
- package/dist/types/metrics/index.d.ts +1 -2
- package/dist/types/providers/index.d.ts +5 -0
- package/dist/types/providers/rabbitmq/amqpAsserter.d.ts +49 -0
- package/dist/types/providers/rabbitmq/amqpConnection.d.ts +3 -7
- package/dist/types/providers/rabbitmq/amqpListener.d.ts +27 -11
- package/dist/types/providers/rabbitmq/amqpPublisher.d.ts +26 -17
- package/dist/types/providers/rabbitmq/index.d.ts +35 -38
- package/dist/types/services/communicator.d.ts +57 -0
- package/dist/types/services/eventBus.d.ts +16 -12
- package/dist/types/services/eventCommunicator.d.ts +15 -0
- package/dist/types/services/eventMessageHandler.d.ts +9 -11
- package/dist/types/services/eventMessageValidator.d.ts +1 -1
- package/dist/types/services/externalCommunicator.d.ts +6 -19
- package/dist/types/services/externalEventBus.d.ts +28 -13
- package/dist/types/services/index.d.ts +1 -1
- package/dist/types/services/metrics.d.ts +11 -0
- package/dist/types/services/optionsBuilder.d.ts +10 -0
- package/dist/types/services/queue.d.ts +14 -9
- package/dist/types/services/scheduledTask.d.ts +22 -14
- package/dist/types/services/task.d.ts +21 -11
- package/dist/types/utils.d.ts +2 -2
- package/dist/utils.js +5 -2
- package/dist/utils.js.map +1 -1
- package/package.json +38 -47
- package/dist/interfaces/providers/rabbitmq/amqpListener.js.map +0 -1
- package/dist/services/externalCommunicatorChannel.js +0 -31
- package/dist/services/externalCommunicatorChannel.js.map +0 -1
- package/dist/types/interfaces/providers/rabbitmq/amqpListener.d.ts +0 -7
- package/dist/types/services/externalCommunicatorChannel.d.ts +0 -11
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ReceiveDirectOps, ReceiveOps } from '../interfaces/externalCommunicator';
|
|
5
|
-
import { EventName } from '../interfaces/queueConfig';
|
|
1
|
+
import Logger from '@diia-inhouse/diia-logger';
|
|
2
|
+
import { ExternalEventBusQueue } from '../interfaces';
|
|
3
|
+
import { ReceiveDirectOps } from '../interfaces/externalCommunicator';
|
|
6
4
|
import { EventMessageValidator } from './eventMessageValidator';
|
|
7
|
-
|
|
8
|
-
export declare class ExternalCommunicator implements OnRegistrationsFinished {
|
|
9
|
-
private readonly externalChannel;
|
|
5
|
+
export declare class ExternalCommunicator {
|
|
10
6
|
private readonly externalEventBus;
|
|
11
|
-
private readonly externalEventListenerList;
|
|
12
7
|
private readonly eventMessageValidator;
|
|
13
8
|
private readonly logger;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
private eventListeners;
|
|
17
|
-
constructor(externalChannel: ExternalCommunicatorChannel, externalEventBus: ExternalEventBusQueue, externalEventListenerList: EventBusListener[], eventMessageValidator: EventMessageValidator, logger: Logger, pubsub: PubSubService, timeout?: number);
|
|
18
|
-
onRegistrationsFinished(): void;
|
|
19
|
-
receiveDirect<T>(event: string, request?: unknown, ops?: ReceiveDirectOps): Promise<T>;
|
|
20
|
-
/**
|
|
21
|
-
* @deprecated use receiveDirect in case provider supports direct communcation
|
|
22
|
-
*/
|
|
23
|
-
receive<T>(event: EventName, request?: unknown, ops?: ReceiveOps): Promise<T | undefined>;
|
|
9
|
+
constructor(externalEventBus: ExternalEventBusQueue, eventMessageValidator: EventMessageValidator, logger: Logger);
|
|
10
|
+
receiveDirect<T>(event: string, request: unknown | undefined, ops: ReceiveDirectOps): Promise<T>;
|
|
24
11
|
}
|
|
@@ -1,18 +1,33 @@
|
|
|
1
|
+
import Logger from '@diia-inhouse/diia-logger';
|
|
1
2
|
import { EnvService } from '@diia-inhouse/env';
|
|
2
|
-
import {
|
|
3
|
-
import { EventBusListener, ExternalEventBusQueue,
|
|
4
|
-
import {
|
|
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';
|
|
5
7
|
import { RabbitMQProvider } from '../providers/rabbitmq';
|
|
8
|
+
import Communicator from './communicator';
|
|
6
9
|
import { EventMessageHandler } from './eventMessageHandler';
|
|
7
|
-
export declare class ExternalEventBus implements ExternalEventBusQueue, OnInit {
|
|
8
|
-
private readonly queueProvider;
|
|
9
|
-
private readonly externalEventListenerList;
|
|
10
|
-
private readonly eventMessageHandler;
|
|
10
|
+
export declare class ExternalEventBus extends Communicator implements ExternalEventBusQueue, OnInit {
|
|
11
11
|
private readonly envService;
|
|
12
|
-
private readonly
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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;
|
|
18
33
|
}
|
|
@@ -2,8 +2,8 @@ export * from './eventBus';
|
|
|
2
2
|
export * from './eventMessageHandler';
|
|
3
3
|
export * from './eventMessageValidator';
|
|
4
4
|
export * from './externalCommunicator';
|
|
5
|
-
export * from './externalCommunicatorChannel';
|
|
6
5
|
export * from './externalEventBus';
|
|
7
6
|
export * from './scheduledTask';
|
|
8
7
|
export * from './task';
|
|
9
8
|
export * from './queue';
|
|
9
|
+
export * from './metrics';
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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,18 +1,23 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
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';
|
|
5
6
|
import { QueueStatus } from '../interfaces/queueStatus';
|
|
6
7
|
import { RabbitMQProvider } from '../providers/rabbitmq';
|
|
7
8
|
export declare class Queue implements OnHealthCheck {
|
|
8
|
-
private readonly
|
|
9
|
+
private readonly systemServiceName;
|
|
10
|
+
private readonly metrics;
|
|
9
11
|
private readonly connectionConfig;
|
|
10
12
|
private readonly asyncLocalStorage;
|
|
11
13
|
private readonly logger;
|
|
12
|
-
private
|
|
13
|
-
private
|
|
14
|
-
constructor(
|
|
14
|
+
private readonly internalRabbitMQProvidersMap;
|
|
15
|
+
private readonly externalRabbitMQProvidersMap;
|
|
16
|
+
constructor(systemServiceName: string, metrics: MetricsService, connectionConfig: QueueConnectionConfig, asyncLocalStorage: AsyncLocalStorage<QueueContext>, logger: Logger);
|
|
15
17
|
onHealthCheck(): Promise<HealthCheckResult<QueueStatus>>;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
makeInternalRabbitMQProvider(serviceType: MessageBrokerInternalServiceType): RabbitMQProvider;
|
|
19
|
+
makeExternalRabbitMQProvider(serviceType: MessageBrokerExternalServiceType): RabbitMQProvider;
|
|
20
|
+
private getProvidersStatus;
|
|
21
|
+
private getProvidersStatusDetails;
|
|
22
|
+
private getMessageBrokerServiceConfig;
|
|
18
23
|
}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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';
|
|
4
6
|
import { RabbitMQProvider } from '../providers/rabbitmq';
|
|
7
|
+
import Communicator from './communicator';
|
|
5
8
|
import { EventMessageHandler } from './eventMessageHandler';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
private readonly
|
|
11
|
-
|
|
12
|
-
private readonly
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
publish(
|
|
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;
|
|
17
25
|
}
|
|
@@ -1,18 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
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';
|
|
3
5
|
import { RabbitMQProvider } from '../providers/rabbitmq';
|
|
6
|
+
import Communicator from './communicator';
|
|
4
7
|
import { EventMessageHandler } from './eventMessageHandler';
|
|
5
|
-
export declare class Task implements TaskQueue, OnInit {
|
|
6
|
-
private readonly
|
|
8
|
+
export declare class Task extends Communicator implements TaskQueue, OnInit {
|
|
9
|
+
private readonly serviceName;
|
|
7
10
|
private readonly taskList;
|
|
8
11
|
private readonly eventMessageHandler;
|
|
9
|
-
private
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
private queueNamePrefix;
|
|
13
|
+
private taskNameExchangesOptionsMap;
|
|
14
|
+
constructor(serviceName: string, systemServiceName: string, queueProvider: RabbitMQProvider, taskList: TaskListener[], eventMessageHandler: EventMessageHandler, logger: Logger, hostName: string);
|
|
12
15
|
onInit(): Promise<void>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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;
|
|
17
26
|
private capitalizeFirstLetter;
|
|
27
|
+
private defineQueueNameByTaskName;
|
|
18
28
|
}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { EventBusListener } from './interfaces';
|
|
2
|
-
import { EventListeners } from './interfaces/externalCommunicator';
|
|
1
|
+
import { EventBusListener, EventListeners } from './interfaces';
|
|
3
2
|
export declare function collectEventBusListeners(eventBusListeners: EventBusListener[]): EventListeners;
|
|
3
|
+
export declare function getConsumerTag(serviceName: string, hostname: string): string;
|
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.collectEventBusListeners =
|
|
3
|
+
exports.collectEventBusListeners = collectEventBusListeners;
|
|
4
|
+
exports.getConsumerTag = getConsumerTag;
|
|
4
5
|
function collectEventBusListeners(eventBusListeners) {
|
|
5
6
|
const eventListeners = {};
|
|
6
7
|
for (const listener of eventBusListeners) {
|
|
@@ -8,5 +9,7 @@ function collectEventBusListeners(eventBusListeners) {
|
|
|
8
9
|
}
|
|
9
10
|
return eventListeners;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
+
function getConsumerTag(serviceName, hostname) {
|
|
13
|
+
return `${serviceName}:${hostname}`;
|
|
14
|
+
}
|
|
12
15
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diia-inhouse/diia-queue",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.2.0",
|
|
4
4
|
"description": "Package provide queue functionality",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -8,65 +8,64 @@
|
|
|
8
8
|
"author": "Diia",
|
|
9
9
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
10
10
|
"engines": {
|
|
11
|
-
"node": ">=
|
|
11
|
+
"node": ">=22"
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "rimraf dist/ && tsc",
|
|
18
|
-
"
|
|
19
|
-
"lint": "eslint
|
|
20
|
-
"lint-fix": "eslint
|
|
18
|
+
"build-watch": "tsc --watch",
|
|
19
|
+
"lint": "eslint . && prettier --check .",
|
|
20
|
+
"lint-fix": "eslint . --fix && prettier --write .",
|
|
21
21
|
"lint:lockfile": "lockfile-lint --path package-lock.json --allowed-hosts registry.npmjs.org --validate-https",
|
|
22
22
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
23
23
|
"prepare": "npm run build",
|
|
24
24
|
"semantic-release": "semantic-release",
|
|
25
|
-
"test": "
|
|
26
|
-
"test:
|
|
27
|
-
"test:unit": "npm run test --selectProjects unit --",
|
|
28
|
-
"test:coverage": "npm run test --selectProjects unit --coverage",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"test:watch": "vitest watch",
|
|
29
27
|
"find-circulars": "madge --circular --extensions ts ./"
|
|
30
28
|
},
|
|
31
29
|
"dependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"p-timeout": "4.1.0",
|
|
37
|
-
"uuid": "9.0.1"
|
|
30
|
+
"@types/amqplib": "0.10.8",
|
|
31
|
+
"amqplib": "0.10.9",
|
|
32
|
+
"lodash": "4.17.23",
|
|
33
|
+
"p-timeout": "4.1.0"
|
|
38
34
|
},
|
|
39
35
|
"peerDependencies": {
|
|
40
|
-
"@diia-inhouse/diia-
|
|
36
|
+
"@diia-inhouse/diia-logger": ">=3.1.0",
|
|
37
|
+
"@diia-inhouse/diia-metrics": ">=5.0.0",
|
|
38
|
+
"@diia-inhouse/env": ">=2.0.0",
|
|
41
39
|
"@diia-inhouse/errors": ">=1.4.0",
|
|
42
|
-
"@diia-inhouse/
|
|
43
|
-
"@diia-inhouse/types": ">=5.0.0",
|
|
40
|
+
"@diia-inhouse/types": ">=6.30.0",
|
|
44
41
|
"@diia-inhouse/utils": ">=2.21.0",
|
|
45
42
|
"@diia-inhouse/validators": ">=1.5.0",
|
|
46
43
|
"@opentelemetry/api": ">=1.7.0"
|
|
47
44
|
},
|
|
48
45
|
"devDependencies": {
|
|
49
|
-
"@diia-inhouse/configs": "1.
|
|
50
|
-
"@diia-inhouse/
|
|
51
|
-
"@diia-inhouse/diia-
|
|
52
|
-
"@diia-inhouse/
|
|
53
|
-
"@diia-inhouse/
|
|
54
|
-
"@diia-inhouse/eslint-
|
|
55
|
-
"@diia-inhouse/
|
|
56
|
-
"@diia-inhouse/
|
|
57
|
-
"@diia-inhouse/
|
|
58
|
-
"@diia-inhouse/
|
|
59
|
-
"@
|
|
60
|
-
"@
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
46
|
+
"@diia-inhouse/configs": "6.1.1",
|
|
47
|
+
"@diia-inhouse/diia-logger": "3.16.0",
|
|
48
|
+
"@diia-inhouse/diia-metrics": "6.4.0",
|
|
49
|
+
"@diia-inhouse/errors": "1.17.0",
|
|
50
|
+
"@diia-inhouse/eslint-config": "8.3.0",
|
|
51
|
+
"@diia-inhouse/eslint-plugin": "1.9.5",
|
|
52
|
+
"@diia-inhouse/test": "7.2.0",
|
|
53
|
+
"@diia-inhouse/types": "11.3.0",
|
|
54
|
+
"@diia-inhouse/utils": "5.3.0",
|
|
55
|
+
"@diia-inhouse/validators": "1.28.0",
|
|
56
|
+
"@opentelemetry/api": "1.9.0",
|
|
57
|
+
"@types/lodash": "4.17.24",
|
|
58
|
+
"@types/node": "24.11.0",
|
|
59
|
+
"@vitest/coverage-v8": "4.0.18",
|
|
60
|
+
"@vitest/ui": "4.0.18",
|
|
61
|
+
"lockfile-lint": "4.14.1",
|
|
62
|
+
"madge": "8.0.0",
|
|
63
|
+
"prettier": "3.8.1",
|
|
64
|
+
"rimraf": "6.1.3",
|
|
65
|
+
"type-fest": "4.41.0",
|
|
66
|
+
"vite-tsconfig-paths": "6.1.1",
|
|
67
|
+
"vitest": "4.0.18",
|
|
68
|
+
"vitest-mock-extended": "3.1.0"
|
|
70
69
|
},
|
|
71
70
|
"release": {
|
|
72
71
|
"extends": "@diia-inhouse/configs/dist/semantic-release/package"
|
|
@@ -76,11 +75,6 @@
|
|
|
76
75
|
},
|
|
77
76
|
"eslintConfig": {
|
|
78
77
|
"extends": "@diia-inhouse/eslint-config",
|
|
79
|
-
"rules": {
|
|
80
|
-
"@typescript-eslint/no-unnecessary-condition": [
|
|
81
|
-
"off"
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
78
|
"overrides": [
|
|
85
79
|
{
|
|
86
80
|
"files": [
|
|
@@ -95,9 +89,6 @@
|
|
|
95
89
|
}
|
|
96
90
|
]
|
|
97
91
|
},
|
|
98
|
-
"jest": {
|
|
99
|
-
"preset": "@diia-inhouse/configs/dist/jest"
|
|
100
|
-
},
|
|
101
92
|
"prettier": "@diia-inhouse/eslint-config/prettier",
|
|
102
93
|
"madge": {
|
|
103
94
|
"tsConfig": "./tsconfig.json"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amqpListener.js","sourceRoot":"","sources":["../../../../src/interfaces/providers/rabbitmq/amqpListener.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExternalCommunicatorChannel = void 0;
|
|
4
|
-
class ExternalCommunicatorChannel {
|
|
5
|
-
cache;
|
|
6
|
-
constructor(cache) {
|
|
7
|
-
this.cache = cache;
|
|
8
|
-
}
|
|
9
|
-
getChannel(event, requestUuid) {
|
|
10
|
-
this.assertChannelAvailability();
|
|
11
|
-
return `external_communicator_channel_${event}_${requestUuid}`;
|
|
12
|
-
}
|
|
13
|
-
async isChannelActive(channel) {
|
|
14
|
-
this.assertChannelAvailability();
|
|
15
|
-
return Boolean(await this.cache.get(this.getActiveChannelKey(channel)));
|
|
16
|
-
}
|
|
17
|
-
async saveActiveChannel(channel, timeout) {
|
|
18
|
-
this.assertChannelAvailability();
|
|
19
|
-
await this.cache.set(this.getActiveChannelKey(channel), 'true', Math.floor(timeout / 1000));
|
|
20
|
-
}
|
|
21
|
-
getActiveChannelKey(channel) {
|
|
22
|
-
return `active_${channel}`;
|
|
23
|
-
}
|
|
24
|
-
assertChannelAvailability() {
|
|
25
|
-
if (!this.cache) {
|
|
26
|
-
throw new Error('Cache service is not provided for the ExternalCommunicatorChannel service');
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.ExternalCommunicatorChannel = ExternalCommunicatorChannel;
|
|
31
|
-
//# sourceMappingURL=externalCommunicatorChannel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externalCommunicatorChannel.js","sourceRoot":"","sources":["../../src/services/externalCommunicatorChannel.ts"],"names":[],"mappings":";;;AAIA,MAAa,2BAA2B;IACP;IAA7B,YAA6B,KAA+B;QAA/B,UAAK,GAAL,KAAK,CAA0B;IAAG,CAAC;IAEhE,UAAU,CAAC,KAAgB,EAAE,WAAmB;QAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEhC,OAAO,iCAAiC,KAAK,IAAI,WAAW,EAAE,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACjC,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEhC,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,OAAe;QACpD,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEhC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAC/F,CAAC;IAEO,mBAAmB,CAAC,OAAe;QACvC,OAAO,UAAU,OAAO,EAAE,CAAA;IAC9B,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;SAC/F;IACL,CAAC;CACJ;AA9BD,kEA8BC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { CacheService } from '@diia-inhouse/redis';
|
|
2
|
-
import { EventName } from '../interfaces/queueConfig';
|
|
3
|
-
export declare class ExternalCommunicatorChannel {
|
|
4
|
-
private readonly cache;
|
|
5
|
-
constructor(cache: CacheService | undefined);
|
|
6
|
-
getChannel(event: EventName, requestUuid: string): string;
|
|
7
|
-
isChannelActive(channel: string): Promise<boolean>;
|
|
8
|
-
saveActiveChannel(channel: string, timeout: number): Promise<void>;
|
|
9
|
-
private getActiveChannelKey;
|
|
10
|
-
private assertChannelAvailability;
|
|
11
|
-
}
|