@message-queue-toolkit/sns 23.1.3 → 23.1.4
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/utils/snsInitter.js
CHANGED
|
@@ -3,7 +3,7 @@ import { deleteQueue, getQueueAttributes, resolveQueueUrlFromLocatorConfig, } fr
|
|
|
3
3
|
import { isCreateTopicCommand } from "../types/TopicTypes.js";
|
|
4
4
|
import { subscribeToTopic } from "./snsSubscriber.js";
|
|
5
5
|
import { assertTopic, deleteSubscription, deleteTopic, getTopicAttributes } from "./snsUtils.js";
|
|
6
|
-
import { buildTopicArn } from
|
|
6
|
+
import { buildTopicArn } from "./stsUtils.js";
|
|
7
7
|
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: fixme
|
|
8
8
|
export async function initSnsSqs(sqsClient, snsClient, stsClient, locatorConfig, creationConfig, subscriptionConfig, extraParams) {
|
|
9
9
|
if (!locatorConfig?.subscriptionArn) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { SetSubscriptionAttributesCommand, SubscribeCommand } from '@aws-sdk/client-sns';
|
|
2
|
-
import { InternalError, stringValueSerializer } from '@lokalise/node-core';
|
|
2
|
+
import { InternalError, isError, stringValueSerializer } from '@lokalise/node-core';
|
|
3
3
|
import { assertQueue } from '@message-queue-toolkit/sqs';
|
|
4
4
|
import { isCreateTopicCommand, isSNSTopicLocatorType, } from "../types/TopicTypes.js";
|
|
5
5
|
import { assertTopic, findSubscriptionByTopicAndQueue } from "./snsUtils.js";
|
|
6
|
-
import { buildTopicArn } from
|
|
6
|
+
import { buildTopicArn } from "./stsUtils.js";
|
|
7
7
|
async function resolveTopicArnToSubscribeTo(snsClient, stsClient, topicConfiguration, extraParams) {
|
|
8
8
|
if (isSNSTopicLocatorType(topicConfiguration)) {
|
|
9
9
|
if (topicConfiguration.topicArn)
|
|
@@ -48,25 +48,32 @@ export async function subscribeToTopic(sqsClient, snsClient, stsClient, queueCon
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
catch (err) {
|
|
51
|
+
if (!isError(err))
|
|
52
|
+
throw err;
|
|
51
53
|
const logger = extraParams?.logger ?? console;
|
|
52
|
-
|
|
54
|
+
const errMessage = `Error while creating subscription for queue "${queueConfiguration.QueueName}", topic "${isCreateTopicCommand(topicConfiguration)
|
|
53
55
|
? topicConfiguration.Name
|
|
54
|
-
: topicConfiguration.topicName}": ${err.message}
|
|
56
|
+
: topicConfiguration.topicName}": ${err.message}`;
|
|
57
|
+
logger.error(errMessage);
|
|
55
58
|
if (subscriptionConfiguration.updateAttributesIfExists &&
|
|
56
59
|
err.message.indexOf('Subscription already exists with different attributes') !== -1) {
|
|
57
60
|
const result = await tryToUpdateSubscription(snsClient, topicArn, queueArn, subscriptionConfiguration);
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
if (result) {
|
|
62
|
+
return {
|
|
63
|
+
subscriptionArn: result.SubscriptionArn,
|
|
64
|
+
topicArn,
|
|
65
|
+
queueUrl,
|
|
66
|
+
queueArn,
|
|
67
|
+
};
|
|
61
68
|
}
|
|
62
|
-
|
|
63
|
-
subscriptionArn: result.SubscriptionArn,
|
|
64
|
-
topicArn,
|
|
65
|
-
queueUrl,
|
|
66
|
-
queueArn,
|
|
67
|
-
};
|
|
69
|
+
logger.error('Failed to update subscription');
|
|
68
70
|
}
|
|
69
|
-
throw
|
|
71
|
+
throw new InternalError({
|
|
72
|
+
errorCode: 'sns_subscription_creation_failed',
|
|
73
|
+
message: errMessage,
|
|
74
|
+
details: { queueName: queueConfiguration.QueueName, topicArn, originalError: err.message },
|
|
75
|
+
cause: err,
|
|
76
|
+
});
|
|
70
77
|
}
|
|
71
78
|
}
|
|
72
79
|
async function tryToUpdateSubscription(snsClient, topicArn, queueArn, subscriptionConfiguration) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snsSubscriber.js","sourceRoot":"","sources":["../../lib/utils/snsSubscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGxF,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"snsSubscriber.js","sourceRoot":"","sources":["../../lib/utils/snsSubscriber.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": "23.1.
|
|
3
|
+
"version": "23.1.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SNS adapter for message-queue-toolkit",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@aws-sdk/client-s3": "^3.812.0",
|
|
45
45
|
"@aws-sdk/client-sns": "^3.812.0",
|
|
46
46
|
"@aws-sdk/client-sqs": "^3.812.0",
|
|
47
|
-
"@biomejs/biome": "^2.2
|
|
47
|
+
"@biomejs/biome": "^2.3.2",
|
|
48
48
|
"@lokalise/biome-config": "^3.1.0",
|
|
49
49
|
"@lokalise/tsconfig": "^3.0.0",
|
|
50
50
|
"@message-queue-toolkit/core": "*",
|