fauxqs 2.5.1 → 2.7.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/README.md +50 -10
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +11 -0
- package/dist/app.js.map +1 -1
- package/dist/common/xml.d.ts +6 -0
- package/dist/common/xml.d.ts.map +1 -1
- package/dist/common/xml.js +13 -0
- package/dist/common/xml.js.map +1 -1
- package/dist/persistence.d.ts +8 -0
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +38 -4
- package/dist/persistence.js.map +1 -1
- package/dist/s3/actions/completeMultipartUpload.d.ts.map +1 -1
- package/dist/s3/actions/completeMultipartUpload.js +7 -9
- package/dist/s3/actions/completeMultipartUpload.js.map +1 -1
- package/dist/s3/actions/createMultipartUpload.js +1 -1
- package/dist/s3/actions/createMultipartUpload.js.map +1 -1
- package/dist/s3/actions/deleteObjects.d.ts.map +1 -1
- package/dist/s3/actions/deleteObjects.js +1 -9
- package/dist/s3/actions/deleteObjects.js.map +1 -1
- package/dist/s3/actions/getBucketNotificationConfiguration.d.ts +8 -0
- package/dist/s3/actions/getBucketNotificationConfiguration.d.ts.map +1 -0
- package/dist/s3/actions/getBucketNotificationConfiguration.js +15 -0
- package/dist/s3/actions/getBucketNotificationConfiguration.js.map +1 -0
- package/dist/s3/actions/getObject.d.ts.map +1 -1
- package/dist/s3/actions/getObject.js +9 -2
- package/dist/s3/actions/getObject.js.map +1 -1
- package/dist/s3/actions/postObject.d.ts.map +1 -1
- package/dist/s3/actions/postObject.js +1 -1
- package/dist/s3/actions/postObject.js.map +1 -1
- package/dist/s3/actions/putBucketNotificationConfiguration.d.ts +8 -0
- package/dist/s3/actions/putBucketNotificationConfiguration.d.ts.map +1 -0
- package/dist/s3/actions/putBucketNotificationConfiguration.js +24 -0
- package/dist/s3/actions/putBucketNotificationConfiguration.js.map +1 -0
- package/dist/s3/actions/putObject.d.ts.map +1 -1
- package/dist/s3/actions/putObject.js +10 -1
- package/dist/s3/actions/putObject.js.map +1 -1
- package/dist/s3/checksum.d.ts +10 -1
- package/dist/s3/checksum.d.ts.map +1 -1
- package/dist/s3/checksum.js +77 -3
- package/dist/s3/checksum.js.map +1 -1
- package/dist/s3/conditionalWrites.d.ts +21 -0
- package/dist/s3/conditionalWrites.d.ts.map +1 -0
- package/dist/s3/conditionalWrites.js +71 -0
- package/dist/s3/conditionalWrites.js.map +1 -0
- package/dist/s3/fileS3Persistence.d.ts +1 -0
- package/dist/s3/fileS3Persistence.d.ts.map +1 -1
- package/dist/s3/fileS3Persistence.js +8 -0
- package/dist/s3/fileS3Persistence.js.map +1 -1
- package/dist/s3/notifications.d.ts +66 -0
- package/dist/s3/notifications.d.ts.map +1 -0
- package/dist/s3/notifications.js +269 -0
- package/dist/s3/notifications.js.map +1 -0
- package/dist/s3/s3Persistence.d.ts +2 -0
- package/dist/s3/s3Persistence.d.ts.map +1 -1
- package/dist/s3/s3Router.d.ts.map +1 -1
- package/dist/s3/s3Router.js +14 -0
- package/dist/s3/s3Router.js.map +1 -1
- package/dist/s3/s3Store.d.ts +19 -1
- package/dist/s3/s3Store.d.ts.map +1 -1
- package/dist/s3/s3Store.js +98 -14
- package/dist/s3/s3Store.js.map +1 -1
- package/dist/s3/s3Types.d.ts +1 -1
- package/dist/s3/s3Types.d.ts.map +1 -1
- package/dist/sns/actions/publish.d.ts +1 -0
- package/dist/sns/actions/publish.d.ts.map +1 -1
- package/dist/sns/actions/publish.js +73 -9
- package/dist/sns/actions/publish.js.map +1 -1
- package/dist/sns/actions/setSubscriptionAttributes.d.ts.map +1 -1
- package/dist/sns/actions/setSubscriptionAttributes.js +5 -4
- package/dist/sns/actions/setSubscriptionAttributes.js.map +1 -1
- package/dist/sns/actions/subscribe.d.ts.map +1 -1
- package/dist/sns/actions/subscribe.js +4 -0
- package/dist/sns/actions/subscribe.js.map +1 -1
- package/dist/sns/snsStore.d.ts +7 -0
- package/dist/sns/snsStore.d.ts.map +1 -1
- package/dist/sns/snsStore.js +15 -0
- package/dist/sns/snsStore.js.map +1 -1
- package/dist/sns/snsTypes.d.ts +7 -0
- package/dist/sns/snsTypes.d.ts.map +1 -1
- package/dist/sns/subscriptionRedrivePolicy.d.ts +23 -0
- package/dist/sns/subscriptionRedrivePolicy.d.ts.map +1 -0
- package/dist/sns/subscriptionRedrivePolicy.js +55 -0
- package/dist/sns/subscriptionRedrivePolicy.js.map +1 -0
- package/dist/spy.d.ts +7 -2
- package/dist/spy.d.ts.map +1 -1
- package/dist/spy.js.map +1 -1
- package/dist/sqs/actions/cancelMessageMoveTask.d.ts +5 -0
- package/dist/sqs/actions/cancelMessageMoveTask.d.ts.map +1 -0
- package/dist/sqs/actions/cancelMessageMoveTask.js +11 -0
- package/dist/sqs/actions/cancelMessageMoveTask.js.map +1 -0
- package/dist/sqs/actions/listDeadLetterSourceQueues.d.ts +8 -0
- package/dist/sqs/actions/listDeadLetterSourceQueues.d.ts.map +1 -0
- package/dist/sqs/actions/listDeadLetterSourceQueues.js +45 -0
- package/dist/sqs/actions/listDeadLetterSourceQueues.js.map +1 -0
- package/dist/sqs/actions/listMessageMoveTasks.d.ts +5 -0
- package/dist/sqs/actions/listMessageMoveTasks.d.ts.map +1 -0
- package/dist/sqs/actions/listMessageMoveTasks.js +31 -0
- package/dist/sqs/actions/listMessageMoveTasks.js.map +1 -0
- package/dist/sqs/actions/startMessageMoveTask.d.ts +9 -0
- package/dist/sqs/actions/startMessageMoveTask.d.ts.map +1 -0
- package/dist/sqs/actions/startMessageMoveTask.js +23 -0
- package/dist/sqs/actions/startMessageMoveTask.js.map +1 -0
- package/dist/sqs/sqsStore.d.ts +42 -1
- package/dist/sqs/sqsStore.d.ts.map +1 -1
- package/dist/sqs/sqsStore.js +193 -27
- package/dist/sqs/sqsStore.js.map +1 -1
- package/dist/sqs/sqsTypes.d.ts +20 -0
- package/dist/sqs/sqsTypes.d.ts.map +1 -1
- package/dist/sqs/sqsTypes.js.map +1 -1
- package/dist/tenant/trackedStores.d.ts +1 -1
- package/dist/tenant/trackedStores.d.ts.map +1 -1
- package/dist/tenant/trackedStores.js +2 -2
- package/dist/tenant/trackedStores.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SnsError } from "../../common/errors.js";
|
|
2
2
|
import { snsSuccessResponse } from "../../common/xml.js";
|
|
3
3
|
import { validateFilterPolicyLimits } from "../filter.js";
|
|
4
|
+
import { validateSubscriptionRedrivePolicy } from "../subscriptionRedrivePolicy.js";
|
|
5
|
+
import { setSubscriptionAttribute } from "../snsStore.js";
|
|
4
6
|
const VALID_SUBSCRIPTION_ATTRIBUTES = new Set([
|
|
5
7
|
"RawMessageDelivery",
|
|
6
8
|
"FilterPolicy",
|
|
@@ -27,11 +29,10 @@ export function setSubscriptionAttributes(params, snsStore) {
|
|
|
27
29
|
if (attributeName === "FilterPolicy" && attributeValue) {
|
|
28
30
|
validateFilterPolicyLimits(attributeValue);
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (attributeName === "FilterPolicy" || attributeName === "FilterPolicyScope") {
|
|
33
|
-
subscription.parsedFilterPolicy = undefined;
|
|
32
|
+
if (attributeName === "RedrivePolicy") {
|
|
33
|
+
validateSubscriptionRedrivePolicy(attributeValue);
|
|
34
34
|
}
|
|
35
|
+
setSubscriptionAttribute(subscription, attributeName, attributeValue);
|
|
35
36
|
snsStore.persistence?.updateSubscriptionAttributes(subscriptionArn, subscription.attributes);
|
|
36
37
|
}
|
|
37
38
|
return snsSuccessResponse("SetSubscriptionAttributes", "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setSubscriptionAttributes.js","sourceRoot":"","sources":["../../../src/sns/actions/setSubscriptionAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,oBAAoB;IACpB,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,yBAAyB,CACvC,MAA8B,EAC9B,QAAkB;IAElB,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,6BAA6B,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IAEnD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,oEAAoE,aAAa,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,KAAK,cAAc,IAAI,cAAc,EAAE,CAAC;YACvD,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"setSubscriptionAttributes.js","sourceRoot":"","sources":["../../../src/sns/actions/setSubscriptionAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,oBAAoB;IACpB,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,qBAAqB;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,yBAAyB,CACvC,MAA8B,EAC9B,QAAkB;IAElB,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,6BAA6B,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC;IAEnD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,oEAAoE,aAAa,EAAE,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,aAAa,KAAK,cAAc,IAAI,cAAc,EAAE,CAAC;YACvD,0BAA0B,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;YACtC,iCAAiC,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC;QACD,wBAAwB,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;QACtE,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CAAC,eAAe,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,kBAAkB,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/subscribe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/subscribe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAgFpF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SnsError } from "../../common/errors.js";
|
|
2
2
|
import { snsSuccessResponse, escapeXml } from "../../common/xml.js";
|
|
3
3
|
import { validateFilterPolicyLimits } from "../filter.js";
|
|
4
|
+
import { validateSubscriptionRedrivePolicy } from "../subscriptionRedrivePolicy.js";
|
|
4
5
|
export function subscribe(params, snsStore) {
|
|
5
6
|
const topicArn = params.TopicArn;
|
|
6
7
|
if (!topicArn) {
|
|
@@ -56,6 +57,9 @@ export function subscribe(params, snsStore) {
|
|
|
56
57
|
if (resolvedAttributes.FilterPolicy) {
|
|
57
58
|
validateFilterPolicyLimits(resolvedAttributes.FilterPolicy);
|
|
58
59
|
}
|
|
60
|
+
if (resolvedAttributes.RedrivePolicy !== undefined) {
|
|
61
|
+
validateSubscriptionRedrivePolicy(resolvedAttributes.RedrivePolicy);
|
|
62
|
+
}
|
|
59
63
|
const subscription = snsStore.subscribe(topicArn, protocol, endpoint, Object.keys(resolvedAttributes).length > 0 ? resolvedAttributes : undefined);
|
|
60
64
|
if (!subscription) {
|
|
61
65
|
throw new SnsError("NotFound", "Topic does not exist", 404);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../src/sns/actions/subscribe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../src/sns/actions/subscribe.ts"],"names":[],"mappings":"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"}
|
package/dist/sns/snsStore.d.ts
CHANGED
|
@@ -28,4 +28,11 @@ export declare class SnsStore {
|
|
|
28
28
|
};
|
|
29
29
|
purgeAll(): void;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Write a subscription attribute and invalidate any cached parsed form. The
|
|
33
|
+
* only sanctioned way to mutate `subscription.attributes` for keys that have
|
|
34
|
+
* derived caches (FilterPolicy, FilterPolicyScope, RedrivePolicy) — callers
|
|
35
|
+
* that reach into `attributes` directly will leave stale cache entries.
|
|
36
|
+
*/
|
|
37
|
+
export declare function setSubscriptionAttribute(subscription: SnsSubscription, name: string, value: string): void;
|
|
31
38
|
//# sourceMappingURL=snsStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snsStore.d.ts","sourceRoot":"","sources":["../../src/sns/snsStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK/D,qBAAa,QAAQ;IACnB,MAAM,wBAA+B;IACrC,aAAa,+BAAsC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GACb,QAAQ;IAoDX,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAejC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI/B,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAY1E,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,eAAe,GAAG,SAAS;IAiD9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAejC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIzD,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAY/F,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB;QAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAiB3D,QAAQ,IAAI,IAAI;CAIjB"}
|
|
1
|
+
{"version":3,"file":"snsStore.d.ts","sourceRoot":"","sources":["../../src/sns/snsStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAK/D,qBAAa,QAAQ;IACnB,MAAM,wBAA+B;IACrC,aAAa,+BAAsC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC9C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,GACb,QAAQ;IAoDX,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAejC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI/B,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAY1E,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,eAAe,GAAG,SAAS;IAiD9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAejC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIzD,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAY/F,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB;QAAE,aAAa,EAAE,eAAe,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAiB3D,QAAQ,IAAI,IAAI;CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,eAAe,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,IAAI,CAQN"}
|
package/dist/sns/snsStore.js
CHANGED
|
@@ -171,4 +171,19 @@ export class SnsStore {
|
|
|
171
171
|
this.subscriptions.clear();
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Write a subscription attribute and invalidate any cached parsed form. The
|
|
176
|
+
* only sanctioned way to mutate `subscription.attributes` for keys that have
|
|
177
|
+
* derived caches (FilterPolicy, FilterPolicyScope, RedrivePolicy) — callers
|
|
178
|
+
* that reach into `attributes` directly will leave stale cache entries.
|
|
179
|
+
*/
|
|
180
|
+
export function setSubscriptionAttribute(subscription, name, value) {
|
|
181
|
+
subscription.attributes[name] = value;
|
|
182
|
+
if (name === "FilterPolicy" || name === "FilterPolicyScope") {
|
|
183
|
+
subscription.parsedFilterPolicy = undefined;
|
|
184
|
+
}
|
|
185
|
+
if (name === "RedrivePolicy") {
|
|
186
|
+
subscription.parsedRedrivePolicy = undefined;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
174
189
|
//# sourceMappingURL=snsStore.js.map
|
package/dist/sns/snsStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snsStore.js","sourceRoot":"","sources":["../../src/sns/snsStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snsStore.js","sourceRoot":"","sources":["../../src/sns/snsStore.ts"],"names":[],"mappings":"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"}
|
package/dist/sns/snsTypes.d.ts
CHANGED
|
@@ -14,6 +14,13 @@ export interface SnsSubscription {
|
|
|
14
14
|
attributes: Record<string, string>;
|
|
15
15
|
/** Cached parsed FilterPolicy — invalidated when attributes change. */
|
|
16
16
|
parsedFilterPolicy?: Record<string, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Cached parsed RedrivePolicy. `undefined` = not parsed yet;
|
|
19
|
+
* `null` = absent or malformed. Invalidated when attributes change.
|
|
20
|
+
*/
|
|
21
|
+
parsedRedrivePolicy?: {
|
|
22
|
+
deadLetterTargetArn?: string;
|
|
23
|
+
} | null;
|
|
17
24
|
}
|
|
18
25
|
export interface SnsMessageAttribute {
|
|
19
26
|
DataType: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snsTypes.d.ts","sourceRoot":"","sources":["../../src/sns/snsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"snsTypes.d.ts","sourceRoot":"","sources":["../../src/sns/snsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C;;;OAGG;IACH,mBAAmB,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Parsed shape of a subscription RedrivePolicy; we only care about the DLQ ARN. */
|
|
2
|
+
export interface ParsedSubscriptionRedrivePolicy {
|
|
3
|
+
deadLetterTargetArn?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Validate a RedrivePolicy attribute value at write time (Subscribe /
|
|
7
|
+
* SetSubscriptionAttributes). Mirrors how AWS rejects malformed input
|
|
8
|
+
* synchronously rather than silently dropping messages at publish time.
|
|
9
|
+
*
|
|
10
|
+
* An empty string is allowed: SetSubscriptionAttributes uses it to clear the
|
|
11
|
+
* policy. Any non-empty value must parse to a JSON object; if
|
|
12
|
+
* `deadLetterTargetArn` is present it must be a string.
|
|
13
|
+
*/
|
|
14
|
+
export declare function validateSubscriptionRedrivePolicy(raw: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Parse a stored RedrivePolicy value defensively. Returns `null` when the
|
|
17
|
+
* value is absent, malformed, or doesn't conform to the expected shape —
|
|
18
|
+
* write-time validation should already have rejected malformed input, but
|
|
19
|
+
* subscriptions loaded from older persistence snapshots may not have been
|
|
20
|
+
* validated, so we narrow here too.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseSubscriptionRedrivePolicy(raw: string | undefined): ParsedSubscriptionRedrivePolicy | null;
|
|
23
|
+
//# sourceMappingURL=subscriptionRedrivePolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptionRedrivePolicy.d.ts","sourceRoot":"","sources":["../../src/sns/subscriptionRedrivePolicy.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA2BnE;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,+BAA+B,GAAG,IAAI,CAoBxC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SnsError } from "../common/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validate a RedrivePolicy attribute value at write time (Subscribe /
|
|
4
|
+
* SetSubscriptionAttributes). Mirrors how AWS rejects malformed input
|
|
5
|
+
* synchronously rather than silently dropping messages at publish time.
|
|
6
|
+
*
|
|
7
|
+
* An empty string is allowed: SetSubscriptionAttributes uses it to clear the
|
|
8
|
+
* policy. Any non-empty value must parse to a JSON object; if
|
|
9
|
+
* `deadLetterTargetArn` is present it must be a string.
|
|
10
|
+
*/
|
|
11
|
+
export function validateSubscriptionRedrivePolicy(raw) {
|
|
12
|
+
if (raw === "")
|
|
13
|
+
return;
|
|
14
|
+
let parsed;
|
|
15
|
+
try {
|
|
16
|
+
parsed = JSON.parse(raw);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: RedrivePolicy: Amazon SNS was unable to parse RedrivePolicy as JSON.");
|
|
20
|
+
}
|
|
21
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
22
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: RedrivePolicy: must be a JSON object.");
|
|
23
|
+
}
|
|
24
|
+
const dlqArn = parsed.deadLetterTargetArn;
|
|
25
|
+
if (dlqArn !== undefined && typeof dlqArn !== "string") {
|
|
26
|
+
throw new SnsError("InvalidParameter", "Invalid parameter: RedrivePolicy: deadLetterTargetArn must be a string ARN.");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse a stored RedrivePolicy value defensively. Returns `null` when the
|
|
31
|
+
* value is absent, malformed, or doesn't conform to the expected shape —
|
|
32
|
+
* write-time validation should already have rejected malformed input, but
|
|
33
|
+
* subscriptions loaded from older persistence snapshots may not have been
|
|
34
|
+
* validated, so we narrow here too.
|
|
35
|
+
*/
|
|
36
|
+
export function parseSubscriptionRedrivePolicy(raw) {
|
|
37
|
+
if (!raw)
|
|
38
|
+
return null;
|
|
39
|
+
let parsed;
|
|
40
|
+
try {
|
|
41
|
+
parsed = JSON.parse(raw);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const dlqArn = parsed.deadLetterTargetArn;
|
|
50
|
+
if (dlqArn !== undefined && typeof dlqArn !== "string") {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
return { deadLetterTargetArn: dlqArn };
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=subscriptionRedrivePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriptionRedrivePolicy.js","sourceRoot":"","sources":["../../src/sns/subscriptionRedrivePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAO/C;;;;;;;;GAQG;AACH,MAAM,UAAU,iCAAiC,CAAC,GAAW;IAC3D,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO;IAEvB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAI,MAA4C,CAAC,mBAAmB,CAAC;IACjF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,GAAuB;IAEvB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAI,MAA4C,CAAC,mBAAmB,CAAC;IACjF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC"}
|
package/dist/spy.d.ts
CHANGED
|
@@ -11,8 +11,13 @@ export interface SqsSpyMessage {
|
|
|
11
11
|
status: SqsSpyMessageStatus;
|
|
12
12
|
timestamp: number;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Possible statuses for an SNS spy message.
|
|
16
|
+
* - `published`: the publish API call succeeded (one event per Publish/PublishBatch entry).
|
|
17
|
+
* - `dlq`: a fan-out delivery was rerouted to the subscription's RedrivePolicy DLQ
|
|
18
|
+
* (one event per affected subscription, in addition to the original `published` event).
|
|
19
|
+
*/
|
|
20
|
+
export type SnsSpyMessageStatus = "published" | "dlq";
|
|
16
21
|
/** An SNS event captured by {@link MessageSpy}. */
|
|
17
22
|
export interface SnsSpyMessage {
|
|
18
23
|
service: "sns";
|
package/dist/spy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spy.d.ts","sourceRoot":"","sources":["../src/spy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;AAEnE,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"spy.d.ts","sourceRoot":"","sources":["../src/spy.ts"],"names":[],"mappings":"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"}
|
package/dist/spy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spy.js","sourceRoot":"","sources":["../src/spy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spy.js","sourceRoot":"","sources":["../src/spy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CancelMessageMoveTaskResult } from "@aws-sdk/client-sqs";
|
|
2
|
+
import type { SqsStore } from "../sqsStore.ts";
|
|
3
|
+
/** Cancels a running message move task identified by its task handle. */
|
|
4
|
+
export declare function cancelMessageMoveTask(body: Record<string, unknown>, store: SqsStore): CancelMessageMoveTaskResult;
|
|
5
|
+
//# sourceMappingURL=cancelMessageMoveTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelMessageMoveTask.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/cancelMessageMoveTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,2BAA2B,CAS7B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SqsError } from "../../common/errors.js";
|
|
2
|
+
/** Cancels a running message move task identified by its task handle. */
|
|
3
|
+
export function cancelMessageMoveTask(body, store) {
|
|
4
|
+
const taskHandle = body.TaskHandle;
|
|
5
|
+
if (!taskHandle) {
|
|
6
|
+
throw new SqsError("InvalidParameterValue", "TaskHandle is required");
|
|
7
|
+
}
|
|
8
|
+
const moved = store.cancelMessageMoveTask(taskHandle);
|
|
9
|
+
return { ApproximateNumberOfMessagesMoved: moved };
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=cancelMessageMoveTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelMessageMoveTask.js","sourceRoot":"","sources":["../../../src/sqs/actions/cancelMessageMoveTask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,yEAAyE;AACzE,MAAM,UAAU,qBAAqB,CACnC,IAA6B,EAC7B,KAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAgC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAEtD,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAwC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ListDeadLetterSourceQueuesResult } from "@aws-sdk/client-sqs";
|
|
2
|
+
import type { SqsStore } from "../sqsStore.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Returns the URLs of the queues that have the given queue configured as their
|
|
5
|
+
* dead-letter queue (via RedrivePolicy.deadLetterTargetArn).
|
|
6
|
+
*/
|
|
7
|
+
export declare function listDeadLetterSourceQueues(body: Record<string, unknown>, store: SqsStore): ListDeadLetterSourceQueuesResult;
|
|
8
|
+
//# sourceMappingURL=listDeadLetterSourceQueues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listDeadLetterSourceQueues.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/listDeadLetterSourceQueues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,gCAAgC,CA+ClC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SqsError, QueueDoesNotExistError } from "../../common/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the URLs of the queues that have the given queue configured as their
|
|
4
|
+
* dead-letter queue (via RedrivePolicy.deadLetterTargetArn).
|
|
5
|
+
*/
|
|
6
|
+
export function listDeadLetterSourceQueues(body, store) {
|
|
7
|
+
const queueUrl = body.QueueUrl;
|
|
8
|
+
if (!queueUrl) {
|
|
9
|
+
throw new SqsError("InvalidParameterValue", "QueueUrl is required");
|
|
10
|
+
}
|
|
11
|
+
const dlq = store.getQueue(queueUrl);
|
|
12
|
+
if (!dlq) {
|
|
13
|
+
throw new QueueDoesNotExistError();
|
|
14
|
+
}
|
|
15
|
+
let maxResults;
|
|
16
|
+
if (body.MaxResults !== undefined) {
|
|
17
|
+
const parsed = Number(body.MaxResults);
|
|
18
|
+
if (!Number.isInteger(parsed) || parsed < 1 || parsed > 1000) {
|
|
19
|
+
throw new SqsError("InvalidParameterValue", "MaxResults must be an integer between 1 and 1000");
|
|
20
|
+
}
|
|
21
|
+
maxResults = parsed;
|
|
22
|
+
}
|
|
23
|
+
const nextToken = body.NextToken;
|
|
24
|
+
// Sort with default (UTF-16 code-unit) ordering so it stays consistent with
|
|
25
|
+
// the `u > nextToken` cursor comparison below. A locale-aware sort can order
|
|
26
|
+
// mixed-case names differently from `>` and silently drop queues at a page
|
|
27
|
+
// boundary.
|
|
28
|
+
let urls = store
|
|
29
|
+
.deadLetterSourceQueues(dlq.arn)
|
|
30
|
+
.map((q) => q.url)
|
|
31
|
+
.sort();
|
|
32
|
+
if (nextToken) {
|
|
33
|
+
urls = urls.filter((u) => u > nextToken);
|
|
34
|
+
}
|
|
35
|
+
let resultNextToken;
|
|
36
|
+
if (maxResults && urls.length > maxResults) {
|
|
37
|
+
urls = urls.slice(0, maxResults);
|
|
38
|
+
resultNextToken = urls[urls.length - 1];
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
queueUrls: urls,
|
|
42
|
+
...(resultNextToken ? { NextToken: resultNextToken } : {}),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=listDeadLetterSourceQueues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listDeadLetterSourceQueues.js","sourceRoot":"","sources":["../../../src/sqs/actions/listDeadLetterSourceQueues.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAG1E;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B,EAC7B,KAAe;IAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,sBAAsB,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,UAA8B,CAAC;IACnC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;IAEvD,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,YAAY;IACZ,IAAI,IAAI,GAAG,KAAK;SACb,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACjB,IAAI,EAAE,CAAC;IAEV,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,eAAmC,CAAC;IACxC,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC3C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACjC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChB,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ListMessageMoveTasksResult } from "@aws-sdk/client-sqs";
|
|
2
|
+
import type { SqsStore } from "../sqsStore.ts";
|
|
3
|
+
/** Lists the most recent message move tasks for a source dead-letter queue. */
|
|
4
|
+
export declare function listMessageMoveTasks(body: Record<string, unknown>, store: SqsStore): ListMessageMoveTasksResult;
|
|
5
|
+
//# sourceMappingURL=listMessageMoveTasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listMessageMoveTasks.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/listMessageMoveTasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,0BAA0B,CAmC5B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SqsError } from "../../common/errors.js";
|
|
2
|
+
/** Lists the most recent message move tasks for a source dead-letter queue. */
|
|
3
|
+
export function listMessageMoveTasks(body, store) {
|
|
4
|
+
const sourceArn = body.SourceArn;
|
|
5
|
+
if (!sourceArn) {
|
|
6
|
+
throw new SqsError("InvalidParameterValue", "SourceArn is required");
|
|
7
|
+
}
|
|
8
|
+
if (!store.getQueueByArn(sourceArn)) {
|
|
9
|
+
throw new SqsError("ResourceNotFoundException", "The resource that you specified for the SourceArn parameter doesn't exist.", 404);
|
|
10
|
+
}
|
|
11
|
+
// AWS allows MaxResults in the range 1–10, defaulting to 1.
|
|
12
|
+
const requestedMaxResults = body.MaxResults ?? 1;
|
|
13
|
+
const maxResults = Math.min(10, Math.max(1, Math.trunc(requestedMaxResults) || 1));
|
|
14
|
+
const tasks = store.listMessageMoveTasks(sourceArn, maxResults);
|
|
15
|
+
const results = tasks.map((task) => ({
|
|
16
|
+
// AWS only returns a TaskHandle for RUNNING tasks (the cancellable ones).
|
|
17
|
+
...(task.status === "RUNNING" ? { TaskHandle: task.taskHandle } : {}),
|
|
18
|
+
Status: task.status,
|
|
19
|
+
SourceArn: task.sourceArn,
|
|
20
|
+
...(task.destinationArn ? { DestinationArn: task.destinationArn } : {}),
|
|
21
|
+
...(task.maxNumberOfMessagesPerSecond !== undefined
|
|
22
|
+
? { MaxNumberOfMessagesPerSecond: task.maxNumberOfMessagesPerSecond }
|
|
23
|
+
: {}),
|
|
24
|
+
ApproximateNumberOfMessagesMoved: task.approximateNumberOfMessagesMoved,
|
|
25
|
+
ApproximateNumberOfMessagesToMove: task.approximateNumberOfMessagesToMove,
|
|
26
|
+
...(task.failureReason ? { FailureReason: task.failureReason } : {}),
|
|
27
|
+
StartedTimestamp: task.startedTimestamp,
|
|
28
|
+
}));
|
|
29
|
+
return { Results: results };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=listMessageMoveTasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listMessageMoveTasks.js","sourceRoot":"","sources":["../../../src/sqs/actions/listMessageMoveTasks.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAClC,IAA6B,EAC7B,KAAe;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,QAAQ,CAChB,2BAA2B,EAC3B,4EAA4E,EAC5E,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,mBAAmB,GAAI,IAAI,CAAC,UAAiC,IAAI,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAsC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,0EAA0E;QAC1E,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,IAAI,CAAC,4BAA4B,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,EAAE;YACrE,CAAC,CAAC,EAAE,CAAC;QACP,gCAAgC,EAAE,IAAI,CAAC,gCAAgC;QACvE,iCAAiC,EAAE,IAAI,CAAC,iCAAiC;QACzE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACxC,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,OAAO,EAAE,OAAO,EAAuC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StartMessageMoveTaskResult } from "@aws-sdk/client-sqs";
|
|
2
|
+
import type { SqsStore } from "../sqsStore.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Starts a task to redrive messages from a dead-letter queue. When
|
|
5
|
+
* DestinationArn is omitted, each message is moved back to the queue it
|
|
6
|
+
* originally came from.
|
|
7
|
+
*/
|
|
8
|
+
export declare function startMessageMoveTask(body: Record<string, unknown>, store: SqsStore): StartMessageMoveTaskResult;
|
|
9
|
+
//# sourceMappingURL=startMessageMoveTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMessageMoveTask.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/startMessageMoveTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,0BAA0B,CAuB5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SqsError } from "../../common/errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Starts a task to redrive messages from a dead-letter queue. When
|
|
4
|
+
* DestinationArn is omitted, each message is moved back to the queue it
|
|
5
|
+
* originally came from.
|
|
6
|
+
*/
|
|
7
|
+
export function startMessageMoveTask(body, store) {
|
|
8
|
+
const sourceArn = body.SourceArn;
|
|
9
|
+
if (!sourceArn) {
|
|
10
|
+
throw new SqsError("InvalidParameterValue", "SourceArn is required");
|
|
11
|
+
}
|
|
12
|
+
const destinationArn = body.DestinationArn;
|
|
13
|
+
const maxNumberOfMessagesPerSecond = body.MaxNumberOfMessagesPerSecond;
|
|
14
|
+
if (maxNumberOfMessagesPerSecond !== undefined &&
|
|
15
|
+
(!Number.isInteger(maxNumberOfMessagesPerSecond) ||
|
|
16
|
+
maxNumberOfMessagesPerSecond < 1 ||
|
|
17
|
+
maxNumberOfMessagesPerSecond > 500)) {
|
|
18
|
+
throw new SqsError("InvalidParameterValue", "MaxNumberOfMessagesPerSecond must be an integer between 1 and 500.");
|
|
19
|
+
}
|
|
20
|
+
const task = store.startMessageMoveTask(sourceArn, destinationArn, maxNumberOfMessagesPerSecond);
|
|
21
|
+
return { TaskHandle: task.taskHandle };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=startMessageMoveTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startMessageMoveTask.js","sourceRoot":"","sources":["../../../src/sqs/actions/startMessageMoveTask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA6B,EAC7B,KAAe;IAEf,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAoC,CAAC;IACjE,MAAM,4BAA4B,GAAG,IAAI,CAAC,4BAAkD,CAAC;IAC7F,IACE,4BAA4B,KAAK,SAAS;QAC1C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC;YAC9C,4BAA4B,GAAG,CAAC;YAChC,4BAA4B,GAAG,GAAG,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,4BAA4B,CAAC,CAAC;IAEjG,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAuC,CAAC;AAC9E,CAAC"}
|
package/dist/sqs/sqsStore.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { QueueAttributeName } from "@aws-sdk/client-sqs";
|
|
|
2
2
|
import { FifoMap } from "toad-cache";
|
|
3
3
|
import type { MessageSpy } from "../spy.ts";
|
|
4
4
|
import type { PersistenceManager } from "../persistence.ts";
|
|
5
|
-
import type { SqsMessage, InflightEntry, ReceivedMessage, MessageAttributeValue } from "./sqsTypes.ts";
|
|
5
|
+
import type { SqsMessage, InflightEntry, ReceivedMessage, MessageAttributeValue, MessageMoveTask } from "./sqsTypes.ts";
|
|
6
6
|
export declare class SqsQueue {
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly url: string;
|
|
@@ -19,6 +19,8 @@ export declare class SqsQueue {
|
|
|
19
19
|
timer: ReturnType<typeof setTimeout>;
|
|
20
20
|
}>;
|
|
21
21
|
private pollTimer?;
|
|
22
|
+
/** Lazily-parsed RedrivePolicy. `undefined` = not parsed yet; `null` = unset/malformed. */
|
|
23
|
+
private parsedRedrivePolicy?;
|
|
22
24
|
spy?: MessageSpy;
|
|
23
25
|
persistence?: PersistenceManager;
|
|
24
26
|
fifoMessages: Map<string, SqsMessage[]>;
|
|
@@ -34,6 +36,15 @@ export declare class SqsQueue {
|
|
|
34
36
|
getAllAttributes(requested: string[]): Record<string, string>;
|
|
35
37
|
getAttribute(name: QueueAttributeName): string | undefined;
|
|
36
38
|
setAttributes(attrs: Record<string, string>): void;
|
|
39
|
+
/**
|
|
40
|
+
* Parsed RedrivePolicy for this queue, or undefined when unset or malformed.
|
|
41
|
+
* The result is cached and invalidated by {@link setAttributes}, so hot paths
|
|
42
|
+
* (dequeue, DLQ resolution) avoid re-parsing JSON on every call.
|
|
43
|
+
*/
|
|
44
|
+
getRedrivePolicy(): {
|
|
45
|
+
deadLetterTargetArn?: string;
|
|
46
|
+
maxReceiveCount?: number;
|
|
47
|
+
} | undefined;
|
|
37
48
|
enqueue(msg: SqsMessage): void;
|
|
38
49
|
dequeue(maxCount: number, visibilityTimeoutOverride?: number, dlqResolver?: (arn: string) => SqsQueue | undefined): ReceivedMessage[];
|
|
39
50
|
private dequeueFifo;
|
|
@@ -44,6 +55,15 @@ export declare class SqsQueue {
|
|
|
44
55
|
private startPollTimerIfNeeded;
|
|
45
56
|
private stopPollTimerIfEmpty;
|
|
46
57
|
purge(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Remove and return all currently-visible (ready) messages. Used by message
|
|
60
|
+
* move tasks (DLQ redrive). Delayed and in-flight messages are left in place.
|
|
61
|
+
*
|
|
62
|
+
* `fifoLockedGroups` is intentionally left untouched: a locked group tracks an
|
|
63
|
+
* in-flight message, which this method does not remove. That lock is released
|
|
64
|
+
* normally when the in-flight message is deleted or its visibility expires.
|
|
65
|
+
*/
|
|
66
|
+
removeAllReadyMessages(): SqsMessage[];
|
|
47
67
|
/** Return a non-destructive snapshot of all messages in the queue, grouped by state. */
|
|
48
68
|
inspectMessages(): {
|
|
49
69
|
ready: SqsMessage[];
|
|
@@ -69,6 +89,7 @@ export declare class SqsStore {
|
|
|
69
89
|
private queues;
|
|
70
90
|
private queuesByName;
|
|
71
91
|
private queuesByArn;
|
|
92
|
+
private messageMoveTasks;
|
|
72
93
|
host: string;
|
|
73
94
|
region?: string;
|
|
74
95
|
spy?: MessageSpy;
|
|
@@ -86,6 +107,26 @@ export declare class SqsStore {
|
|
|
86
107
|
nextToken?: string;
|
|
87
108
|
};
|
|
88
109
|
getQueueByArn(arn: string): SqsQueue | undefined;
|
|
110
|
+
/** Queues whose RedrivePolicy designates `dlqArn` as their dead-letter target. */
|
|
111
|
+
deadLetterSourceQueues(dlqArn: string): SqsQueue[];
|
|
112
|
+
/**
|
|
113
|
+
* Start a message move task (DLQ redrive). Ready messages in the source
|
|
114
|
+
* dead-letter queue are moved to `destinationArn`, or — when omitted — back to
|
|
115
|
+
* the queue each message originally came from. The move is performed
|
|
116
|
+
* synchronously, so the returned task is already COMPLETED;
|
|
117
|
+
* `maxNumberOfMessagesPerSecond` is recorded for API fidelity but not enforced.
|
|
118
|
+
*/
|
|
119
|
+
startMessageMoveTask(sourceArn: string, destinationArn?: string, maxNumberOfMessagesPerSecond?: number): MessageMoveTask;
|
|
120
|
+
/** List message move tasks for a source ARN, most recent first. */
|
|
121
|
+
listMessageMoveTasks(sourceArn: string, maxResults: number): MessageMoveTask[];
|
|
122
|
+
/**
|
|
123
|
+
* Cancel a running message move task. fauxqs runs move tasks synchronously, so
|
|
124
|
+
* by the time a caller could cancel one it has already completed — and, like
|
|
125
|
+
* real AWS, a task that is not RUNNING cannot be cancelled. The error message
|
|
126
|
+
* distinguishes an unknown handle from an already-finished task so callers are
|
|
127
|
+
* not misled into thinking a valid handle was rejected.
|
|
128
|
+
*/
|
|
129
|
+
cancelMessageMoveTask(taskHandle: string): number;
|
|
89
130
|
inspectQueue(name: string): {
|
|
90
131
|
name: string;
|
|
91
132
|
url: string;
|