@kensio/yulin 1.16.0 → 1.16.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.
- package/README.md +44 -46
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +2 -2
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +3 -2
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.d.ts +5 -2
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +38 -2
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.js +5 -2
- package/dist/service/cloudfront/origin/custom/sim-cf-function-url-origin-template.factory.js.map +1 -1
- package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +10 -0
- package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +14 -13
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +14 -18
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.d.ts +15 -6
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.d.ts.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.js +26 -19
- package/dist/service/cognito/command/hosted/sim-cognito-authorize-request.js.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +5 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js.map +1 -1
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +41 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts.map +1 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +71 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js.map +1 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +32 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts.map +1 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +36 -0
- package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js.map +1 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +22 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts.map +1 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.js +32 -0
- package/dist/service/cognito/error/sim-cognito-managed-login.error.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-confirm-page.d.ts +29 -0
- package/dist/service/cognito/serve/page/sim-cognito-confirm-page.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-confirm-page.js +90 -0
- package/dist/service/cognito/serve/page/sim-cognito-confirm-page.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +38 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +62 -0
- package/dist/service/cognito/serve/page/sim-cognito-managed-login.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-form.d.ts +47 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-form.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-form.js +76 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-form.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +69 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +111 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-markup.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-paths.d.ts +39 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-paths.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-paths.js +59 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-paths.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-request.d.ts +22 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-request.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-request.js +30 -0
- package/dist/service/cognito/serve/page/sim-cognito-page-request.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.d.ts +28 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.js +45 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-in-page.js.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.d.ts +35 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.d.ts.map +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.js +85 -0
- package/dist/service/cognito/serve/page/sim-cognito-sign-up-page.js.map +1 -0
- package/dist/service/cognito/serve/sim-cognito-domain-endpoints.d.ts +20 -23
- package/dist/service/cognito/serve/sim-cognito-domain-endpoints.d.ts.map +1 -1
- package/dist/service/cognito/serve/sim-cognito-domain-endpoints.js +40 -19
- package/dist/service/cognito/serve/sim-cognito-domain-endpoints.js.map +1 -1
- package/dist/service/cognito/serve/sim-cognito-domain-request.d.ts +14 -0
- package/dist/service/cognito/serve/sim-cognito-domain-request.d.ts.map +1 -0
- package/dist/service/cognito/serve/sim-cognito-domain-request.js +2 -0
- package/dist/service/cognito/serve/sim-cognito-domain-request.js.map +1 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +8 -0
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +14 -6
- package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
- package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.d.ts +28 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.d.ts.map +1 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.js +56 -0
- package/dist/service/lambda/serve/auth/sim-lambda-url-payload-hash.js.map +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +16 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -1
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +24 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -1
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +6 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -1
- package/dist/service/lambda/serve/sim-lambda-controller.js +11 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -1
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts +4 -3
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.d.ts.map +1 -1
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js +4 -3
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-properties.js.map +1 -1
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.d.ts +2 -2
- package/dist/service/sns/cfn/subscription/sim-cfn-sns-subscription-property-names.js +2 -2
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts +3 -0
- package/dist/service/sns/command/publish/sim-sns-publish-commands.d.ts.map +1 -1
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js +4 -2
- package/dist/service/sns/command/publish/sim-sns-publish-commands.js.map +1 -1
- package/dist/service/sns/command/publish/sim-sns-publish-dispatch.d.ts +39 -0
- package/dist/service/sns/command/publish/sim-sns-publish-dispatch.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-dispatch.js +42 -0
- package/dist/service/sns/command/publish/sim-sns-publish-dispatch.js.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts +3 -3
- package/dist/service/sns/command/publish/sim-sns-publish-input.d.ts.map +1 -1
- package/dist/service/sns/command/publish/sim-sns-publish-input.js +8 -8
- package/dist/service/sns/command/publish/sim-sns-publish-input.js.map +1 -1
- package/dist/service/sns/command/publish/sim-sns-publish-sms.d.ts +38 -0
- package/dist/service/sns/command/publish/sim-sns-publish-sms.d.ts.map +1 -0
- package/dist/service/sns/command/publish/sim-sns-publish-sms.js +53 -0
- package/dist/service/sns/command/publish/sim-sns-publish-sms.js.map +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts +1 -0
- package/dist/service/sns/command/sim-sns-command.types.d.ts.map +1 -1
- package/dist/service/sns/command/sim-sns-commands.d.ts +12 -4
- package/dist/service/sns/command/sim-sns-commands.d.ts.map +1 -1
- package/dist/service/sns/command/sim-sns-commands.js +39 -4
- package/dist/service/sns/command/sim-sns-commands.js.map +1 -1
- package/dist/service/sns/command/sms/sim-sns-opt-out-commands.d.ts +41 -0
- package/dist/service/sns/command/sms/sim-sns-opt-out-commands.d.ts.map +1 -0
- package/dist/service/sns/command/sms/sim-sns-opt-out-commands.js +56 -0
- package/dist/service/sns/command/sms/sim-sns-opt-out-commands.js.map +1 -0
- package/dist/service/sns/command/sms/sms.command.d.ts +50 -0
- package/dist/service/sns/command/sms/sms.command.d.ts.map +1 -0
- package/dist/service/sns/command/sms/sms.command.js +2 -0
- package/dist/service/sns/command/sms/sms.command.js.map +1 -0
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts +5 -6
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.d.ts.map +1 -1
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js +8 -12
- package/dist/service/sns/delivery/sim-aws-sns-delivery-endpoints.js.map +1 -1
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts +6 -13
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.d.ts.map +1 -1
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js +13 -2
- package/dist/service/sns/delivery/sim-sns-no-delivery-endpoints.js.map +1 -1
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts +10 -1
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.d.ts.map +1 -1
- package/dist/service/sns/delivery/sim-sns-protocol-delivery-endpoints.js.map +1 -1
- package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.d.ts +34 -0
- package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.d.ts.map +1 -0
- package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.js +46 -0
- package/dist/service/sns/delivery/sms/sim-sns-delivery-sms.js.map +1 -0
- package/dist/service/sns/index.d.ts +5 -1
- package/dist/service/sns/index.d.ts.map +1 -1
- package/dist/service/sns/index.js +4 -1
- package/dist/service/sns/index.js.map +1 -1
- package/dist/service/sns/message/sim-sns-message-attribute-rules.d.ts.map +1 -1
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js +9 -1
- package/dist/service/sns/message/sim-sns-message-attribute-rules.js.map +1 -1
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts +8 -0
- package/dist/service/sns/message/sim-sns-message-attributes.d.ts.map +1 -1
- package/dist/service/sns/message/sim-sns-message-attributes.js +10 -0
- package/dist/service/sns/message/sim-sns-message-attributes.js.map +1 -1
- package/dist/service/sns/message/sim-sns-sms-attributes.d.ts +25 -0
- package/dist/service/sns/message/sim-sns-sms-attributes.d.ts.map +1 -0
- package/dist/service/sns/message/sim-sns-sms-attributes.js +46 -0
- package/dist/service/sns/message/sim-sns-sms-attributes.js.map +1 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.d.ts.map +1 -1
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js +12 -0
- package/dist/service/sns/sdk/sim-sns-sdk-command-router.js.map +1 -1
- package/dist/service/sns/sim-sns-sms.d.ts +63 -0
- package/dist/service/sns/sim-sns-sms.d.ts.map +1 -0
- package/dist/service/sns/sim-sns-sms.js +76 -0
- package/dist/service/sns/sim-sns-sms.js.map +1 -0
- package/dist/service/sns/sim-sns.d.ts +7 -15
- package/dist/service/sns/sim-sns.d.ts.map +1 -1
- package/dist/service/sns/sim-sns.js +23 -30
- package/dist/service/sns/sim-sns.js.map +1 -1
- package/dist/service/sns/sms/sim-sns-opt-out-list.d.ts +40 -0
- package/dist/service/sns/sms/sim-sns-opt-out-list.d.ts.map +1 -0
- package/dist/service/sns/sms/sim-sns-opt-out-list.js +47 -0
- package/dist/service/sns/sms/sim-sns-opt-out-list.js.map +1 -0
- package/dist/service/sns/sms/sim-sns-phone-number.d.ts +21 -0
- package/dist/service/sns/sms/sim-sns-phone-number.d.ts.map +1 -0
- package/dist/service/sns/sms/sim-sns-phone-number.js +41 -0
- package/dist/service/sns/sms/sim-sns-phone-number.js.map +1 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-message.d.ts +69 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-message.d.ts.map +1 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-message.js +71 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-message.js.map +1 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts +25 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.d.ts.map +1 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.js +28 -0
- package/dist/service/sns/sms/sim-sns-sent-sms-store.js.map +1 -0
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts +9 -7
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.d.ts.map +1 -1
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js +7 -2
- package/dist/service/sns/subscription/sim-sns-subscription-endpoint.js.map +1 -1
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts +19 -1
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -1
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js +26 -5
- package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The message attribute carrying the name an SMS appears to come from.
|
|
3
|
+
*/
|
|
4
|
+
export declare const simSnsSenderIdAttribute = "AWS.SNS.SMS.SenderID";
|
|
5
|
+
/**
|
|
6
|
+
* The message attribute saying whether an SMS is transactional or promotional.
|
|
7
|
+
*/
|
|
8
|
+
export declare const simSnsSmsTypeAttribute = "AWS.SNS.SMS.SMSType";
|
|
9
|
+
/**
|
|
10
|
+
* The reserved SMS attributes a publish may carry here.
|
|
11
|
+
*
|
|
12
|
+
* Message attribute names beginning with `AWS.` are reserved, and real SNS
|
|
13
|
+
* refuses one a caller invents. These two are AWS's own, so real SNS takes
|
|
14
|
+
* them and so does this. Both are recorded on the SMS and read back from it.
|
|
15
|
+
*/
|
|
16
|
+
export declare const simSnsSmsAttributeNames: ReadonlySet<string>;
|
|
17
|
+
/**
|
|
18
|
+
* The reserved SMS attributes real SNS acts on and this simulation does not.
|
|
19
|
+
*
|
|
20
|
+
* Each is refused by name with the reason. An accepted `MaxPrice` that capped
|
|
21
|
+
* no spending would be a price cap a test believed was applied. That is the
|
|
22
|
+
* same reasoning that refuses `MessageGroupId` on a publish.
|
|
23
|
+
*/
|
|
24
|
+
export declare const simSnsUnsimulatedSmsAttributes: ReadonlyMap<string, string>;
|
|
25
|
+
//# sourceMappingURL=sim-sns-sms-attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-sms-attributes.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-sms-attributes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAAwB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAGtD,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAmBnE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The message attribute carrying the name an SMS appears to come from.
|
|
3
|
+
*/
|
|
4
|
+
export const simSnsSenderIdAttribute = "AWS.SNS.SMS.SenderID";
|
|
5
|
+
/**
|
|
6
|
+
* The message attribute saying whether an SMS is transactional or promotional.
|
|
7
|
+
*/
|
|
8
|
+
export const simSnsSmsTypeAttribute = "AWS.SNS.SMS.SMSType";
|
|
9
|
+
/**
|
|
10
|
+
* The reserved SMS attributes a publish may carry here.
|
|
11
|
+
*
|
|
12
|
+
* Message attribute names beginning with `AWS.` are reserved, and real SNS
|
|
13
|
+
* refuses one a caller invents. These two are AWS's own, so real SNS takes
|
|
14
|
+
* them and so does this. Both are recorded on the SMS and read back from it.
|
|
15
|
+
*/
|
|
16
|
+
export const simSnsSmsAttributeNames = new Set([
|
|
17
|
+
simSnsSenderIdAttribute,
|
|
18
|
+
simSnsSmsTypeAttribute,
|
|
19
|
+
]);
|
|
20
|
+
/**
|
|
21
|
+
* The reserved SMS attributes real SNS acts on and this simulation does not.
|
|
22
|
+
*
|
|
23
|
+
* Each is refused by name with the reason. An accepted `MaxPrice` that capped
|
|
24
|
+
* no spending would be a price cap a test believed was applied. That is the
|
|
25
|
+
* same reasoning that refuses `MessageGroupId` on a publish.
|
|
26
|
+
*/
|
|
27
|
+
export const simSnsUnsimulatedSmsAttributes = new Map([
|
|
28
|
+
[
|
|
29
|
+
"AWS.SNS.SMS.MaxPrice",
|
|
30
|
+
"Per-message pricing is not simulated. Nothing here would hold a " +
|
|
31
|
+
"message to a price cap.",
|
|
32
|
+
],
|
|
33
|
+
[
|
|
34
|
+
"AWS.MM.SMS.OriginationNumber",
|
|
35
|
+
"Origination numbers and phone pools are not simulated.",
|
|
36
|
+
],
|
|
37
|
+
[
|
|
38
|
+
"AWS.MM.SMS.EntityId",
|
|
39
|
+
"The India DLT registration these identify is not simulated.",
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"AWS.MM.SMS.TemplateId",
|
|
43
|
+
"The India DLT registration these identify is not simulated.",
|
|
44
|
+
],
|
|
45
|
+
]);
|
|
46
|
+
//# sourceMappingURL=sim-sns-sms-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-sms-attributes.js","sourceRoot":"","sources":["../../../../src/service/sns/message/sim-sns-sms-attributes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC;IAClE,uBAAuB;IACvB,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC,IAAI,GAAG,CAAC;IACN;QACE,sBAAsB;QACtB,kEAAkE;YAChE,yBAAyB;KAC5B;IACD;QACE,8BAA8B;QAC9B,wDAAwD;KACzD;IACD;QACE,qBAAqB;QACrB,6DAA6D;KAC9D;IACD;QACE,uBAAuB;QACvB,6DAA6D;KAC9D;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-sns-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/sdk/sim-sns-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-sns-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/sdk/sim-sns-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAyB/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,YAAY,MAAM,EAAE,MAAM,EAmIzB;IAED;;OAEG;IACH,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzD;CACF"}
|
|
@@ -58,6 +58,18 @@ export class SimSnsSdkCommandRouter {
|
|
|
58
58
|
"PublishBatchCommand",
|
|
59
59
|
async (command, context) => await simSns.publishBatch(command, simSdkCallerOptions(context)),
|
|
60
60
|
],
|
|
61
|
+
[
|
|
62
|
+
"CheckIfPhoneNumberIsOptedOutCommand",
|
|
63
|
+
async (command, context) => await simSns.checkIfPhoneNumberIsOptedOut(command, simSdkCallerOptions(context)),
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
"ListPhoneNumbersOptedOutCommand",
|
|
67
|
+
async (command, context) => await simSns.listPhoneNumbersOptedOut(command, simSdkCallerOptions(context)),
|
|
68
|
+
],
|
|
69
|
+
[
|
|
70
|
+
"OptInPhoneNumberCommand",
|
|
71
|
+
async (command, context) => await simSns.optInPhoneNumber(command, simSdkCallerOptions(context)),
|
|
72
|
+
],
|
|
61
73
|
]);
|
|
62
74
|
}
|
|
63
75
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-sns-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/sns/sdk/sim-sns-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-sns-sdk-command-router.js","sourceRoot":"","sources":["../../../../src/service/sns/sdk/sim-sns-sdk-command-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../util/background/background.js";
|
|
2
|
+
import type * as simSnsCommands from "./command/sim-sns-command.types.js";
|
|
3
|
+
import type { SimSnsCommands } from "./command/sim-sns-commands.js";
|
|
4
|
+
import type { SimSnsRequestOptions } from "./command/sim-sns-request-options.js";
|
|
5
|
+
import type { SimSnsSentSmsMessage } from "./sms/sim-sns-sent-sms-message.js";
|
|
6
|
+
interface SimSnsSmsProperties {
|
|
7
|
+
readonly commands: SimSnsCommands;
|
|
8
|
+
readonly background: BackgroundScheduler;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The SMS half of simulated SNS: publishing to a phone number, and the opt-out
|
|
12
|
+
* list that decides whether the message would have arrived.
|
|
13
|
+
*
|
|
14
|
+
* `SimSns` extends this, so a caller reaches these on the one service object
|
|
15
|
+
* alongside the topic operations. They are here because they are the operations
|
|
16
|
+
* that touch no topic at all.
|
|
17
|
+
*/
|
|
18
|
+
export declare abstract class SimSnsSms {
|
|
19
|
+
protected readonly commands: SimSnsCommands;
|
|
20
|
+
protected readonly background: BackgroundScheduler;
|
|
21
|
+
protected constructor(properties: SimSnsSmsProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Every SMS this simulated SNS would have sent, oldest first.
|
|
24
|
+
*
|
|
25
|
+
* Delivery stops at the simulator boundary, and this record is the whole of
|
|
26
|
+
* what an SMS is here. A message the opt-out list stopped is in the list
|
|
27
|
+
* too, marked suppressed.
|
|
28
|
+
*
|
|
29
|
+
* This is the simulator's own accessor. Real SNS tells a publisher nothing
|
|
30
|
+
* about what became of an SMS, and a test needs to know.
|
|
31
|
+
*/
|
|
32
|
+
sentSmsMessages(): readonly SimSnsSentSmsMessage[];
|
|
33
|
+
/**
|
|
34
|
+
* Stop sending SMS to a phone number, as a reply of STOP does on real SNS.
|
|
35
|
+
*
|
|
36
|
+
* Real SNS has no API for this, because the recipient does it from the
|
|
37
|
+
* handset. Standing in for the handset is the simulator's job, the same way
|
|
38
|
+
* verifying an SES identity is. `OptInPhoneNumber` reverses it.
|
|
39
|
+
*/
|
|
40
|
+
optOutPhoneNumber(phoneNumber: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Handle a Publish Command from the SDK.
|
|
43
|
+
*/
|
|
44
|
+
publish(command: simSnsCommands.SimPublishCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimPublishCommandOutput>;
|
|
45
|
+
/**
|
|
46
|
+
* Handle a PublishBatch Command from the SDK.
|
|
47
|
+
*/
|
|
48
|
+
publishBatch(command: simSnsCommands.SimPublishBatchCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimPublishBatchCommandOutput>;
|
|
49
|
+
/**
|
|
50
|
+
* Handle a CheckIfPhoneNumberIsOptedOut Command from the SDK.
|
|
51
|
+
*/
|
|
52
|
+
checkIfPhoneNumberIsOptedOut(command: simSnsCommands.SimCheckIfPhoneNumberIsOptedOutCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimCheckIfPhoneNumberIsOptedOutCommandOutput>;
|
|
53
|
+
/**
|
|
54
|
+
* Handle a ListPhoneNumbersOptedOut Command from the SDK.
|
|
55
|
+
*/
|
|
56
|
+
listPhoneNumbersOptedOut(command: simSnsCommands.SimListPhoneNumbersOptedOutCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimListPhoneNumbersOptedOutCommandOutput>;
|
|
57
|
+
/**
|
|
58
|
+
* Handle an OptInPhoneNumber Command from the SDK.
|
|
59
|
+
*/
|
|
60
|
+
optInPhoneNumber(command: simSnsCommands.SimOptInPhoneNumberCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimOptInPhoneNumberCommandOutput>;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
63
|
+
//# sourceMappingURL=sim-sns-sms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-sms.d.ts","sourceRoot":"","sources":["../../../src/service/sns/sim-sns-sms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,KAAK,cAAc,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,8BAAsB,SAAS;IAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEnD,SAAS,aAAa,UAAU,EAAE,mBAAmB,EAGpD;IAED;;;;;;;;;OASG;IACH,eAAe,IAAI,SAAS,oBAAoB,EAAE,CAEjD;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAE3C;IAED;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,cAAc,CAAC,iBAAiB,EACzC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAGjD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,4BAA4B,CAChC,OAAO,EAAE,cAAc,CAAC,sCAAsC,EAC9D,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4CAA4C,CAAC,CAGtE;IAED;;OAEG;IACG,wBAAwB,CAC5B,OAAO,EAAE,cAAc,CAAC,kCAAkC,EAC1D,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,wCAAwC,CAAC,CAGlE;IAED;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,cAAc,CAAC,0BAA0B,EAClD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAG1D;CACF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { SimSnsPhoneNumber } from "./sms/sim-sns-phone-number.js";
|
|
2
|
+
/**
|
|
3
|
+
* The SMS half of simulated SNS: publishing to a phone number, and the opt-out
|
|
4
|
+
* list that decides whether the message would have arrived.
|
|
5
|
+
*
|
|
6
|
+
* `SimSns` extends this, so a caller reaches these on the one service object
|
|
7
|
+
* alongside the topic operations. They are here because they are the operations
|
|
8
|
+
* that touch no topic at all.
|
|
9
|
+
*/
|
|
10
|
+
export class SimSnsSms {
|
|
11
|
+
commands;
|
|
12
|
+
background;
|
|
13
|
+
constructor(properties) {
|
|
14
|
+
this.commands = properties.commands;
|
|
15
|
+
this.background = properties.background;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Every SMS this simulated SNS would have sent, oldest first.
|
|
19
|
+
*
|
|
20
|
+
* Delivery stops at the simulator boundary, and this record is the whole of
|
|
21
|
+
* what an SMS is here. A message the opt-out list stopped is in the list
|
|
22
|
+
* too, marked suppressed.
|
|
23
|
+
*
|
|
24
|
+
* This is the simulator's own accessor. Real SNS tells a publisher nothing
|
|
25
|
+
* about what became of an SMS, and a test needs to know.
|
|
26
|
+
*/
|
|
27
|
+
sentSmsMessages() {
|
|
28
|
+
return this.commands.sentSms.all;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Stop sending SMS to a phone number, as a reply of STOP does on real SNS.
|
|
32
|
+
*
|
|
33
|
+
* Real SNS has no API for this, because the recipient does it from the
|
|
34
|
+
* handset. Standing in for the handset is the simulator's job, the same way
|
|
35
|
+
* verifying an SES identity is. `OptInPhoneNumber` reverses it.
|
|
36
|
+
*/
|
|
37
|
+
optOutPhoneNumber(phoneNumber) {
|
|
38
|
+
this.commands.optOutList.optOut(SimSnsPhoneNumber.of(phoneNumber));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Handle a Publish Command from the SDK.
|
|
42
|
+
*/
|
|
43
|
+
async publish(command, options) {
|
|
44
|
+
await this.background.sequence();
|
|
45
|
+
return this.commands.publish.publish(command, options);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Handle a PublishBatch Command from the SDK.
|
|
49
|
+
*/
|
|
50
|
+
async publishBatch(command, options) {
|
|
51
|
+
await this.background.sequence();
|
|
52
|
+
return this.commands.publish.publishBatch(command, options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Handle a CheckIfPhoneNumberIsOptedOut Command from the SDK.
|
|
56
|
+
*/
|
|
57
|
+
async checkIfPhoneNumberIsOptedOut(command, options) {
|
|
58
|
+
await this.background.sequence();
|
|
59
|
+
return this.commands.optOut.checkIfPhoneNumberIsOptedOut(command, options);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Handle a ListPhoneNumbersOptedOut Command from the SDK.
|
|
63
|
+
*/
|
|
64
|
+
async listPhoneNumbersOptedOut(command, options) {
|
|
65
|
+
await this.background.sequence();
|
|
66
|
+
return this.commands.optOut.listPhoneNumbersOptedOut(command, options);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Handle an OptInPhoneNumber Command from the SDK.
|
|
70
|
+
*/
|
|
71
|
+
async optInPhoneNumber(command, options) {
|
|
72
|
+
await this.background.sequence();
|
|
73
|
+
return this.commands.optOut.optInPhoneNumber(command, options);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=sim-sns-sms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-sms.js","sourceRoot":"","sources":["../../../src/service/sns/sim-sns-sms.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQlE;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAS;IACV,QAAQ,CAAiB;IACzB,UAAU,CAAsB;IAEnD,YAAsB,UAA+B;QACnD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,WAAmB;QACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,OAAyC,EACzC,OAA8B;QAE9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAA8C,EAC9C,OAA8B;QAE9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAA8D,EAC9D,OAA8B;QAE9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAA0D,EAC1D,OAA8B;QAE9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAkD,EAClD,OAA8B;QAE9B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -2,11 +2,12 @@ import { type BackgroundScheduler } from "../../util/background/background.js";
|
|
|
2
2
|
import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
|
|
3
3
|
import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
|
|
4
4
|
import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
-
import type { SimSnsDeliveryEndpoints } from "./delivery/sim-sns-delivery.js";
|
|
6
5
|
import type { SimSnsDeliveryFailure } from "./delivery/sim-sns-delivery-failures.js";
|
|
6
|
+
import type { SimSnsOutwardDeliveryEndpoints } from "./delivery/sim-sns-protocol-delivery-endpoints.js";
|
|
7
7
|
import type * as simSnsCommands from "./command/sim-sns-command.types.js";
|
|
8
8
|
import type { SimSnsRequestOptions } from "./command/sim-sns-request-options.js";
|
|
9
9
|
import { SimSnsCfnResourceFactory } from "./cfn/sim-sns-cfn-resource-factory.js";
|
|
10
|
+
import { SimSnsSms } from "./sim-sns-sms.js";
|
|
10
11
|
import type { SimSnsSubscription } from "./subscription/sim-sns-subscription.js";
|
|
11
12
|
import type { SimSnsTopic } from "./topic/sim-sns-topic.js";
|
|
12
13
|
interface SimSnsProperties {
|
|
@@ -14,12 +15,13 @@ interface SimSnsProperties {
|
|
|
14
15
|
readonly iam?: SimIamInterServiceAuthZ;
|
|
15
16
|
readonly background?: BackgroundScheduler;
|
|
16
17
|
/**
|
|
17
|
-
* Where this scope's subscriptions deliver to.
|
|
18
|
+
* Where this scope's subscriptions deliver to, outside simulated SNS itself.
|
|
18
19
|
*
|
|
19
20
|
* A SimSns built on its own has none, since a queue or a function in another
|
|
20
|
-
* simulated service is only reachable through SimAws.
|
|
21
|
+
* simulated service is only reachable through SimAws. An `sms` subscription
|
|
22
|
+
* needs nothing here, because simulated SNS records those itself.
|
|
21
23
|
*/
|
|
22
|
-
readonly deliveryEndpoints?:
|
|
24
|
+
readonly deliveryEndpoints?: SimSnsOutwardDeliveryEndpoints;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Simulated SNS. Handles SDK commands. Emulates AWS behaviour and state.
|
|
@@ -30,11 +32,9 @@ interface SimSnsProperties {
|
|
|
30
32
|
*
|
|
31
33
|
* Only standard topics are simulated. FIFO topics are not.
|
|
32
34
|
*/
|
|
33
|
-
export declare class SimSns {
|
|
35
|
+
export declare class SimSns extends SimSnsSms {
|
|
34
36
|
private readonly topics;
|
|
35
37
|
private readonly subscriptions;
|
|
36
|
-
private readonly commands;
|
|
37
|
-
private readonly background;
|
|
38
38
|
private readonly sdkRouter;
|
|
39
39
|
private readonly cfnFactory;
|
|
40
40
|
constructor(properties?: SimSnsProperties);
|
|
@@ -118,14 +118,6 @@ export declare class SimSns {
|
|
|
118
118
|
* Handle a SetSubscriptionAttributes Command from the SDK.
|
|
119
119
|
*/
|
|
120
120
|
setSubscriptionAttributes(command: simSnsCommands.SimSetSubscriptionAttributesCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimSetSubscriptionAttributesCommandOutput>;
|
|
121
|
-
/**
|
|
122
|
-
* Handle a Publish Command from the SDK.
|
|
123
|
-
*/
|
|
124
|
-
publish(command: simSnsCommands.SimPublishCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimPublishCommandOutput>;
|
|
125
|
-
/**
|
|
126
|
-
* Handle a PublishBatch Command from the SDK.
|
|
127
|
-
*/
|
|
128
|
-
publishBatch(command: simSnsCommands.SimPublishBatchCommand, options?: SimSnsRequestOptions): Promise<simSnsCommands.SimPublishBatchCommandOutput>;
|
|
129
121
|
/**
|
|
130
122
|
* Get this service's CloudFormation Resource factory.
|
|
131
123
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-sns.d.ts","sourceRoot":"","sources":["../../../src/service/sns/sim-sns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-sns.d.ts","sourceRoot":"","sources":["../../../src/service/sns/sim-sns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { BackgroundTasks, } from "../../util/background/background.js";
|
|
2
2
|
import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
|
|
3
3
|
import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
4
|
-
import {
|
|
4
|
+
import { simSnsNoDeliveryEndpoints } from "./delivery/sim-sns-no-delivery-endpoints.js";
|
|
5
5
|
import { SimSnsCommands } from "./command/sim-sns-commands.js";
|
|
6
6
|
import { SimSnsCfnResourceFactory } from "./cfn/sim-sns-cfn-resource-factory.js";
|
|
7
7
|
import { SimSnsSdkCommandRouter } from "./sdk/sim-sns-sdk-command-router.js";
|
|
8
|
+
import { SimSnsSms } from "./sim-sns-sms.js";
|
|
8
9
|
import { SimSnsSubscriptionStore } from "./subscription/sim-sns-subscription-store.js";
|
|
9
10
|
import { SimSnsTopicStore } from "./topic/sim-sns-topic-store.js";
|
|
10
11
|
/**
|
|
@@ -16,24 +17,30 @@ import { SimSnsTopicStore } from "./topic/sim-sns-topic-store.js";
|
|
|
16
17
|
*
|
|
17
18
|
* Only standard topics are simulated. FIFO topics are not.
|
|
18
19
|
*/
|
|
19
|
-
export class SimSns {
|
|
20
|
-
topics
|
|
21
|
-
subscriptions
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
sdkRouter = new SimSnsSdkCommandRouter(this);
|
|
25
|
-
cfnFactory = new SimSnsCfnResourceFactory({ sns: this });
|
|
20
|
+
export class SimSns extends SimSnsSms {
|
|
21
|
+
topics;
|
|
22
|
+
subscriptions;
|
|
23
|
+
sdkRouter;
|
|
24
|
+
cfnFactory;
|
|
26
25
|
constructor(properties = {}) {
|
|
27
|
-
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), deliveryEndpoints =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
subscriptions: this.subscriptions,
|
|
32
|
-
iam,
|
|
26
|
+
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), deliveryEndpoints = simSnsNoDeliveryEndpoints(), } = properties;
|
|
27
|
+
const topics = new SimSnsTopicStore();
|
|
28
|
+
const subscriptions = new SimSnsSubscriptionStore();
|
|
29
|
+
super({
|
|
33
30
|
background,
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
commands: new SimSnsCommands({
|
|
32
|
+
topics,
|
|
33
|
+
subscriptions,
|
|
34
|
+
iam,
|
|
35
|
+
background,
|
|
36
|
+
deliveryEndpoints,
|
|
37
|
+
accountRegionScope,
|
|
38
|
+
}),
|
|
36
39
|
});
|
|
40
|
+
this.topics = topics;
|
|
41
|
+
this.subscriptions = subscriptions;
|
|
42
|
+
this.sdkRouter = new SimSnsSdkCommandRouter(this);
|
|
43
|
+
this.cfnFactory = new SimSnsCfnResourceFactory({ sns: this });
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
46
|
* Every message this simulated SNS could not deliver.
|
|
@@ -158,20 +165,6 @@ export class SimSns {
|
|
|
158
165
|
await this.background.sequence();
|
|
159
166
|
return this.commands.subscriptionAttributes.setSubscriptionAttributes(command, options);
|
|
160
167
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Handle a Publish Command from the SDK.
|
|
163
|
-
*/
|
|
164
|
-
async publish(command, options) {
|
|
165
|
-
await this.background.sequence();
|
|
166
|
-
return this.commands.publish.publish(command, options);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Handle a PublishBatch Command from the SDK.
|
|
170
|
-
*/
|
|
171
|
-
async publishBatch(command, options) {
|
|
172
|
-
await this.background.sequence();
|
|
173
|
-
return this.commands.publish.publishBatch(command, options);
|
|
174
|
-
}
|
|
175
168
|
/**
|
|
176
169
|
* Get this service's CloudFormation Resource factory.
|
|
177
170
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-sns.js","sourceRoot":"","sources":["../../../src/service/sns/sim-sns.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EACL,kBAAkB,GAEnB,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-sns.js","sourceRoot":"","sources":["../../../src/service/sns/sim-sns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SimSnsPhoneNumber } from "./sim-sns-phone-number.js";
|
|
2
|
+
/**
|
|
3
|
+
* The phone numbers one simulated SNS scope will send no SMS to.
|
|
4
|
+
*
|
|
5
|
+
* Real SNS puts a number on this list when the recipient replies STOP, and the
|
|
6
|
+
* API only takes numbers back off it. `SimSns.optOutPhoneNumber` is what puts
|
|
7
|
+
* one on. That is a deliberate divergence, for the same reason SES identity
|
|
8
|
+
* verification is one. The act a recipient performs on a handset belongs to
|
|
9
|
+
* the simulator, since a test process has no handset to perform it on.
|
|
10
|
+
*
|
|
11
|
+
* Numbers are held in the order they were opted out.
|
|
12
|
+
* `ListPhoneNumbersOptedOut` reports them in that order.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimSnsOptOutList {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* Every opted-out number, in the order they were opted out.
|
|
18
|
+
*/
|
|
19
|
+
get all(): readonly string[];
|
|
20
|
+
/**
|
|
21
|
+
* Stop sending SMS to a number, as a reply of STOP does on real SNS.
|
|
22
|
+
*
|
|
23
|
+
* Opting out a number already on the list leaves it where it is, so its
|
|
24
|
+
* place in the listing stays put.
|
|
25
|
+
*/
|
|
26
|
+
optOut(phoneNumber: SimSnsPhoneNumber): void;
|
|
27
|
+
/**
|
|
28
|
+
* Start sending SMS to a number again.
|
|
29
|
+
*
|
|
30
|
+
* Real SNS allows this once every thirty days per number and refuses a
|
|
31
|
+
* second attempt inside the window. That limit is absent here. A test can
|
|
32
|
+
* opt a number in as often as it needs to.
|
|
33
|
+
*/
|
|
34
|
+
optIn(phoneNumber: SimSnsPhoneNumber): void;
|
|
35
|
+
/**
|
|
36
|
+
* Whether SMS to this number would be stopped.
|
|
37
|
+
*/
|
|
38
|
+
isOptedOut(phoneNumber: SimSnsPhoneNumber): boolean;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=sim-sns-opt-out-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-opt-out-list.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/sms/sim-sns-opt-out-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;;IAG3B;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,MAAM,EAAE,CAE3B;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAE3C;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAE1C;IAED;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAElD;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The phone numbers one simulated SNS scope will send no SMS to.
|
|
3
|
+
*
|
|
4
|
+
* Real SNS puts a number on this list when the recipient replies STOP, and the
|
|
5
|
+
* API only takes numbers back off it. `SimSns.optOutPhoneNumber` is what puts
|
|
6
|
+
* one on. That is a deliberate divergence, for the same reason SES identity
|
|
7
|
+
* verification is one. The act a recipient performs on a handset belongs to
|
|
8
|
+
* the simulator, since a test process has no handset to perform it on.
|
|
9
|
+
*
|
|
10
|
+
* Numbers are held in the order they were opted out.
|
|
11
|
+
* `ListPhoneNumbersOptedOut` reports them in that order.
|
|
12
|
+
*/
|
|
13
|
+
export class SimSnsOptOutList {
|
|
14
|
+
#optedOut = new Set();
|
|
15
|
+
/**
|
|
16
|
+
* Every opted-out number, in the order they were opted out.
|
|
17
|
+
*/
|
|
18
|
+
get all() {
|
|
19
|
+
return [...this.#optedOut];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Stop sending SMS to a number, as a reply of STOP does on real SNS.
|
|
23
|
+
*
|
|
24
|
+
* Opting out a number already on the list leaves it where it is, so its
|
|
25
|
+
* place in the listing stays put.
|
|
26
|
+
*/
|
|
27
|
+
optOut(phoneNumber) {
|
|
28
|
+
this.#optedOut.add(phoneNumber.value);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Start sending SMS to a number again.
|
|
32
|
+
*
|
|
33
|
+
* Real SNS allows this once every thirty days per number and refuses a
|
|
34
|
+
* second attempt inside the window. That limit is absent here. A test can
|
|
35
|
+
* opt a number in as often as it needs to.
|
|
36
|
+
*/
|
|
37
|
+
optIn(phoneNumber) {
|
|
38
|
+
this.#optedOut.delete(phoneNumber.value);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Whether SMS to this number would be stopped.
|
|
42
|
+
*/
|
|
43
|
+
isOptedOut(phoneNumber) {
|
|
44
|
+
return this.#optedOut.has(phoneNumber.value);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=sim-sns-opt-out-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-opt-out-list.js","sourceRoot":"","sources":["../../../../src/service/sns/sms/sim-sns-opt-out-list.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,gBAAgB;IAClB,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAA8B;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAA8B;QAClC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,WAA8B;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A phone number simulated SNS will send an SMS to.
|
|
3
|
+
*
|
|
4
|
+
* Real SNS takes E.164 and refuses everything else, and the opt-out list is
|
|
5
|
+
* keyed by the same form. Holding it as a value keeps the check in one place.
|
|
6
|
+
* A number that reaches the opt-out list or a recorded SMS has been through it
|
|
7
|
+
* already.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimSnsPhoneNumber {
|
|
10
|
+
readonly value: string;
|
|
11
|
+
private constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Read the phone number a request names, refusing one real SNS would refuse.
|
|
14
|
+
*
|
|
15
|
+
* The wording real SNS uses varies by operation. This is one message for all
|
|
16
|
+
* of them, naming the parameter and the value the way the SNS errors here
|
|
17
|
+
* already do.
|
|
18
|
+
*/
|
|
19
|
+
static of(value?: string): SimSnsPhoneNumber;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=sim-sns-phone-number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-phone-number.d.ts","sourceRoot":"","sources":["../../../../src/service/sns/sms/sim-sns-phone-number.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,OAAO,eAEN;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,GAAE,MAAsB,GAAG,iBAAiB,CAS1D;CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { SimSnsInvalidParameterException } from "../error/sim-sns.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* E.164 form. A plus sign, a country code that never starts with zero, and
|
|
4
|
+
* fifteen digits at the most.
|
|
5
|
+
*/
|
|
6
|
+
const phoneNumberPattern = /^\+[1-9]\d{1,14}$/;
|
|
7
|
+
/**
|
|
8
|
+
* What a missing phone number is called in the error naming it.
|
|
9
|
+
*
|
|
10
|
+
* This is the wording the subscription protocol check uses for the same case.
|
|
11
|
+
*/
|
|
12
|
+
const missingNumber = "(none)";
|
|
13
|
+
/**
|
|
14
|
+
* A phone number simulated SNS will send an SMS to.
|
|
15
|
+
*
|
|
16
|
+
* Real SNS takes E.164 and refuses everything else, and the opt-out list is
|
|
17
|
+
* keyed by the same form. Holding it as a value keeps the check in one place.
|
|
18
|
+
* A number that reaches the opt-out list or a recorded SMS has been through it
|
|
19
|
+
* already.
|
|
20
|
+
*/
|
|
21
|
+
export class SimSnsPhoneNumber {
|
|
22
|
+
value;
|
|
23
|
+
constructor(value) {
|
|
24
|
+
this.value = value;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Read the phone number a request names, refusing one real SNS would refuse.
|
|
28
|
+
*
|
|
29
|
+
* The wording real SNS uses varies by operation. This is one message for all
|
|
30
|
+
* of them, naming the parameter and the value the way the SNS errors here
|
|
31
|
+
* already do.
|
|
32
|
+
*/
|
|
33
|
+
static of(value = missingNumber) {
|
|
34
|
+
if (!phoneNumberPattern.test(value)) {
|
|
35
|
+
throw new SimSnsInvalidParameterException(`Invalid parameter: PhoneNumber Reason: ${value} is not an E.164 ` +
|
|
36
|
+
`phone number`);
|
|
37
|
+
}
|
|
38
|
+
return new this(value);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=sim-sns-phone-number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sns-phone-number.js","sourceRoot":"","sources":["../../../../src/service/sns/sms/sim-sns-phone-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E;;;GAGG;AACH,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACZ,KAAK,CAAS;IAE9B,YAAoB,KAAa;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,GAAW,aAAa;QACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,+BAA+B,CACvC,0CAA0C,KAAK,mBAAmB;gBAChE,cAAc,CACjB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF"}
|