@message-queue-toolkit/sns 20.0.0 → 21.1.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/dist/lib/sns/AbstractSnsPublisher.d.ts +3 -1
- package/dist/lib/sns/AbstractSnsPublisher.js +19 -2
- package/dist/lib/sns/AbstractSnsPublisher.js.map +1 -1
- package/dist/lib/utils/snsInitter.d.ts +1 -1
- package/dist/lib/utils/snsInitter.js +9 -12
- package/dist/lib/utils/snsInitter.js.map +1 -1
- package/package.json +7 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
|
-
import type
|
|
2
|
+
import { type AsyncPublisher, type BarrierResult, type MessageInvalidFormatError, type MessageValidationError, type OffloadedPayloadPointerPayload, type QueuePublisherOptions, type ResolvedMessage } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { SNSCreationConfig, SNSDependencies, SNSTopicLocatorType } from './AbstractSnsService';
|
|
4
4
|
import { AbstractSnsService } from './AbstractSnsService';
|
|
5
5
|
export type SNSMessageOptions = {
|
|
@@ -9,6 +9,7 @@ export type SNSMessageOptions = {
|
|
|
9
9
|
export type SNSPublisherOptions<MessagePayloadType extends object> = QueuePublisherOptions<SNSCreationConfig, SNSTopicLocatorType, MessagePayloadType>;
|
|
10
10
|
export declare abstract class AbstractSnsPublisher<MessagePayloadType extends object> extends AbstractSnsService<MessagePayloadType, MessagePayloadType> implements AsyncPublisher<MessagePayloadType, SNSMessageOptions> {
|
|
11
11
|
private readonly messageSchemaContainer;
|
|
12
|
+
private readonly isDeduplicationEnabled;
|
|
12
13
|
private initPromise?;
|
|
13
14
|
constructor(dependencies: SNSDependencies, options: SNSPublisherOptions<MessagePayloadType>);
|
|
14
15
|
publish(message: MessagePayloadType, options?: SNSMessageOptions): Promise<void>;
|
|
@@ -18,5 +19,6 @@ export declare abstract class AbstractSnsPublisher<MessagePayloadType extends ob
|
|
|
18
19
|
protected processPrehandlers(): Promise<undefined>;
|
|
19
20
|
protected preHandlerBarrier<BarrierOutput>(): Promise<BarrierResult<BarrierOutput>>;
|
|
20
21
|
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
22
|
+
protected isDeduplicationEnabledForMessage(message: MessagePayloadType): boolean;
|
|
21
23
|
protected sendMessage(payload: MessagePayloadType | OffloadedPayloadPointerPayload, options: SNSMessageOptions): Promise<void>;
|
|
22
24
|
}
|
|
@@ -3,15 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AbstractSnsPublisher = void 0;
|
|
4
4
|
const client_sns_1 = require("@aws-sdk/client-sns");
|
|
5
5
|
const node_core_1 = require("@lokalise/node-core");
|
|
6
|
+
const core_1 = require("@message-queue-toolkit/core");
|
|
6
7
|
const sqs_1 = require("@message-queue-toolkit/sqs");
|
|
7
8
|
const snsUtils_1 = require("../utils/snsUtils");
|
|
8
9
|
const AbstractSnsService_1 = require("./AbstractSnsService");
|
|
9
10
|
class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
|
|
10
11
|
messageSchemaContainer;
|
|
12
|
+
isDeduplicationEnabled;
|
|
11
13
|
initPromise;
|
|
12
14
|
constructor(dependencies, options) {
|
|
13
15
|
super(dependencies, options);
|
|
14
16
|
this.messageSchemaContainer = this.resolvePublisherMessageSchemaContainer(options);
|
|
17
|
+
this.isDeduplicationEnabled = !!options.enablePublisherDeduplication;
|
|
15
18
|
}
|
|
16
19
|
async publish(message, options = {}) {
|
|
17
20
|
const messageSchemaResult = this.resolveSchema(message);
|
|
@@ -30,6 +33,7 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
|
|
|
30
33
|
try {
|
|
31
34
|
const messageProcessingStartTimestamp = Date.now();
|
|
32
35
|
const parsedMessage = messageSchemaResult.result.parse(message);
|
|
36
|
+
const topicName = this.locatorConfig?.topicName ?? this.creationConfig?.topic?.Name ?? 'unknown';
|
|
33
37
|
if (this.logMessages) {
|
|
34
38
|
// @ts-ignore
|
|
35
39
|
const resolvedLogMessage = this.resolveMessageLog(message, message[this.messageTypeField]);
|
|
@@ -37,11 +41,21 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
|
|
|
37
41
|
}
|
|
38
42
|
const updatedMessage = this.updateInternalProperties(message);
|
|
39
43
|
const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(updatedMessage, () => (0, snsUtils_1.calculateOutgoingMessageSize)(updatedMessage));
|
|
44
|
+
if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
|
|
45
|
+
(await this.deduplicateMessage(parsedMessage, core_1.DeduplicationRequester.Publisher))
|
|
46
|
+
.isDuplicated) {
|
|
47
|
+
this.handleMessageProcessed({
|
|
48
|
+
message: parsedMessage,
|
|
49
|
+
processingResult: { status: 'published', skippedAsDuplicate: true },
|
|
50
|
+
messageProcessingStartTimestamp,
|
|
51
|
+
queueName: topicName,
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
40
55
|
await this.sendMessage(maybeOffloadedPayloadMessage, options);
|
|
41
|
-
const topicName = this.locatorConfig?.topicName ?? this.creationConfig?.topic?.Name ?? 'unknown';
|
|
42
56
|
this.handleMessageProcessed({
|
|
43
57
|
message: parsedMessage,
|
|
44
|
-
processingResult: 'published',
|
|
58
|
+
processingResult: { status: 'published' },
|
|
45
59
|
messageProcessingStartTimestamp,
|
|
46
60
|
queueName: topicName,
|
|
47
61
|
});
|
|
@@ -81,6 +95,9 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
|
|
|
81
95
|
processMessage() {
|
|
82
96
|
throw new Error('Not implemented for publisher');
|
|
83
97
|
}
|
|
98
|
+
isDeduplicationEnabledForMessage(message) {
|
|
99
|
+
return this.isDeduplicationEnabled && super.isDeduplicationEnabledForMessage(message);
|
|
100
|
+
}
|
|
84
101
|
async sendMessage(payload, options) {
|
|
85
102
|
const attributes = (0, sqs_1.resolveOutgoingMessageAttributes)(payload);
|
|
86
103
|
const command = new client_sns_1.PublishCommand({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":";;;AACA,oDAAoD;AAEpD,mDAAmD;
|
|
1
|
+
{"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CreateTopicCommandInput, SNSClient } from '@aws-sdk/client-sns';
|
|
2
2
|
import type { CreateQueueCommandInput, SQSClient } from '@aws-sdk/client-sqs';
|
|
3
3
|
import type { DeletionConfig, ExtraParams } from '@message-queue-toolkit/core';
|
|
4
|
-
import type
|
|
4
|
+
import { type SQSCreationConfig } from '@message-queue-toolkit/sqs';
|
|
5
5
|
import type { SNSCreationConfig, SNSTopicLocatorType } from '../sns/AbstractSnsService';
|
|
6
6
|
import type { SNSSQSQueueLocatorType } from '../sns/AbstractSnsSqsConsumer';
|
|
7
7
|
import type { STSClient } from '@aws-sdk/client-sts';
|
|
@@ -6,6 +6,7 @@ exports.deleteSns = deleteSns;
|
|
|
6
6
|
exports.initSns = initSns;
|
|
7
7
|
const core_1 = require("@message-queue-toolkit/core");
|
|
8
8
|
const sqs_1 = require("@message-queue-toolkit/sqs");
|
|
9
|
+
const sqs_2 = require("@message-queue-toolkit/sqs");
|
|
9
10
|
const TopicTypes_1 = require("../types/TopicTypes");
|
|
10
11
|
const snsSubscriber_1 = require("./snsSubscriber");
|
|
11
12
|
const snsUtils_1 = require("./snsUtils");
|
|
@@ -46,28 +47,24 @@ async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig, creati
|
|
|
46
47
|
queueUrl,
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
throw new Error('If locatorConfig.subscriptionArn is provided, you have to also provide locatorConfig.queueUrl');
|
|
51
|
-
}
|
|
50
|
+
const queueUrl = await (0, sqs_1.resolveQueueUrlFromLocatorConfig)(sqsClient, locatorConfig);
|
|
52
51
|
const checkPromises = [];
|
|
53
52
|
// Check for existing resources, using the locators
|
|
54
53
|
const subscriptionTopicArn = locatorConfig.topicArn ?? (await (0, snsUtils_1.getTopicArnByName)(snsClient, locatorConfig.topicName));
|
|
55
54
|
const topicPromise = (0, snsUtils_1.getTopicAttributes)(snsClient, subscriptionTopicArn);
|
|
56
55
|
checkPromises.push(topicPromise);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
checkPromises.push(queuePromise);
|
|
60
|
-
}
|
|
56
|
+
const queuePromise = (0, sqs_2.getQueueAttributes)(sqsClient, queueUrl);
|
|
57
|
+
checkPromises.push(queuePromise);
|
|
61
58
|
const [topicCheckResult, queueCheckResult] = await Promise.all(checkPromises);
|
|
62
59
|
if (queueCheckResult?.error === 'not_found') {
|
|
63
|
-
throw new Error(`Queue with queueUrl ${
|
|
60
|
+
throw new Error(`Queue with queueUrl ${queueUrl} does not exist.`);
|
|
64
61
|
}
|
|
65
62
|
if (topicCheckResult.error === 'not_found') {
|
|
66
63
|
throw new Error(`Topic with topicArn ${locatorConfig.topicArn} does not exist.`);
|
|
67
64
|
}
|
|
68
65
|
let queueName;
|
|
69
|
-
if (
|
|
70
|
-
const splitUrl =
|
|
66
|
+
if (queueUrl) {
|
|
67
|
+
const splitUrl = queueUrl.split('/');
|
|
71
68
|
queueName = splitUrl[splitUrl.length - 1];
|
|
72
69
|
}
|
|
73
70
|
else {
|
|
@@ -76,7 +73,7 @@ async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig, creati
|
|
|
76
73
|
return {
|
|
77
74
|
subscriptionArn: locatorConfig.subscriptionArn,
|
|
78
75
|
topicArn: subscriptionTopicArn,
|
|
79
|
-
queueUrl
|
|
76
|
+
queueUrl,
|
|
80
77
|
queueName,
|
|
81
78
|
};
|
|
82
79
|
}
|
|
@@ -91,7 +88,7 @@ async function deleteSnsSqs(sqsClient, snsClient, stsClient, deletionConfig, que
|
|
|
91
88
|
if (!subscriptionArn) {
|
|
92
89
|
throw new Error('subscriptionArn must be set for automatic deletion');
|
|
93
90
|
}
|
|
94
|
-
await (0,
|
|
91
|
+
await (0, sqs_2.deleteQueue)(sqsClient,
|
|
95
92
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
96
93
|
queueConfiguration.QueueName, deletionConfig.waitForConfirmation !== false);
|
|
97
94
|
if (topicConfiguration) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../../lib/utils/snsInitter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"snsInitter.js","sourceRoot":"","sources":["../../../lib/utils/snsInitter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sns",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "21.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SNS adapter for message-queue-toolkit",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"@aws-sdk/client-sns": "^3.632.0",
|
|
34
34
|
"@aws-sdk/client-sqs": "^3.632.0",
|
|
35
35
|
"@aws-sdk/client-sts": "^3.632.0",
|
|
36
|
-
"@message-queue-toolkit/core": ">=
|
|
36
|
+
"@message-queue-toolkit/core": ">=20.0.0",
|
|
37
37
|
"@message-queue-toolkit/schemas": ">=2.0.0",
|
|
38
|
-
"@message-queue-toolkit/sqs": ">=
|
|
38
|
+
"@message-queue-toolkit/sqs": ">=20.1.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@aws-sdk/client-s3": "^3.670.0",
|
|
@@ -44,15 +44,17 @@
|
|
|
44
44
|
"@biomejs/biome": "1.9.4",
|
|
45
45
|
"@kibertoad/biome-config": "^1.2.1",
|
|
46
46
|
"@message-queue-toolkit/core": "*",
|
|
47
|
+
"@message-queue-toolkit/redis-message-deduplication-store": "*",
|
|
47
48
|
"@message-queue-toolkit/s3-payload-store": "*",
|
|
48
49
|
"@message-queue-toolkit/sqs": "*",
|
|
49
50
|
"@types/node": "^22.7.5",
|
|
50
|
-
"@vitest/coverage-v8": "^
|
|
51
|
+
"@vitest/coverage-v8": "^3.0.7",
|
|
51
52
|
"awilix": "^12.0.1",
|
|
52
53
|
"awilix-manager": "^6.0.0",
|
|
53
54
|
"del-cli": "^6.0.0",
|
|
55
|
+
"ioredis": "^5.3.2",
|
|
54
56
|
"typescript": "^5.7.2",
|
|
55
|
-
"vitest": "^
|
|
57
|
+
"vitest": "^3.0.7"
|
|
56
58
|
},
|
|
57
59
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|
|
58
60
|
"repository": {
|