n8n-nodes-aws-sns-trigger-with-policy 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +19 -0
- package/README.md +47 -0
- package/dist/nodes/AwsSnsTrigger.node.d.ts +17 -0
- package/dist/nodes/AwsSnsTrigger.node.js +248 -0
- package/dist/nodes/AwsSnsTrigger.node.js.map +1 -0
- package/dist/nodes/AwsSnsTrigger.node.json +18 -0
- package/dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.d.ts +17 -0
- package/dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.js +248 -0
- package/dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.js.map +1 -0
- package/dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.json +18 -0
- package/dist/nodes/GenericFunctions.d.ts +4 -0
- package/dist/nodes/GenericFunctions.js +54 -0
- package/dist/nodes/GenericFunctions.js.map +1 -0
- package/dist/package.json +53 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/index.js +0 -0
- package/package.json +53 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# n8n-nodes-starter
|
|
4
|
+
|
|
5
|
+
This repo contains example nodes to help you get started building your own custom integrations for [n8n](n8n.io). It includes the node linter and other dependencies.
|
|
6
|
+
|
|
7
|
+
To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
You need the following installed on your development machine:
|
|
12
|
+
|
|
13
|
+
* [git](https://git-scm.com/downloads)
|
|
14
|
+
* Node.js and npm. Minimum version Node 16. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
|
|
15
|
+
* Install n8n with:
|
|
16
|
+
```
|
|
17
|
+
npm install n8n -g
|
|
18
|
+
```
|
|
19
|
+
* Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Using this starter
|
|
23
|
+
|
|
24
|
+
These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).
|
|
25
|
+
|
|
26
|
+
1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
|
|
27
|
+
2. Clone your new repo:
|
|
28
|
+
```
|
|
29
|
+
git clone https://github.com/<your organization>/<your-repo-name>.git
|
|
30
|
+
```
|
|
31
|
+
3. Run `npm i` to install dependencies.
|
|
32
|
+
4. Open the project in your editor.
|
|
33
|
+
5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
|
|
34
|
+
6. Update the `package.json` to match your details.
|
|
35
|
+
7. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
|
|
36
|
+
8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
|
|
37
|
+
9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
|
|
38
|
+
10. Update the LICENSE file to use your details.
|
|
39
|
+
11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.
|
|
40
|
+
|
|
41
|
+
## More information
|
|
42
|
+
|
|
43
|
+
Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.
|
|
44
|
+
|
|
45
|
+
## License
|
|
46
|
+
|
|
47
|
+
[MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IHookFunctions, IWebhookFunctions, ILoadOptionsFunctions, INodeListSearchResult, INodeType, INodeTypeDescription, IWebhookResponseData } from 'n8n-workflow';
|
|
2
|
+
export declare class AwsSnsTrigger implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
listSearch: {
|
|
6
|
+
listTopics(this: ILoadOptionsFunctions, filter?: string, paginationToken?: string): Promise<INodeListSearchResult>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
webhookMethods: {
|
|
10
|
+
default: {
|
|
11
|
+
checkExists(this: IHookFunctions): Promise<boolean>;
|
|
12
|
+
create(this: IHookFunctions): Promise<boolean>;
|
|
13
|
+
delete(this: IHookFunctions): Promise<boolean>;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AwsSnsTrigger = void 0;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const get_1 = __importDefault(require("lodash/get"));
|
|
9
|
+
const GenericFunctions_1 = require("./GenericFunctions");
|
|
10
|
+
class AwsSnsTrigger {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.description = {
|
|
13
|
+
displayName: 'AWS SNS Trigger With Policy',
|
|
14
|
+
subtitle: '={{$parameter["topic"].split(\':\')[5]}}',
|
|
15
|
+
name: 'awsSnsTriggerWithPolicy',
|
|
16
|
+
icon: 'file:sns.svg',
|
|
17
|
+
group: ['trigger'],
|
|
18
|
+
version: 1,
|
|
19
|
+
description: 'Handle AWS SNS events via webhooks',
|
|
20
|
+
defaults: {
|
|
21
|
+
name: 'AWS SNS Trigger Policy',
|
|
22
|
+
},
|
|
23
|
+
inputs: [],
|
|
24
|
+
outputs: ['main'],
|
|
25
|
+
credentials: [
|
|
26
|
+
{
|
|
27
|
+
name: 'aws',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
webhooks: [
|
|
32
|
+
{
|
|
33
|
+
name: 'default',
|
|
34
|
+
httpMethod: 'POST',
|
|
35
|
+
responseMode: 'onReceived',
|
|
36
|
+
path: 'webhook',
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
properties: [
|
|
40
|
+
{
|
|
41
|
+
displayName: 'Topic',
|
|
42
|
+
name: 'topic',
|
|
43
|
+
type: 'resourceLocator',
|
|
44
|
+
default: { mode: 'list', value: '' },
|
|
45
|
+
required: true,
|
|
46
|
+
modes: [
|
|
47
|
+
{
|
|
48
|
+
displayName: 'From List',
|
|
49
|
+
name: 'list',
|
|
50
|
+
type: 'list',
|
|
51
|
+
placeholder: 'Select a topic...',
|
|
52
|
+
typeOptions: {
|
|
53
|
+
searchListMethod: 'listTopics',
|
|
54
|
+
searchable: true,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
displayName: 'By URL',
|
|
59
|
+
name: 'url',
|
|
60
|
+
type: 'string',
|
|
61
|
+
placeholder: 'https://us-east-1.console.aws.amazon.com/sns/v3/home?region=us-east-1#/topic/arn:aws:sns:us-east-1:777777777777:your_topic',
|
|
62
|
+
validation: [
|
|
63
|
+
{
|
|
64
|
+
type: 'regex',
|
|
65
|
+
properties: {
|
|
66
|
+
regex: 'https:\\/\\/[0-9a-zA-Z\\-_]+\\.console\\.aws\\.amazon\\.com\\/sns\\/v3\\/home\\?region\\=[0-9a-zA-Z\\-_]+\\#\\/topic\\/arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+(?:\\/.*|)',
|
|
67
|
+
errorMessage: 'Not a valid AWS SNS Topic URL',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
extractValue: {
|
|
72
|
+
type: 'regex',
|
|
73
|
+
regex: 'https:\\/\\/[0-9a-zA-Z\\-_]+\\.console\\.aws\\.amazon\\.com\\/sns\\/v3\\/home\\?region\\=[0-9a-zA-Z\\-_]+\\#\\/topic\\/(arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+)(?:\\/.*|)',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
displayName: 'ID',
|
|
78
|
+
name: 'id',
|
|
79
|
+
type: 'string',
|
|
80
|
+
validation: [
|
|
81
|
+
{
|
|
82
|
+
type: 'regex',
|
|
83
|
+
properties: {
|
|
84
|
+
regex: 'arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+',
|
|
85
|
+
errorMessage: 'Not a valid AWS SNS Topic ARN',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
placeholder: 'arn:aws:sns:your-aws-region:777777777777:your_topic',
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
displayName: 'Filter Policy',
|
|
95
|
+
name: 'FilterPolicy',
|
|
96
|
+
type: 'json',
|
|
97
|
+
default: '{}',
|
|
98
|
+
required: true,
|
|
99
|
+
placeholder: '{"Statement": [{"Effect": "...", "Action": "SNS:Publish", ...}]}',
|
|
100
|
+
description: 'The JSON configuration for the SNS policy.',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
displayName: 'Filter Policy Scope',
|
|
104
|
+
name: 'FilterPolicyScope',
|
|
105
|
+
type: 'options',
|
|
106
|
+
options: [
|
|
107
|
+
{
|
|
108
|
+
name: 'Attributes',
|
|
109
|
+
value: 'MessageAttributes',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: 'Body',
|
|
113
|
+
value: 'MessageBody',
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
default: 'MessageAttributes',
|
|
117
|
+
required: true,
|
|
118
|
+
description: 'Select whether the policy should apply to Attributes or Body.',
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
this.methods = {
|
|
123
|
+
listSearch: {
|
|
124
|
+
async listTopics(filter, paginationToken) {
|
|
125
|
+
const returnData = [];
|
|
126
|
+
const params = paginationToken ? `NextToken=${encodeURIComponent(paginationToken)}` : '';
|
|
127
|
+
const data = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ListTopics&' + params);
|
|
128
|
+
let topics = data.ListTopicsResponse.ListTopicsResult.Topics.member;
|
|
129
|
+
const nextToken = data.ListTopicsResponse.ListTopicsResult.NextToken;
|
|
130
|
+
if (nextToken) {
|
|
131
|
+
paginationToken = nextToken;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
paginationToken = undefined;
|
|
135
|
+
}
|
|
136
|
+
if (!Array.isArray(topics)) {
|
|
137
|
+
topics = [topics];
|
|
138
|
+
}
|
|
139
|
+
for (const topic of topics) {
|
|
140
|
+
const topicArn = topic.TopicArn;
|
|
141
|
+
const arnParsed = topicArn.split(':');
|
|
142
|
+
const topicName = arnParsed[5];
|
|
143
|
+
const awsRegion = arnParsed[3];
|
|
144
|
+
if (filter && !topicName.includes(filter)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
returnData.push({
|
|
148
|
+
name: topicName,
|
|
149
|
+
value: topicArn,
|
|
150
|
+
url: `https://${awsRegion}.console.aws.amazon.com/sns/v3/home?region=${awsRegion}#/topic/${topicArn}`,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return { results: returnData, paginationToken };
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
this.webhookMethods = {
|
|
158
|
+
default: {
|
|
159
|
+
async checkExists() {
|
|
160
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
161
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
162
|
+
extractValue: true,
|
|
163
|
+
});
|
|
164
|
+
if (webhookData.webhookId === undefined) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
const params = [`TopicArn=${topic}`, 'Version=2010-03-31'];
|
|
168
|
+
const data = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ListSubscriptionsByTopic&' + params.join('&'));
|
|
169
|
+
const subscriptions = (0, get_1.default)(data, 'ListSubscriptionsByTopicResponse.ListSubscriptionsByTopicResult.Subscriptions');
|
|
170
|
+
if (!(subscriptions === null || subscriptions === void 0 ? void 0 : subscriptions.member)) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
let subscriptionMembers = subscriptions.member;
|
|
174
|
+
if (!Array.isArray(subscriptionMembers)) {
|
|
175
|
+
subscriptionMembers = [subscriptionMembers];
|
|
176
|
+
}
|
|
177
|
+
for (const subscription of subscriptionMembers) {
|
|
178
|
+
if (webhookData.webhookId === subscription.SubscriptionArn) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return false;
|
|
183
|
+
},
|
|
184
|
+
async create() {
|
|
185
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
186
|
+
const webhookUrl = this.getNodeWebhookUrl('default');
|
|
187
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
188
|
+
extractValue: true,
|
|
189
|
+
});
|
|
190
|
+
const filterPolicy = this.getNodeParameter('FilterPolicy', undefined, { extractValue: true });
|
|
191
|
+
const filterPolicyScope = this.getNodeParameter('FilterPolicyScope', undefined, { extractValue: true });
|
|
192
|
+
if (webhookUrl.includes('%20')) {
|
|
193
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The name of the SNS Trigger Node is not allowed to contain any spaces!');
|
|
194
|
+
}
|
|
195
|
+
const params = [
|
|
196
|
+
`TopicArn=${topic}`,
|
|
197
|
+
`Endpoint=${webhookUrl}`,
|
|
198
|
+
`Protocol=${webhookUrl === null || webhookUrl === void 0 ? void 0 : webhookUrl.split(':')[0]}`,
|
|
199
|
+
'ReturnSubscriptionArn=true',
|
|
200
|
+
'Version=2010-03-31',
|
|
201
|
+
];
|
|
202
|
+
if (filterPolicy) {
|
|
203
|
+
params.push(`FilterPolicy=${encodeURIComponent(JSON.stringify(filterPolicy))}`);
|
|
204
|
+
params.push(`FilterPolicyScope=${filterPolicyScope}`);
|
|
205
|
+
}
|
|
206
|
+
const { SubscribeResponse } = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=Subscribe&' + params.join('&'));
|
|
207
|
+
webhookData.webhookId = SubscribeResponse.SubscribeResult.SubscriptionArn;
|
|
208
|
+
return true;
|
|
209
|
+
},
|
|
210
|
+
async delete() {
|
|
211
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
212
|
+
const params = [`SubscriptionArn=${webhookData.webhookId}`, 'Version=2010-03-31'];
|
|
213
|
+
try {
|
|
214
|
+
await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=Unsubscribe&' + params.join('&'));
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
delete webhookData.webhookId;
|
|
220
|
+
return true;
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async webhook() {
|
|
226
|
+
const req = this.getRequestObject();
|
|
227
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
228
|
+
extractValue: true,
|
|
229
|
+
});
|
|
230
|
+
const body = (0, n8n_workflow_1.jsonParse)(req.rawBody.toString());
|
|
231
|
+
if (body.Type === 'SubscriptionConfirmation' && body.TopicArn === topic) {
|
|
232
|
+
const { Token } = body;
|
|
233
|
+
const params = [`TopicArn=${topic}`, `Token=${Token}`, 'Version=2010-03-31'];
|
|
234
|
+
await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ConfirmSubscription&' + params.join('&'));
|
|
235
|
+
return {
|
|
236
|
+
noWebhookResponse: true,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
if (body.Type === 'UnsubscribeConfirmation') {
|
|
240
|
+
return {};
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
workflowData: [this.helpers.returnJsonArray(body)],
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
exports.AwsSnsTrigger = AwsSnsTrigger;
|
|
248
|
+
//# sourceMappingURL=AwsSnsTrigger.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSnsTrigger.node.js","sourceRoot":"","sources":["../../nodes/AwsSnsTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.awsSnsTriggerWithPolicy",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Development", "Communication"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://docs.n8n.io/credentials/aws"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger/"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IHookFunctions, IWebhookFunctions, ILoadOptionsFunctions, INodeListSearchResult, INodeType, INodeTypeDescription, IWebhookResponseData } from 'n8n-workflow';
|
|
2
|
+
export declare class AwsSnsTrigger implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
listSearch: {
|
|
6
|
+
listTopics(this: ILoadOptionsFunctions, filter?: string, paginationToken?: string): Promise<INodeListSearchResult>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
webhookMethods: {
|
|
10
|
+
default: {
|
|
11
|
+
checkExists(this: IHookFunctions): Promise<boolean>;
|
|
12
|
+
create(this: IHookFunctions): Promise<boolean>;
|
|
13
|
+
delete(this: IHookFunctions): Promise<boolean>;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AwsSnsTrigger = void 0;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const get_1 = __importDefault(require("lodash/get"));
|
|
9
|
+
const GenericFunctions_1 = require("../GenericFunctions");
|
|
10
|
+
class AwsSnsTrigger {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.description = {
|
|
13
|
+
displayName: 'AWS SNS Trigger With Policy Trigger',
|
|
14
|
+
subtitle: '={{$parameter["topic"].split(\':\')[5]}}',
|
|
15
|
+
name: 'awsSnsTriggerWithPolicyTrigger',
|
|
16
|
+
icon: 'file:sns.svg',
|
|
17
|
+
group: ['trigger'],
|
|
18
|
+
version: 1,
|
|
19
|
+
description: 'Handle AWS SNS events via webhooks',
|
|
20
|
+
defaults: {
|
|
21
|
+
name: 'AWS SNS Trigger Policy',
|
|
22
|
+
},
|
|
23
|
+
inputs: [],
|
|
24
|
+
outputs: ['main'],
|
|
25
|
+
credentials: [
|
|
26
|
+
{
|
|
27
|
+
name: 'aws',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
webhooks: [
|
|
32
|
+
{
|
|
33
|
+
name: 'default',
|
|
34
|
+
httpMethod: 'POST',
|
|
35
|
+
responseMode: 'onReceived',
|
|
36
|
+
path: 'webhook',
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
properties: [
|
|
40
|
+
{
|
|
41
|
+
displayName: 'Topic',
|
|
42
|
+
name: 'topic',
|
|
43
|
+
type: 'resourceLocator',
|
|
44
|
+
default: { mode: 'list', value: '' },
|
|
45
|
+
required: true,
|
|
46
|
+
modes: [
|
|
47
|
+
{
|
|
48
|
+
displayName: 'From List',
|
|
49
|
+
name: 'list',
|
|
50
|
+
type: 'list',
|
|
51
|
+
placeholder: 'Select a topic...',
|
|
52
|
+
typeOptions: {
|
|
53
|
+
searchListMethod: 'listTopics',
|
|
54
|
+
searchable: true,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
displayName: 'By URL',
|
|
59
|
+
name: 'url',
|
|
60
|
+
type: 'string',
|
|
61
|
+
placeholder: 'https://us-east-1.console.aws.amazon.com/sns/v3/home?region=us-east-1#/topic/arn:aws:sns:us-east-1:777777777777:your_topic',
|
|
62
|
+
validation: [
|
|
63
|
+
{
|
|
64
|
+
type: 'regex',
|
|
65
|
+
properties: {
|
|
66
|
+
regex: 'https:\\/\\/[0-9a-zA-Z\\-_]+\\.console\\.aws\\.amazon\\.com\\/sns\\/v3\\/home\\?region\\=[0-9a-zA-Z\\-_]+\\#\\/topic\\/arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+(?:\\/.*|)',
|
|
67
|
+
errorMessage: 'Not a valid AWS SNS Topic URL',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
extractValue: {
|
|
72
|
+
type: 'regex',
|
|
73
|
+
regex: 'https:\\/\\/[0-9a-zA-Z\\-_]+\\.console\\.aws\\.amazon\\.com\\/sns\\/v3\\/home\\?region\\=[0-9a-zA-Z\\-_]+\\#\\/topic\\/(arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+)(?:\\/.*|)',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
displayName: 'ID',
|
|
78
|
+
name: 'id',
|
|
79
|
+
type: 'string',
|
|
80
|
+
validation: [
|
|
81
|
+
{
|
|
82
|
+
type: 'regex',
|
|
83
|
+
properties: {
|
|
84
|
+
regex: 'arn:aws:sns:[0-9a-zA-Z\\-_]+:[0-9]+:[0-9a-zA-Z\\-_]+',
|
|
85
|
+
errorMessage: 'Not a valid AWS SNS Topic ARN',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
placeholder: 'arn:aws:sns:your-aws-region:777777777777:your_topic',
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
displayName: 'Filter Policy',
|
|
95
|
+
name: 'FilterPolicy',
|
|
96
|
+
type: 'json',
|
|
97
|
+
default: '{}',
|
|
98
|
+
required: true,
|
|
99
|
+
placeholder: '{"Statement": [{"Effect": "...", "Action": "SNS:Publish", ...}]}',
|
|
100
|
+
description: 'The JSON configuration for the SNS policy',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
displayName: 'Filter Policy Scope',
|
|
104
|
+
name: 'FilterPolicyScope',
|
|
105
|
+
type: 'options',
|
|
106
|
+
options: [
|
|
107
|
+
{
|
|
108
|
+
name: 'Attributes',
|
|
109
|
+
value: 'MessageAttributes',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: 'Body',
|
|
113
|
+
value: 'MessageBody',
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
default: 'MessageAttributes',
|
|
117
|
+
required: true,
|
|
118
|
+
description: 'Select whether the policy should apply to Attributes or Body',
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
this.methods = {
|
|
123
|
+
listSearch: {
|
|
124
|
+
async listTopics(filter, paginationToken) {
|
|
125
|
+
const returnData = [];
|
|
126
|
+
const params = paginationToken ? `NextToken=${encodeURIComponent(paginationToken)}` : '';
|
|
127
|
+
const data = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ListTopics&' + params);
|
|
128
|
+
let topics = data.ListTopicsResponse.ListTopicsResult.Topics.member;
|
|
129
|
+
const nextToken = data.ListTopicsResponse.ListTopicsResult.NextToken;
|
|
130
|
+
if (nextToken) {
|
|
131
|
+
paginationToken = nextToken;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
paginationToken = undefined;
|
|
135
|
+
}
|
|
136
|
+
if (!Array.isArray(topics)) {
|
|
137
|
+
topics = [topics];
|
|
138
|
+
}
|
|
139
|
+
for (const topic of topics) {
|
|
140
|
+
const topicArn = topic.TopicArn;
|
|
141
|
+
const arnParsed = topicArn.split(':');
|
|
142
|
+
const topicName = arnParsed[5];
|
|
143
|
+
const awsRegion = arnParsed[3];
|
|
144
|
+
if (filter && !topicName.includes(filter)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
returnData.push({
|
|
148
|
+
name: topicName,
|
|
149
|
+
value: topicArn,
|
|
150
|
+
url: `https://${awsRegion}.console.aws.amazon.com/sns/v3/home?region=${awsRegion}#/topic/${topicArn}`,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return { results: returnData, paginationToken };
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
this.webhookMethods = {
|
|
158
|
+
default: {
|
|
159
|
+
async checkExists() {
|
|
160
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
161
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
162
|
+
extractValue: true,
|
|
163
|
+
});
|
|
164
|
+
if (webhookData.webhookId === undefined) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
const params = [`TopicArn=${topic}`, 'Version=2010-03-31'];
|
|
168
|
+
const data = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ListSubscriptionsByTopic&' + params.join('&'));
|
|
169
|
+
const subscriptions = (0, get_1.default)(data, 'ListSubscriptionsByTopicResponse.ListSubscriptionsByTopicResult.Subscriptions');
|
|
170
|
+
if (!(subscriptions === null || subscriptions === void 0 ? void 0 : subscriptions.member)) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
let subscriptionMembers = subscriptions.member;
|
|
174
|
+
if (!Array.isArray(subscriptionMembers)) {
|
|
175
|
+
subscriptionMembers = [subscriptionMembers];
|
|
176
|
+
}
|
|
177
|
+
for (const subscription of subscriptionMembers) {
|
|
178
|
+
if (webhookData.webhookId === subscription.SubscriptionArn) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return false;
|
|
183
|
+
},
|
|
184
|
+
async create() {
|
|
185
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
186
|
+
const webhookUrl = this.getNodeWebhookUrl('default');
|
|
187
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
188
|
+
extractValue: true,
|
|
189
|
+
});
|
|
190
|
+
const filterPolicy = this.getNodeParameter('FilterPolicy', undefined, { extractValue: true });
|
|
191
|
+
const filterPolicyScope = this.getNodeParameter('FilterPolicyScope', undefined, { extractValue: true });
|
|
192
|
+
if (webhookUrl.includes('%20')) {
|
|
193
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The name of the SNS Trigger Node is not allowed to contain any spaces!');
|
|
194
|
+
}
|
|
195
|
+
const params = [
|
|
196
|
+
`TopicArn=${topic}`,
|
|
197
|
+
`Endpoint=${webhookUrl}`,
|
|
198
|
+
`Protocol=${webhookUrl === null || webhookUrl === void 0 ? void 0 : webhookUrl.split(':')[0]}`,
|
|
199
|
+
'ReturnSubscriptionArn=true',
|
|
200
|
+
'Version=2010-03-31',
|
|
201
|
+
];
|
|
202
|
+
if (filterPolicy) {
|
|
203
|
+
params.push(`FilterPolicy=${encodeURIComponent(JSON.stringify(filterPolicy))}`);
|
|
204
|
+
params.push(`FilterPolicyScope=${filterPolicyScope}`);
|
|
205
|
+
}
|
|
206
|
+
const { SubscribeResponse } = await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=Subscribe&' + params.join('&'));
|
|
207
|
+
webhookData.webhookId = SubscribeResponse.SubscribeResult.SubscriptionArn;
|
|
208
|
+
return true;
|
|
209
|
+
},
|
|
210
|
+
async delete() {
|
|
211
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
212
|
+
const params = [`SubscriptionArn=${webhookData.webhookId}`, 'Version=2010-03-31'];
|
|
213
|
+
try {
|
|
214
|
+
await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=Unsubscribe&' + params.join('&'));
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
delete webhookData.webhookId;
|
|
220
|
+
return true;
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async webhook() {
|
|
226
|
+
const req = this.getRequestObject();
|
|
227
|
+
const topic = this.getNodeParameter('topic', undefined, {
|
|
228
|
+
extractValue: true,
|
|
229
|
+
});
|
|
230
|
+
const body = (0, n8n_workflow_1.jsonParse)(req.rawBody.toString());
|
|
231
|
+
if (body.Type === 'SubscriptionConfirmation' && body.TopicArn === topic) {
|
|
232
|
+
const { Token } = body;
|
|
233
|
+
const params = [`TopicArn=${topic}`, `Token=${Token}`, 'Version=2010-03-31'];
|
|
234
|
+
await GenericFunctions_1.awsApiRequestSOAP.call(this, 'sns', 'GET', '/?Action=ConfirmSubscription&' + params.join('&'));
|
|
235
|
+
return {
|
|
236
|
+
noWebhookResponse: true,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
if (body.Type === 'UnsubscribeConfirmation') {
|
|
240
|
+
return {};
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
workflowData: [this.helpers.returnJsonArray(body)],
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
exports.AwsSnsTrigger = AwsSnsTrigger;
|
|
248
|
+
//# sourceMappingURL=AwsSnsTriggerWithPolicyTrigger.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSnsTriggerWithPolicyTrigger.node.js","sourceRoot":"","sources":["../../../nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.awsSnsTriggerWithPolicy",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Development", "Communication"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://docs.n8n.io/credentials/aws"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.awssnstrigger/"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { IExecuteFunctions, IHookFunctions, ILoadOptionsFunctions, IWebhookFunctions } from 'n8n-workflow';
|
|
2
|
+
export declare function awsApiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions, service: string, method: string, path: string, body?: string, headers?: object): Promise<any>;
|
|
3
|
+
export declare function awsApiRequestREST(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, service: string, method: string, path: string, body?: string, headers?: object): Promise<any>;
|
|
4
|
+
export declare function awsApiRequestSOAP(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions | IWebhookFunctions, service: string, method: string, path: string, body?: string, headers?: object): Promise<any>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.awsApiRequestSOAP = exports.awsApiRequestREST = exports.awsApiRequest = void 0;
|
|
4
|
+
const xml2js_1 = require("xml2js");
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
async function awsApiRequest(service, method, path, body, headers) {
|
|
7
|
+
const credentials = await this.getCredentials('aws');
|
|
8
|
+
const requestOptions = {
|
|
9
|
+
qs: {
|
|
10
|
+
service,
|
|
11
|
+
path,
|
|
12
|
+
},
|
|
13
|
+
method,
|
|
14
|
+
body: service === 'lambda' ? body : JSON.stringify(body),
|
|
15
|
+
url: '',
|
|
16
|
+
headers,
|
|
17
|
+
region: credentials === null || credentials === void 0 ? void 0 : credentials.region,
|
|
18
|
+
};
|
|
19
|
+
try {
|
|
20
|
+
return await this.helpers.requestWithAuthentication.call(this, 'aws', requestOptions);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), error, { parseXml: true });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.awsApiRequest = awsApiRequest;
|
|
27
|
+
async function awsApiRequestREST(service, method, path, body, headers) {
|
|
28
|
+
const response = await awsApiRequest.call(this, service, method, path, body, headers);
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(response);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return response;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.awsApiRequestREST = awsApiRequestREST;
|
|
37
|
+
async function awsApiRequestSOAP(service, method, path, body, headers) {
|
|
38
|
+
const response = await awsApiRequest.call(this, service, method, path, body, headers);
|
|
39
|
+
try {
|
|
40
|
+
return await new Promise((resolve, reject) => {
|
|
41
|
+
(0, xml2js_1.parseString)(response, { explicitArray: false }, (err, data) => {
|
|
42
|
+
if (err) {
|
|
43
|
+
return reject(err);
|
|
44
|
+
}
|
|
45
|
+
resolve(data);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return response;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.awsApiRequestSOAP = awsApiRequestSOAP;
|
|
54
|
+
//# sourceMappingURL=GenericFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../nodes/GenericFunctions.ts"],"names":[],"mappings":";;;AAAA,mCAAiD;AAUjD,+CAA4C;AAErC,KAAK,UAAU,aAAa,CAElC,OAAe,EACf,MAAc,EACd,IAAY,EACZ,IAAa,EACb,OAAgB;IAEhB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG;QACtB,EAAE,EAAE;YACH,OAAO;YACP,IAAI;SACJ;QACD,MAAM;QACN,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACxD,GAAG,EAAE,EAAE;QACP,OAAO;QACP,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAgB;KACd,CAAC;IAEzB,IAAI;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;KACtF;IAAC,OAAO,KAAK,EAAE;QACf,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;KAChF;AACF,CAAC;AA1BD,sCA0BC;AAEM,KAAK,UAAU,iBAAiB,CAEtC,OAAe,EACf,MAAc,EACd,IAAY,EACZ,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtF,IAAI;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;KACtC;IAAC,OAAO,KAAK,EAAE;QACf,OAAO,QAAQ,CAAC;KAChB;AACF,CAAC;AAdD,8CAcC;AAEM,KAAK,UAAU,iBAAiB,CAEtC,OAAe,EACf,MAAc,EACd,IAAY,EACZ,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtF,IAAI;QACH,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,IAAA,oBAAQ,EAAC,QAAkB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,GAAO,EAAE,IAAQ,EAAE,EAAE;gBAC5E,IAAI,GAAG,EAAE;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnB;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACf,OAAO,QAAQ,CAAC;KAChB;AACF,CAAC;AArBD,8CAqBC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-aws-sns-trigger-with-policy",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "n8n node to listen topics on AWS SNS",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n-community-node-package"
|
|
7
|
+
],
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"homepage": "",
|
|
10
|
+
"author": {
|
|
11
|
+
"name": "Luis Felipe Jaña",
|
|
12
|
+
"email": "ljana@keiron.cl"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/Keiron-HealthTech/n8n-nodes-aws-sns-trigger"
|
|
17
|
+
},
|
|
18
|
+
"main": "index.js",
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc && gulp build:icons",
|
|
21
|
+
"dev": "tsc --watch",
|
|
22
|
+
"format": "prettier nodes --write",
|
|
23
|
+
"lint": "eslint nodes package.json",
|
|
24
|
+
"lintfix": "eslint nodes package.json --fix",
|
|
25
|
+
"prepublishOnly": "npm run build && npm run lint -c .eslintrc.prepublish.js nodes package.json"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist"
|
|
29
|
+
],
|
|
30
|
+
"n8n": {
|
|
31
|
+
"n8nNodesApiVersion": 1,
|
|
32
|
+
"credentials": [],
|
|
33
|
+
"nodes": [
|
|
34
|
+
"dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.js"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/express": "^4.17.6",
|
|
39
|
+
"@types/lodash": "^4.14.200",
|
|
40
|
+
"@types/request-promise-native": "~1.0.15",
|
|
41
|
+
"@types/xml2js": "^0.4.13",
|
|
42
|
+
"@typescript-eslint/parser": "~5.45",
|
|
43
|
+
"eslint": "^8.52.0",
|
|
44
|
+
"eslint-plugin-n8n-nodes-base": "^1.11.0",
|
|
45
|
+
"gulp": "^4.0.2",
|
|
46
|
+
"lodash": "^4.17.21",
|
|
47
|
+
"n8n-core": "*",
|
|
48
|
+
"n8n-workflow": "*",
|
|
49
|
+
"prettier": "^2.7.1",
|
|
50
|
+
"typescript": "~4.8.4",
|
|
51
|
+
"xml2js": "^0.6.2"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts","../node_modules/@types/xml2js/lib/processors.d.ts","../node_modules/@types/xml2js/index.d.ts","../node_modules/@types/send/node_modules/@types/mime/index.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/mime/mime.d.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../node_modules/form-data/index.d.ts","../node_modules/@types/caseless/index.d.ts","../node_modules/@types/request/node_modules/form-data/index.d.ts","../node_modules/@types/tough-cookie/index.d.ts","../node_modules/@types/request/index.d.ts","../node_modules/@types/request-promise-native/index.d.ts","../node_modules/n8n-workflow/dist/authentication.d.ts","../node_modules/n8n-workflow/dist/constants.d.ts","../node_modules/n8n-workflow/dist/deferredpromise.d.ts","../node_modules/n8n-workflow/dist/executionstatus.d.ts","../node_modules/n8n-workflow/dist/nodeerrors.d.ts","../node_modules/n8n-workflow/dist/expressionerror.d.ts","../node_modules/@n8n_io/riot-tmpl/index.d.ts","../node_modules/n8n-workflow/dist/expression.d.ts","../node_modules/n8n-workflow/dist/workflow.d.ts","../node_modules/n8n-workflow/dist/workflowactivationerror.d.ts","../node_modules/n8n-workflow/dist/workflowerrors.d.ts","../node_modules/n8n-workflow/dist/workflowhooks.d.ts","../node_modules/n8n-workflow/dist/interfaces.d.ts","../node_modules/n8n-workflow/dist/loggerproxy.d.ts","../node_modules/n8n-workflow/dist/utils.d.ts","../node_modules/n8n-workflow/dist/errorreporterproxy.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/namedtypes.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/kinds.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/builders.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/types.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/scope.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/node-path.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/lib/path-visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/gen/visitor.d.ts","../node_modules/@n8n/tournament/node_modules/recast/node_modules/ast-types/main.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/options.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/parser.d.ts","../node_modules/@n8n/tournament/node_modules/recast/lib/printer.d.ts","../node_modules/@n8n/tournament/node_modules/recast/main.d.ts","../node_modules/@n8n/tournament/dist/expressionsplitter.d.ts","../node_modules/@n8n/tournament/dist/expressionbuilder.d.ts","../node_modules/@n8n/tournament/dist/analysis.d.ts","../node_modules/@n8n/tournament/dist/index.d.ts","../node_modules/n8n-workflow/dist/expressionevaluatorproxy.d.ts","../node_modules/n8n-workflow/dist/nodehelpers.d.ts","../node_modules/n8n-workflow/dist/observableobject.d.ts","../node_modules/n8n-workflow/dist/telemetryhelpers.d.ts","../node_modules/n8n-workflow/dist/cron.d.ts","../node_modules/n8n-workflow/dist/messageeventbus.d.ts","../node_modules/n8n-workflow/dist/routingnode.d.ts","../node_modules/n8n-workflow/dist/workflowdataproxy.d.ts","../node_modules/n8n-workflow/dist/versionednodetype.d.ts","../node_modules/n8n-workflow/dist/type-guards.d.ts","../node_modules/n8n-workflow/dist/extensions/extensions.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionextension.d.ts","../node_modules/n8n-workflow/dist/extensions/index.d.ts","../node_modules/n8n-workflow/dist/extensions/expressionparser.d.ts","../node_modules/n8n-workflow/dist/nativemethods/index.d.ts","../node_modules/n8n-workflow/dist/index.d.ts","../nodes/genericfunctions.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../node_modules/@types/lodash/get.d.ts","../nodes/awssnstriggerwithpolicytrigger/awssnstriggerwithpolicytrigger.node.ts","../nodes/awssnstriggerwithpolicytrigger/awssnstriggerwithpolicytrigger.node.json","../package.json","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","daece0d85f8783595463f509f7d82b03b2c210cc064cc793096b5f9c73a6db43","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"bd27e23daf177808fc4b00c86f7d67d64dc42bbc3c855ea41bfed7a529150a1d","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"91f8b5abcdff8f9ecb9656b9852878718416fb7700b2c4fad8331e5b97c080bb","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"603df4e91a0c2fd815c6619927468373fb00b6c13066334982ee684f5c7d40b2","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"527e6e7c1e60184879fe97517f0d51dbfab72c4625cef50179f27f46d7fd69a1","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","c0288f54de6f544706a3150c8b579b1a975870695c4be866f727ece6a16f3976","f8636a916949481bc363ae24cbeb8451fa98fd2d07329e0664a46567278c9adb","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","fedd311d427fdafac411b4e0edc0d1014668853679e021e04717a6de45ff5c0c","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"4d0536bbf67bc4301ebb5154eeb38168db0f7b34c490a80b6fa41bc6b751bcb4","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","d2a38ad7bb4676e7fd5d058a08105d81ac232c363ee56be0b401fc277d50dbb1","2ac2e08e0d0ed266849cb9da521c3be170a8bc111d25eeeb668c7dbf0ac4171a","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","1be2d0ed4aa430cdb701033d3a740010f3e80935ff01ec3d9e894b2e4327cc7e","d00d9369b2ee770658530f04dc09cd14deebdc6456816c5ecd5495911b1cae84","40ca763937bf04bd60889b152ed059894f25b9576b0ee3ff057cab406b79f748","8b9e20585ff8d1664c6cd14d4b02ccc46300a7cf30871fae19436a5babedd86d","eec12cd4c2c484dd03a87a63ff2cf6dfe7bb98c22be4c9c07ea2e0e11918f6b3","a693e064385281e318ef152e336385483edec5e9660a9d0dbc63ded5f15101d0","bc798e7704de5c49dd5fee370e3c8e8d8337542e6e9edea84fe0aebedd798b98","8e24431dbe2f596710b89c5769114e1287d7e2b8b8af99694d31eddd764892af","14743e3fcbe0729ad756a9a29a5d215d2b595d8803d16d99130e9150e4d7c0eb","e1c0f478f9f4c7867c5322b90f2421e9ca341f5a1aa78c0ef2e65962b88b512a","5193686d67f5d5c9608fc2ae7be7d93719fd8f5ac471244268b2dd8ae433b26b","e7aac2ba5ba0d6533ce1fe4e665dc4d2f88b1f379f38bc9268c3682e1d5001e6","c2e81cdcaaaacf8fb582b2dba7dd20e61d69137aa4334592818cdd00cc9be2ee","12ca038724650f80eac5c5aee2ae2d68057eef99f72f4f8ce56790c45bae0316","3735c6d4f47344fb7e5f1f806af6a3b318a8001cb155a92dbe4a7615ed4ff57c","af02445cc032e48f600facc4609a9fd707f00721b1e261a51058e0dc960442b1","3026ffe8ed2103258b0a25823715656eca63694485afb3848a510371635444a5","e78705f977ecfcc36de9ab57841ad7a617ef649b07a995577fd857f1d175f730","5083850590c7890ffb680f0c9838f48b07eb8b2f7dbe02874858fcac0691705d","02a4a2284d423d8ccc3a77aa9257c34fdac28cddfb46f73178e60f6a1b1b31e9","3ee8e014aab37dbd755401967fbb9602221550038f6b8da6cedd5291a918ae0a","826f3c6a6d737e0d330522094a21cde94a202c5373448240ba483709cb829aec","7e4a23f6f3763da4a06900935d22acfd463c375cada5ab325e3980bd6c95d5b3","f3e045e81b47113fa02aaf9637b9ef84347610aaceda60a0d8316aabc3f03638","1bfe6db4f3dffacd1da82748cb8f0acec04e8a4d7bd36c09573d5d80a7dec28b","6a8d6deca8ec4250630fea4e5f23bd9bf0face98739ccd22e08a17173117155b","226dbfe4506447111bd898161d47850f8c57f04cbb6a3a6d487b7939dbf89b1b","13f846a45f738733c8a63a06eaa9f580e9c07eb7aed5d8a2c674114846a42175","9d14fcf0b69094271127c7b6acb36987be5d1bffa4eb948359549f040fb50349","e3a5287471fb08f053c06fd998632792aa5f022e45278f1e6dd55fb2fa9e7362","28a6c8eeb48e165920067b9193555649fc43c2a28c450f23f622e5eb043d9463","1147c3efa5a256bcd6a3d2cfaf764185b7120bf985f8412d9bae596a0348f77b","0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","1b5d04b01ffda14ab49924c1c5601c1d29df55ea9bfd281d38082730bebf0295","d6220bee7bd245bc2a377f1a8ef31c496132cc9c7e7e3937e7dd4cbbcec0b38d","da4868424f5ea67d59e98705dab39055000d839a1250ac0cc80bda366c89fddc","420f415e6e5f2550395698e535147339d66fcc5848699e5308d35d90927f72d1","7a2f101cfb3d57edabf43e22a71aee1d4acd77f68e84a937e7490870eb1985e5","edd5e20e9eb8cb2eaf941d431af3ab69a9b94e7f5d8699b4c938fee1be8d53c4","ac3cc90f9fa90ed3dfc9f3ec16e6082be364af9f9054afa924241aa017e42369","0234584eaf3c5c21e7d3b79e1a9d71551e2a6fa5ca25bdc39c544f00e6e52b1e","8ed62c6a2b723a6651121e314c75784adb0c6071fca2dbc069c2d114238f8f0b","280c72d8d6a18e47b89a18e5d37d9070537096e6868994fcd59ee4f5a4d69cfb","489758750e7cc3c115ffd8155328df8861ef430c9baeda77183192e33f1fe464","951baa882e6e3e5026cb8a16f80a8bebec1caa35c3fa016c9a3ce6a338bd3123","9d262213265fed751ed67d299c10ae98b7e424522874a623ce986a5431d225a5","e38804187e84fd7b87a19aa9215d69cfad48a10511c4e6ffe2d87bcc4e29957c","5067e5ccf5e8a516f6bd8668ac660bace0b953298740dbb675d38e7ff00f482a","0a0903a245127de02e4f221f3a7c2483d63dbc9d2ae3d4f81a88acaac7da84ed","0494f89b64c5e8906ce5284194e09bad42b56837757d79cb9e62ce16aae88ab4","1f981721ece2d049f9dbd84a00b906915fa358aa1397419546501b866a38b982","8b24e35738d36985a66c5d1cae9cd7d2dfadfd63a6a2c5f67ed591a5d399a582",{"version":"733fec079933ca73243a14ea6c241f73bc6185ca90596b8f99df76feea53cbd8","signature":"53fdb47afd195f8334eb73e383c29f17c093dd9b3799f6d2a9e1fae9b621d308"},"32ab25b7b28b24a138d879ca371b18c8fdfdd564ad5107e1333c5aa5d5fea494","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","b82fc740467e59abe3d6170417e461527d2a95610f55915fc59557c4b7be55ba","8c7bb1d03e5607e5ad3d27f48e53dbe70b61372ea73d75000c9ead7ad2ac0fbd",{"version":"abf738e38bce38b4334db599eaf9ef8d0a304c68a04fbf0e116589c68e55f0d7","signature":"89e60ac780c66590232d9f81a7452cc102623c90c0878f04844d280ebacf85c9"},{"version":"9b5f8081687392ecc8c5bfdb623e4e977d0836915ae38f6c7e025aa8661ddc0a","signature":"fe75da2ad145df73f691e08bfb57ef395888aa0155a74bd61a7a52b040227175"},{"version":"f965ee7a695f9a16aee27a5956c3988ec8f95e2ec62267ef45715a5c88ab2af9","signature":"feaedf34724df2d4f4a6bb6e82f5cae282233131dcdd432bb86d15121c3070d0"},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","cc0700b1b97e18a3d5d9184470502d8762ec85158819d662730c3a8c5d702584","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","f77ff4cd234d3fd18ddd5aeadb6f94374511931976d41f4b9f594cb71f7ce6f3","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","4f18b4e6081e5e980ef53ddf57b9c959d36cffe1eb153865f512a01aeffb5e1e","7f17d4846a88eca5fe71c4474ef687ee89c4acf9b5372ab9b2ee68644b7e0fe0","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a"],"options":{"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","preserveConstEnums":true,"removeComments":true,"skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":6,"useUnknownInCatchVariables":false},"fileIdsList":[[120,180],[120,178,179],[120],[120,180,181],[120,164],[120,175],[120,174,175,176,177],[120,165,166],[120,165],[120,164,166,168],[120,165,171,172],[120,164,168,169,170],[120,164,168,171,173],[120,164,168],[120,164,171],[120,164,165,167],[120,164,165,167,168,169,171,172,173],[93,120,127,139,198],[93,120,127,198],[90,93,120,127,131,132,133,198],[120,132,134,138,140],[120,200,202,203,204,205,206,207,208,209,210,211,212],[120,200,201,203,204,205,206,207,208,209,210,211,212],[120,201,202,203,204,205,206,207,208,209,210,211,212],[120,200,201,202,204,205,206,207,208,209,210,211,212],[120,200,201,202,203,205,206,207,208,209,210,211,212],[120,200,201,202,203,204,206,207,208,209,210,211,212],[120,200,201,202,203,204,205,207,208,209,210,211,212],[120,200,201,202,203,204,205,206,208,209,210,211,212],[120,200,201,202,203,204,205,206,207,209,210,211,212],[120,200,201,202,203,204,205,206,207,208,210,211,212],[120,200,201,202,203,204,205,206,207,208,209,211,212],[120,200,201,202,203,204,205,206,207,208,209,210,212],[120,212],[120,200,201,202,203,204,205,206,207,208,209,210,211],[120,136],[120,137],[42,120],[77,120],[78,83,111,120],[79,90,91,98,108,119,120],[79,80,90,98,120],[81,120],[82,83,91,99,120],[83,108,116,120],[84,86,90,98,120],[85,120],[86,87,120],[90,120],[88,90,120],[90,91,92,108,119,120],[90,91,92,105,108,111,120],[75,120,124],[86,90,93,98,108,119,120,198],[90,91,93,94,98,108,116,119,120],[93,95,108,116,119,120],[42,43,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126],[90,96,120],[97,119,120,124],[86,90,98,108,120],[99,120],[100,120],[77,101,120],[102,118,120,124],[103,120],[104,120],[90,105,106,120],[105,107,120,122],[78,90,108,109,110,111,120],[78,108,110,120],[108,109,120],[111,120],[112,120],[77,108,120],[90,114,115,120],[114,115,120],[83,98,108,116,120],[117,120],[98,118,120],[78,93,104,119,120],[83,120],[108,120,121],[97,120,122],[120,123],[78,83,90,92,101,108,119,120,122,124],[108,120,125],[93,120,146,198],[91,93,95,98,108,119,120,127,143,144,145,198],[93,108,120,127,198],[120,218,257],[120,218,242,257],[120,257],[120,218],[120,218,243,257],[120,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256],[120,243,257],[91,108,120,127,130],[93,120,127,135,137,198],[90,120,127,128],[120,162],[120,153,154,156,160],[120,152],[120,154,160,182],[120,193],[120,193,194],[93,120,127,148,149,150,151,152,153,155,156,157,158,159,160,161,162,163,183,184,185,186,187,188,189,190,191,192,195,196,197],[91,93,108,119,120,127,141,142,146,147,148,149,150,151,152,153,156,157,158,159,198],[120,160],[120,156,160],[120,155,160],[120,152,160],[52,56,119,120],[52,108,119,120],[47,120],[49,52,116,119,120],[98,116,120],[120,127],[47,120,127],[49,52,98,119,120],[44,45,48,51,78,90,108,119,120],[44,50,120],[48,52,78,111,119,120,127],[78,120,127],[68,78,120,127],[46,47,120,127],[52,120],[46,47,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,120],[52,59,60,120],[50,52,60,61,120],[51,120],[44,47,52,120],[52,56,60,61,120],[56,120],[50,52,55,119,120],[44,49,50,52,56,59,120],[78,108,120],[47,52,68,78,120,124,127],[120,198,199,213],[120,129,198],[198]],"referencedMap":[[181,1],[180,2],[179,3],[182,4],[175,5],[176,6],[177,3],[178,7],[167,8],[166,9],[165,10],[173,11],[171,12],[172,13],[169,14],[170,15],[168,16],[174,17],[164,3],[154,3],[140,18],[143,3],[139,19],[134,20],[141,21],[135,3],[217,3],[201,22],[202,23],[200,24],[203,25],[204,26],[205,27],[206,28],[207,29],[208,30],[209,31],[210,32],[211,33],[213,34],[212,35],[137,36],[136,37],[42,38],[43,38],[77,39],[78,40],[79,41],[80,42],[81,43],[82,44],[83,45],[84,46],[85,47],[86,48],[87,48],[89,49],[88,50],[90,49],[91,51],[92,52],[76,53],[126,3],[93,54],[94,55],[95,56],[127,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,67],[107,68],[108,69],[110,70],[109,71],[111,72],[112,73],[113,74],[114,75],[115,76],[116,77],[117,78],[118,79],[119,80],[120,81],[121,82],[122,83],[123,84],[124,85],[125,86],[132,3],[133,3],[147,87],[146,88],[144,89],[242,90],[243,91],[218,92],[221,92],[240,90],[241,90],[231,90],[230,93],[228,90],[223,90],[236,90],[234,90],[238,90],[222,90],[235,90],[239,90],[224,90],[225,90],[237,90],[219,90],[226,90],[227,90],[229,90],[233,90],[244,94],[232,90],[220,90],[257,95],[256,3],[251,94],[253,96],[252,94],[245,94],[246,94],[248,94],[250,94],[254,96],[255,96],[247,96],[249,96],[131,97],[130,3],[138,98],[145,3],[129,99],[128,3],[142,89],[148,3],[149,3],[187,3],[150,3],[163,100],[151,3],[155,101],[153,102],[183,103],[194,104],[196,3],[193,3],[195,105],[198,106],[160,107],[161,108],[188,108],[197,3],[152,108],[184,109],[185,108],[189,109],[186,108],[192,108],[162,108],[191,108],[156,110],[157,111],[190,109],[158,111],[159,108],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[29,3],[30,3],[31,3],[32,3],[7,3],[33,3],[38,3],[39,3],[34,3],[35,3],[36,3],[37,3],[40,3],[1,3],[41,3],[59,112],[66,113],[58,112],[73,114],[50,115],[49,116],[72,117],[67,118],[70,119],[52,120],[51,121],[47,122],[46,123],[69,124],[48,125],[53,126],[54,3],[57,126],[44,3],[75,127],[74,126],[61,128],[62,129],[64,130],[60,131],[63,132],[68,117],[55,133],[56,134],[65,135],[45,136],[71,137],[215,3],[214,138],[199,139],[216,3]],"exportedModulesMap":[[181,1],[180,2],[179,3],[182,4],[175,5],[176,6],[177,3],[178,7],[167,8],[166,9],[165,10],[173,11],[171,12],[172,13],[169,14],[170,15],[168,16],[174,17],[164,3],[154,3],[140,18],[143,3],[139,19],[134,20],[141,21],[135,3],[217,3],[201,22],[202,23],[200,24],[203,25],[204,26],[205,27],[206,28],[207,29],[208,30],[209,31],[210,32],[211,33],[213,34],[212,35],[137,36],[136,37],[42,38],[43,38],[77,39],[78,40],[79,41],[80,42],[81,43],[82,44],[83,45],[84,46],[85,47],[86,48],[87,48],[89,49],[88,50],[90,49],[91,51],[92,52],[76,53],[126,3],[93,54],[94,55],[95,56],[127,57],[96,58],[97,59],[98,60],[99,61],[100,62],[101,63],[102,64],[103,65],[104,66],[105,67],[106,67],[107,68],[108,69],[110,70],[109,71],[111,72],[112,73],[113,74],[114,75],[115,76],[116,77],[117,78],[118,79],[119,80],[120,81],[121,82],[122,83],[123,84],[124,85],[125,86],[132,3],[133,3],[147,87],[146,88],[144,89],[242,90],[243,91],[218,92],[221,92],[240,90],[241,90],[231,90],[230,93],[228,90],[223,90],[236,90],[234,90],[238,90],[222,90],[235,90],[239,90],[224,90],[225,90],[237,90],[219,90],[226,90],[227,90],[229,90],[233,90],[244,94],[232,90],[220,90],[257,95],[256,3],[251,94],[253,96],[252,94],[245,94],[246,94],[248,94],[250,94],[254,96],[255,96],[247,96],[249,96],[131,97],[130,3],[138,98],[145,3],[129,99],[128,3],[142,89],[148,3],[149,3],[187,3],[150,3],[163,100],[151,3],[155,101],[153,102],[183,103],[194,104],[196,3],[193,3],[195,105],[198,106],[160,107],[161,108],[188,108],[197,3],[152,108],[184,109],[185,108],[189,109],[186,108],[192,108],[162,108],[191,108],[156,110],[157,111],[190,109],[158,111],[159,108],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[29,3],[30,3],[31,3],[32,3],[7,3],[33,3],[38,3],[39,3],[34,3],[35,3],[36,3],[37,3],[40,3],[1,3],[41,3],[59,112],[66,113],[58,112],[73,114],[50,115],[49,116],[72,117],[67,118],[70,119],[52,120],[51,121],[47,122],[46,123],[69,124],[48,125],[53,126],[54,3],[57,126],[44,3],[75,127],[74,126],[61,128],[62,129],[64,130],[60,131],[63,132],[68,117],[55,133],[56,134],[65,135],[45,136],[71,137],[214,140],[199,140]],"semanticDiagnosticsPerFile":[181,180,179,182,175,176,177,178,167,166,165,173,171,172,169,170,168,174,164,154,140,143,139,134,141,135,217,201,202,200,203,204,205,206,207,208,209,210,211,213,212,137,136,42,43,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,76,126,93,94,95,127,96,97,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,132,133,147,146,144,242,243,218,221,240,241,231,230,228,223,236,234,238,222,235,239,224,225,237,219,226,227,229,233,244,232,220,257,256,251,253,252,245,246,248,250,254,255,247,249,131,130,138,145,129,128,142,148,149,187,150,163,151,155,153,183,194,196,193,195,198,160,161,188,197,152,184,185,189,186,192,162,191,156,157,190,158,159,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,33,38,39,34,35,36,37,40,1,41,59,66,58,73,50,49,72,67,70,52,51,47,46,69,48,53,54,57,44,75,74,61,62,64,60,63,68,55,56,65,45,71,215,214,199,216]},"version":"4.8.4"}
|
package/index.js
ADDED
|
File without changes
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-aws-sns-trigger-with-policy",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "n8n node to listen topics on AWS SNS",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n-community-node-package"
|
|
7
|
+
],
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"homepage": "",
|
|
10
|
+
"author": {
|
|
11
|
+
"name": "Luis Felipe Jaña",
|
|
12
|
+
"email": "ljana@keiron.cl"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/Keiron-HealthTech/n8n-nodes-aws-sns-trigger"
|
|
17
|
+
},
|
|
18
|
+
"main": "index.js",
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc && gulp build:icons",
|
|
21
|
+
"dev": "tsc --watch",
|
|
22
|
+
"format": "prettier nodes --write",
|
|
23
|
+
"lint": "eslint nodes package.json",
|
|
24
|
+
"lintfix": "eslint nodes package.json --fix",
|
|
25
|
+
"prepublishOnly": "npm run build && npm run lint -c .eslintrc.prepublish.js nodes package.json"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist"
|
|
29
|
+
],
|
|
30
|
+
"n8n": {
|
|
31
|
+
"n8nNodesApiVersion": 1,
|
|
32
|
+
"credentials": [],
|
|
33
|
+
"nodes": [
|
|
34
|
+
"dist/nodes/AwsSnsTriggerWithPolicyTrigger/AwsSnsTriggerWithPolicyTrigger.node.js"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/express": "^4.17.6",
|
|
39
|
+
"@types/lodash": "^4.14.200",
|
|
40
|
+
"@types/request-promise-native": "~1.0.15",
|
|
41
|
+
"@types/xml2js": "^0.4.13",
|
|
42
|
+
"@typescript-eslint/parser": "~5.45",
|
|
43
|
+
"eslint": "^8.52.0",
|
|
44
|
+
"eslint-plugin-n8n-nodes-base": "^1.11.0",
|
|
45
|
+
"gulp": "^4.0.2",
|
|
46
|
+
"lodash": "^4.17.21",
|
|
47
|
+
"n8n-core": "*",
|
|
48
|
+
"n8n-workflow": "*",
|
|
49
|
+
"prettier": "^2.7.1",
|
|
50
|
+
"typescript": "~4.8.4",
|
|
51
|
+
"xml2js": "^0.6.2"
|
|
52
|
+
}
|
|
53
|
+
}
|