@message-queue-toolkit/sqs 10.0.0 → 10.0.1
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.
|
@@ -11,10 +11,6 @@ export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQue
|
|
|
11
11
|
queueUrl: string;
|
|
12
12
|
queueArn: string;
|
|
13
13
|
queueName: string | undefined;
|
|
14
|
-
} | {
|
|
15
|
-
queueArn: string;
|
|
16
|
-
queueUrl: string;
|
|
17
|
-
queueName?: undefined;
|
|
18
14
|
}>;
|
|
19
15
|
export declare function deleteQueue(client: SQSClient, queueName: string, waitForConfirmation?: boolean): Promise<void>;
|
|
20
16
|
export {};
|
|
@@ -56,45 +56,54 @@ async function getQueueAttributes(sqsClient, queueLocator, attributeNames = ['Al
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
exports.getQueueAttributes = getQueueAttributes;
|
|
59
|
-
async function
|
|
59
|
+
async function updateExistingQueue(sqsClient, queueUrl, queueConfig, extraParams) {
|
|
60
|
+
const existingAttributes = await getQueueAttributes(sqsClient, {
|
|
61
|
+
queueUrl,
|
|
62
|
+
});
|
|
63
|
+
if (!existingAttributes.result?.attributes) {
|
|
64
|
+
throw new Error('Attributes are not set');
|
|
65
|
+
}
|
|
66
|
+
const queueArn = existingAttributes.result?.attributes.QueueArn;
|
|
67
|
+
if (!queueArn) {
|
|
68
|
+
throw new Error('Queue ARN was not set');
|
|
69
|
+
}
|
|
60
70
|
// we will try to update existing queue if exists
|
|
61
71
|
if (extraParams?.updateAttributesIfExists) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
const queueArn = existingAttributes.result?.attributes.QueueArn;
|
|
73
|
-
if (!queueArn) {
|
|
74
|
-
throw new Error('Queue ARN was not set');
|
|
75
|
-
}
|
|
76
|
-
// Only perform update if there are new or changed values in the queue config
|
|
77
|
-
if (!(0, core_1.isShallowSubset)(queueConfig.Attributes, existingAttributes.result.attributes)) {
|
|
78
|
-
await (0, sqsInitter_1.updateQueueAttributes)(sqsClient, queueUrl, queueConfig.Attributes);
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
queueUrl,
|
|
82
|
-
queueArn,
|
|
83
|
-
queueName: queueConfig.QueueName,
|
|
84
|
-
};
|
|
72
|
+
const updatedAttributes = {
|
|
73
|
+
...queueConfig.Attributes,
|
|
74
|
+
};
|
|
75
|
+
if (extraParams?.topicArnsWithPublishPermissionsPrefix) {
|
|
76
|
+
updatedAttributes.Policy = (0, sqsAttributeUtils_1.generateQueuePublishForTopicPolicy)(queueArn, extraParams.topicArnsWithPublishPermissionsPrefix);
|
|
77
|
+
}
|
|
78
|
+
// Only perform update if there are new or changed values in the queue config
|
|
79
|
+
if (!(0, core_1.isShallowSubset)(updatedAttributes, existingAttributes.result.attributes)) {
|
|
80
|
+
await (0, sqsInitter_1.updateQueueAttributes)(sqsClient, queueUrl, updatedAttributes);
|
|
85
81
|
}
|
|
86
82
|
}
|
|
83
|
+
return {
|
|
84
|
+
queueUrl,
|
|
85
|
+
queueArn,
|
|
86
|
+
queueName: queueConfig.QueueName,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
async function assertQueue(sqsClient, queueConfig, extraParams) {
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
91
|
+
const queueUrlResult = await getQueueUrl(sqsClient, queueConfig.QueueName);
|
|
92
|
+
const queueExists = !!queueUrlResult.result;
|
|
93
|
+
if (queueExists) {
|
|
94
|
+
return updateExistingQueue(sqsClient, queueUrlResult.result, queueConfig, extraParams);
|
|
95
|
+
}
|
|
96
|
+
// create new queue
|
|
87
97
|
const command = new client_sqs_1.CreateQueueCommand(queueConfig);
|
|
88
98
|
await sqsClient.send(command);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (!response.QueueUrl) {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
100
|
+
const newQueueUrlResult = await getQueueUrl(sqsClient, queueConfig.QueueName);
|
|
101
|
+
const newQueueExists = !!newQueueUrlResult.result;
|
|
102
|
+
if (!newQueueExists) {
|
|
94
103
|
throw new Error(`Queue ${queueConfig.QueueName ?? ''} was not created`);
|
|
95
104
|
}
|
|
96
105
|
const getQueueAttributesCommand = new client_sqs_1.GetQueueAttributesCommand({
|
|
97
|
-
QueueUrl:
|
|
106
|
+
QueueUrl: newQueueUrlResult.result,
|
|
98
107
|
AttributeNames: ['QueueArn'],
|
|
99
108
|
});
|
|
100
109
|
const queueAttributesResponse = await sqsClient.send(getQueueAttributesCommand);
|
|
@@ -104,7 +113,7 @@ async function assertQueue(sqsClient, queueConfig, extraParams) {
|
|
|
104
113
|
}
|
|
105
114
|
if (extraParams?.topicArnsWithPublishPermissionsPrefix) {
|
|
106
115
|
const setTopicAttributesCommand = new client_sqs_1.SetQueueAttributesCommand({
|
|
107
|
-
QueueUrl:
|
|
116
|
+
QueueUrl: newQueueUrlResult.result,
|
|
108
117
|
Attributes: {
|
|
109
118
|
Policy: (0, sqsAttributeUtils_1.generateQueuePublishForTopicPolicy)(queueArn, extraParams.topicArnsWithPublishPermissionsPrefix),
|
|
110
119
|
},
|
|
@@ -113,7 +122,8 @@ async function assertQueue(sqsClient, queueConfig, extraParams) {
|
|
|
113
122
|
}
|
|
114
123
|
return {
|
|
115
124
|
queueArn,
|
|
116
|
-
queueUrl:
|
|
125
|
+
queueUrl: newQueueUrlResult.result,
|
|
126
|
+
queueName: queueConfig.QueueName,
|
|
117
127
|
};
|
|
118
128
|
}
|
|
119
129
|
exports.assertQueue = assertQueue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;;AAAA,oDAO4B;AAG5B,sDAA2E;AAK3E,2DAAwE;AACxE,6CAAoD;AAEpD,MAAM,mCAAmC,GAAG,mBAAmB,CAAA;AAMxD,KAAK,UAAU,WAAW,CAC/B,SAAoB,EACpB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CACjC,IAAI,+BAAkB,CAAC;YACrB,SAAS,EAAE,SAAS;SACrB,CAAC,CACH,CAAA;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,QAAQ;aACxB,CAAA;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,WAAW;SACnB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO;gBACL,KAAK,EAAE,WAAW;aACnB,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AA7BD,kCA6BC;AAEM,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,YAAiC,EACjC,iBAAuC,CAAC,KAAK,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAI,sCAAyB,CAAC;QAC5C,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,MAAM,EAAE;gBACN,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;SACF,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO;gBACL,aAAa;gBACb,KAAK,EAAE,WAAW;aACnB,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AA3BD,gDA2BC;
|
|
1
|
+
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sqs",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SQS adapter for message-queue-toolkit",
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
"test:coverage": "npm test -- --coverage",
|
|
20
20
|
"test:ci": "npm run docker:start:dev && npm run test:coverage && npm run docker:stop:dev",
|
|
21
21
|
"lint": "eslint . --ext .ts",
|
|
22
|
-
"lint:fix": "eslint . --ext .ts --fix",
|
|
23
|
-
"format": "prettier --write .",
|
|
22
|
+
"lint:fix": "prettier --write . && eslint . --ext .ts --fix",
|
|
24
23
|
"docker:start:dev": "docker compose up -d",
|
|
25
24
|
"docker:stop:dev": "docker compose down",
|
|
26
25
|
"prepublishOnly": "npm run build:release"
|