n8n-nodes-base 1.20.0 → 1.21.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 +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/known/nodes.json +24 -0
- package/dist/nodes/ActiveCampaign/ActiveCampaign.node.js +1 -1
- package/dist/nodes/ActiveCampaign/ActiveCampaign.node.js.map +1 -1
- package/dist/nodes/Airtable/v2/methods/listSearch.js +1 -1
- package/dist/nodes/Airtable/v2/methods/listSearch.js.map +1 -1
- package/dist/nodes/Airtable/v2/methods/loadOptions.js +2 -2
- package/dist/nodes/Airtable/v2/methods/loadOptions.js.map +1 -1
- package/dist/nodes/Airtable/v2/methods/resourceMapping.js +1 -1
- package/dist/nodes/Airtable/v2/methods/resourceMapping.js.map +1 -1
- package/dist/nodes/Code/Code.node.json +1 -1
- package/dist/nodes/CompareDatasets/CompareDatasets.node.json +1 -1
- package/dist/nodes/CompareDatasets/GenericFunctions.js +6 -5
- package/dist/nodes/CompareDatasets/GenericFunctions.js.map +1 -1
- package/dist/nodes/Crypto/Crypto.node.json +1 -1
- package/dist/nodes/DateTime/DateTime.node.json +1 -1
- package/dist/nodes/DateTime/V2/DateTimeV2.node.js +1 -0
- package/dist/nodes/DateTime/V2/DateTimeV2.node.js.map +1 -1
- package/dist/nodes/EmailReadImap/EmailReadImap.node.json +1 -1
- package/dist/nodes/EmailSend/EmailSend.node.json +0 -3
- package/dist/nodes/ErrorTrigger/ErrorTrigger.node.json +1 -1
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow.node.json +1 -1
- package/dist/nodes/Facebook/FacebookTrigger.node.js +1 -1
- package/dist/nodes/Facebook/FacebookTrigger.node.js.map +1 -1
- package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js +1 -1
- package/dist/nodes/FacebookLeadAds/FacebookLeadAdsTrigger.node.js.map +1 -1
- package/dist/nodes/FileMaker/FileMaker.node.js +2 -0
- package/dist/nodes/FileMaker/FileMaker.node.js.map +1 -1
- package/dist/nodes/Filter/Filter.node.js +1 -1
- package/dist/nodes/Filter/Filter.node.js.map +1 -1
- package/dist/nodes/Filter/Filter.node.json +1 -1
- package/dist/nodes/Form/FormTrigger.node.d.ts +3 -4
- package/dist/nodes/Form/FormTrigger.node.js +9 -247
- package/dist/nodes/Form/FormTrigger.node.js.map +1 -1
- package/dist/nodes/Form/FormTrigger.node.json +1 -1
- package/dist/nodes/Form/common.descriptions.d.ts +18 -0
- package/dist/nodes/Form/common.descriptions.js +237 -0
- package/dist/nodes/Form/common.descriptions.js.map +1 -0
- package/dist/nodes/Form/interfaces.d.ts +2 -0
- package/dist/nodes/Form/utils.d.ts +11 -1
- package/dist/nodes/Form/utils.js +70 -2
- package/dist/nodes/Form/utils.js.map +1 -1
- package/dist/nodes/Form/v1/FormTriggerV1.node.d.ts +14 -0
- package/dist/nodes/Form/v1/FormTriggerV1.node.js +82 -0
- package/dist/nodes/Form/v1/FormTriggerV1.node.js.map +1 -0
- package/dist/nodes/Form/v2/FormTriggerV2.node.d.ts +14 -0
- package/dist/nodes/Form/v2/FormTriggerV2.node.js +84 -0
- package/dist/nodes/Form/v2/FormTriggerV2.node.js.map +1 -0
- package/dist/nodes/Github/GithubTrigger.node.js +2 -2
- package/dist/nodes/Github/GithubTrigger.node.js.map +1 -1
- package/dist/nodes/Google/Ads/CampaignDescription.js +2 -2
- package/dist/nodes/Google/Ads/GoogleAds.node.js +1 -1
- package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js +1 -1
- package/dist/nodes/Google/BigQuery/v2/actions/database/insert.operation.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js +1 -1
- package/dist/nodes/Google/Sheet/v2/actions/sheet/append.operation.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js +1 -1
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheet.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js +1 -1
- package/dist/nodes/Google/Sheet/v2/helpers/GoogleSheets.utils.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/methods/listSearch.js +4 -1
- package/dist/nodes/Google/Sheet/v2/methods/listSearch.js.map +1 -1
- package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js +4 -1
- package/dist/nodes/Google/Sheet/v2/methods/resourceMapping.js.map +1 -1
- package/dist/nodes/Html/Html.node.json +1 -1
- package/dist/nodes/If/If.node.d.ts +3 -4
- package/dist/nodes/If/If.node.js +10 -406
- package/dist/nodes/If/If.node.js.map +1 -1
- package/dist/nodes/If/V1/IfV1.node.d.ts +6 -0
- package/dist/nodes/If/V1/IfV1.node.js +414 -0
- package/dist/nodes/If/V1/IfV1.node.js.map +1 -0
- package/dist/nodes/If/V2/IfV2.node.d.ts +6 -0
- package/dist/nodes/If/V2/IfV2.node.js +101 -0
- package/dist/nodes/If/V2/IfV2.node.js.map +1 -0
- package/dist/nodes/If/test/v2/IfV2.date-time.json +163 -0
- package/dist/nodes/If/test/v2/IfV2.number.json +165 -0
- package/dist/nodes/If/test/v2/IfV2.other.json +182 -0
- package/dist/nodes/If/test/v2/IfV2.string.json +178 -0
- package/dist/nodes/ItemLists/ItemLists.node.js +1 -0
- package/dist/nodes/ItemLists/ItemLists.node.js.map +1 -1
- package/dist/nodes/Kafka/Kafka.node.js +3 -1
- package/dist/nodes/Kafka/Kafka.node.js.map +1 -1
- package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +24 -1
- package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
- package/dist/nodes/Markdown/Markdown.node.json +1 -1
- package/dist/nodes/Merge/Merge.node.json +1 -1
- package/dist/nodes/Merge/v2/MergeV2.node.js +1 -1
- package/dist/nodes/Merge/v2/MergeV2.node.js.map +1 -1
- package/dist/nodes/MySql/v2/actions/database/insert.operation.js +1 -1
- package/dist/nodes/MySql/v2/actions/database/update.operation.js +1 -1
- package/dist/nodes/MySql/v2/actions/database/upsert.operation.js +1 -1
- package/dist/nodes/N8n/N8n.node.json +1 -1
- package/dist/nodes/NocoDB/OperationDescription.js +1 -1
- package/dist/nodes/NocoDB/OperationDescription.js.map +1 -1
- package/dist/nodes/OpenAi/OpenAi.node.js +6 -0
- package/dist/nodes/OpenAi/OpenAi.node.js.map +1 -1
- package/dist/nodes/Postgres/PostgresTrigger.node.js +1 -1
- package/dist/nodes/Postgres/v2/actions/database/insert.operation.js +1 -1
- package/dist/nodes/Postgres/v2/actions/database/update.operation.js +1 -1
- package/dist/nodes/Postgres/v2/actions/database/upsert.operation.js +1 -1
- package/dist/nodes/Postgres/v2/helpers/utils.d.ts +2 -2
- package/dist/nodes/Postgres/v2/methods/resourceMapping.js +1 -1
- package/dist/nodes/Postgres/v2/methods/resourceMapping.js.map +1 -1
- package/dist/nodes/RenameKeys/RenameKeys.node.js +1 -1
- package/dist/nodes/RenameKeys/RenameKeys.node.js.map +1 -1
- package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js +26 -2
- package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js.map +1 -1
- package/dist/nodes/RespondToWebhook/RespondToWebhook.node.json +1 -1
- package/dist/nodes/RssFeedRead/RssFeedRead.node.json +0 -3
- package/dist/nodes/Schedule/ScheduleTrigger.node.json +1 -4
- package/dist/nodes/Set/v2/SetV2.node.js +1 -1
- package/dist/nodes/Slack/V2/GenericFunctions.js +2 -2
- package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -1
- package/dist/nodes/SseTrigger/SseTrigger.node.json +1 -1
- package/dist/nodes/StopAndError/StopAndError.node.json +1 -1
- package/dist/nodes/TheHive/GenericFunctions.js +1 -1
- package/dist/nodes/TheHive/GenericFunctions.js.map +1 -1
- package/dist/nodes/Transform/Aggregate/Aggregate.node.d.ts +5 -0
- package/dist/nodes/Transform/Aggregate/Aggregate.node.js +365 -0
- package/dist/nodes/Transform/Aggregate/Aggregate.node.js.map +1 -0
- package/dist/nodes/Transform/Aggregate/Aggregate.node.json +19 -0
- package/dist/nodes/Transform/Aggregate/aggregate.svg +14 -0
- package/dist/nodes/Transform/Aggregate/test/workflow.aggregate.json +207 -0
- package/dist/nodes/Transform/Aggregate/utils.d.ts +2 -0
- package/dist/nodes/Transform/Aggregate/utils.js +48 -0
- package/dist/nodes/Transform/Aggregate/utils.js.map +1 -0
- package/dist/nodes/Transform/Limit/Limit.node.d.ts +5 -0
- package/dist/nodes/Transform/Limit/Limit.node.js +68 -0
- package/dist/nodes/Transform/Limit/Limit.node.js.map +1 -0
- package/dist/nodes/Transform/Limit/Limit.node.json +19 -0
- package/dist/nodes/Transform/Limit/limit.svg +16 -0
- package/dist/nodes/Transform/Limit/test/workflow.limit.json +97 -0
- package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.d.ts +5 -0
- package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js +221 -0
- package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.js.map +1 -0
- package/dist/nodes/Transform/RemoveDuplicates/RemoveDuplicates.node.json +29 -0
- package/dist/nodes/Transform/RemoveDuplicates/removeDuplicates.svg +15 -0
- package/dist/nodes/Transform/RemoveDuplicates/test/workflow.removeDuplicates.json +325 -0
- package/dist/nodes/Transform/RemoveDuplicates/utils.d.ts +3 -0
- package/dist/nodes/Transform/RemoveDuplicates/utils.js +37 -0
- package/dist/nodes/Transform/RemoveDuplicates/utils.js.map +1 -0
- package/dist/nodes/Transform/Sort/Sort.node.d.ts +5 -0
- package/dist/nodes/Transform/Sort/Sort.node.js +257 -0
- package/dist/nodes/Transform/Sort/Sort.node.js.map +1 -0
- package/dist/nodes/Transform/Sort/Sort.node.json +19 -0
- package/dist/nodes/Transform/Sort/sort.svg +6 -0
- package/dist/nodes/Transform/Sort/test/workflow.sort.json +213 -0
- package/dist/nodes/Transform/Sort/utils.d.ts +3 -0
- package/dist/nodes/Transform/Sort/utils.js +27 -0
- package/dist/nodes/Transform/Sort/utils.js.map +1 -0
- package/dist/nodes/Transform/SplitOut/SplitOut.node.d.ts +5 -0
- package/dist/nodes/Transform/SplitOut/SplitOut.node.js +223 -0
- package/dist/nodes/Transform/SplitOut/SplitOut.node.js.map +1 -0
- package/dist/nodes/Transform/SplitOut/SplitOut.node.json +19 -0
- package/dist/nodes/Transform/SplitOut/splitOut.svg +14 -0
- package/dist/nodes/Transform/SplitOut/test/workflow.splitOut.json +354 -0
- package/dist/nodes/Transform/SplitOut/test/workflow.splitOutObject.json +386 -0
- package/dist/nodes/Transform/Summarize/Summarize.node.d.ts +5 -0
- package/dist/nodes/Transform/Summarize/Summarize.node.js +311 -0
- package/dist/nodes/Transform/Summarize/Summarize.node.js.map +1 -0
- package/dist/nodes/Transform/Summarize/Summarize.node.json +32 -0
- package/dist/nodes/Transform/Summarize/summarize.svg +10 -0
- package/dist/nodes/Transform/Summarize/test/workflow.summarize.json +296 -0
- package/dist/nodes/Transform/Summarize/utils.d.ts +22 -0
- package/dist/nodes/Transform/Summarize/utils.js +206 -0
- package/dist/nodes/Transform/Summarize/utils.js.map +1 -0
- package/dist/nodes/Transform/utils/utils.d.ts +1 -0
- package/dist/nodes/Transform/utils/utils.js +18 -0
- package/dist/nodes/Transform/utils/utils.js.map +1 -0
- package/dist/nodes/Wait/Wait.node.d.ts +3 -2
- package/dist/nodes/Wait/Wait.node.js +199 -129
- package/dist/nodes/Wait/Wait.node.js.map +1 -1
- package/dist/nodes/Wait/Wait.node.json +1 -1
- package/dist/nodes/Webhook/Webhook.node.js +26 -10
- package/dist/nodes/Webhook/Webhook.node.js.map +1 -1
- package/dist/nodes/Webhook/Webhook.node.json +1 -1
- package/dist/nodes/Webhook/description.js +31 -2
- package/dist/nodes/Webhook/description.js.map +1 -1
- package/dist/types/nodes.json +74 -66
- package/package.json +10 -4
- /package/dist/nodes/If/test/{IF.boolean.json → v1/IF.boolean.json} +0 -0
- /package/dist/nodes/If/test/{IF.date-time.json → v1/IF.date-time.json} +0 -0
- /package/dist/nodes/If/test/{IF.number.json → v1/IF.number.json} +0 -0
- /package/dist/nodes/If/test/{IF.string.json → v1/IF.string.json} +0 -0
|
@@ -3,15 +3,151 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Wait = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
const description_1 = require("../Webhook/description");
|
|
6
|
+
const common_descriptions_1 = require("../Form/common.descriptions");
|
|
7
|
+
const utils_1 = require("../Form/utils");
|
|
8
|
+
const utilities_1 = require("../../utils/utilities");
|
|
6
9
|
const Webhook_node_1 = require("../Webhook/Webhook.node");
|
|
10
|
+
const waitTimeProperties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'Limit Wait Time',
|
|
13
|
+
name: 'limitWaitTime',
|
|
14
|
+
type: 'boolean',
|
|
15
|
+
default: false,
|
|
16
|
+
description: 'Whether the workflow will automatically resume execution after the specified limit type',
|
|
17
|
+
displayOptions: {
|
|
18
|
+
show: {
|
|
19
|
+
resume: ['webhook', 'form'],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
displayName: 'Limit Type',
|
|
25
|
+
name: 'limitType',
|
|
26
|
+
type: 'options',
|
|
27
|
+
default: 'afterTimeInterval',
|
|
28
|
+
description: 'Sets the condition for the execution to resume. Can be a specified date or after some time.',
|
|
29
|
+
displayOptions: {
|
|
30
|
+
show: {
|
|
31
|
+
limitWaitTime: [true],
|
|
32
|
+
resume: ['webhook', 'form'],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
options: [
|
|
36
|
+
{
|
|
37
|
+
name: 'After Time Interval',
|
|
38
|
+
description: 'Waits for a certain amount of time',
|
|
39
|
+
value: 'afterTimeInterval',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'At Specified Time',
|
|
43
|
+
description: 'Waits until the set date and time to continue',
|
|
44
|
+
value: 'atSpecifiedTime',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
displayName: 'Amount',
|
|
50
|
+
name: 'resumeAmount',
|
|
51
|
+
type: 'number',
|
|
52
|
+
displayOptions: {
|
|
53
|
+
show: {
|
|
54
|
+
limitType: ['afterTimeInterval'],
|
|
55
|
+
limitWaitTime: [true],
|
|
56
|
+
resume: ['webhook', 'form'],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
typeOptions: {
|
|
60
|
+
minValue: 0,
|
|
61
|
+
numberPrecision: 2,
|
|
62
|
+
},
|
|
63
|
+
default: 1,
|
|
64
|
+
description: 'The time to wait',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
displayName: 'Unit',
|
|
68
|
+
name: 'resumeUnit',
|
|
69
|
+
type: 'options',
|
|
70
|
+
displayOptions: {
|
|
71
|
+
show: {
|
|
72
|
+
limitType: ['afterTimeInterval'],
|
|
73
|
+
limitWaitTime: [true],
|
|
74
|
+
resume: ['webhook', 'form'],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
options: [
|
|
78
|
+
{
|
|
79
|
+
name: 'Seconds',
|
|
80
|
+
value: 'seconds',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: 'Minutes',
|
|
84
|
+
value: 'minutes',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: 'Hours',
|
|
88
|
+
value: 'hours',
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'Days',
|
|
92
|
+
value: 'days',
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
default: 'hours',
|
|
96
|
+
description: 'Unit of the interval value',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
displayName: 'Max Date and Time',
|
|
100
|
+
name: 'maxDateAndTime',
|
|
101
|
+
type: 'dateTime',
|
|
102
|
+
displayOptions: {
|
|
103
|
+
show: {
|
|
104
|
+
limitType: ['atSpecifiedTime'],
|
|
105
|
+
limitWaitTime: [true],
|
|
106
|
+
resume: ['webhook', 'form'],
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
default: '',
|
|
110
|
+
description: 'Continue execution after the specified date and time',
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
const webhookSuffix = {
|
|
114
|
+
displayName: 'Webhook Suffix',
|
|
115
|
+
name: 'webhookSuffix',
|
|
116
|
+
type: 'string',
|
|
117
|
+
default: '',
|
|
118
|
+
placeholder: 'webhook',
|
|
119
|
+
noDataExpression: true,
|
|
120
|
+
description: 'This suffix path will be appended to the restart URL. Helpful when using multiple wait nodes.',
|
|
121
|
+
};
|
|
7
122
|
const displayOnWebhook = {
|
|
8
123
|
show: {
|
|
9
124
|
resume: ['webhook'],
|
|
10
125
|
},
|
|
11
126
|
};
|
|
127
|
+
const displayOnFormSubmission = {
|
|
128
|
+
show: {
|
|
129
|
+
resume: ['form'],
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
const onFormSubmitProperties = (0, utilities_1.updateDisplayOptions)(displayOnFormSubmission, [
|
|
133
|
+
common_descriptions_1.formTitle,
|
|
134
|
+
common_descriptions_1.formDescription,
|
|
135
|
+
common_descriptions_1.formFields,
|
|
136
|
+
common_descriptions_1.formRespondMode,
|
|
137
|
+
]);
|
|
138
|
+
const onWebhookCallProperties = (0, utilities_1.updateDisplayOptions)(displayOnWebhook, [
|
|
139
|
+
{
|
|
140
|
+
...description_1.httpMethodsProperty,
|
|
141
|
+
description: 'The HTTP method of the Webhook call',
|
|
142
|
+
},
|
|
143
|
+
description_1.responseCodeProperty,
|
|
144
|
+
description_1.responseModeProperty,
|
|
145
|
+
description_1.responseDataProperty,
|
|
146
|
+
description_1.responseBinaryPropertyNameProperty,
|
|
147
|
+
]);
|
|
148
|
+
const webhookPath = '={{$parameter["options"]["webhookSuffix"] || ""}}';
|
|
12
149
|
class Wait extends Webhook_node_1.Webhook {
|
|
13
150
|
constructor() {
|
|
14
|
-
var _a, _b;
|
|
15
151
|
super(...arguments);
|
|
16
152
|
this.authPropertyName = 'incomingAuthentication';
|
|
17
153
|
this.description = {
|
|
@@ -32,9 +168,28 @@ class Wait extends Webhook_node_1.Webhook {
|
|
|
32
168
|
{
|
|
33
169
|
...description_1.defaultWebhookDescription,
|
|
34
170
|
responseData: '={{$parameter["responseData"]}}',
|
|
35
|
-
path:
|
|
171
|
+
path: webhookPath,
|
|
36
172
|
restartWebhook: true,
|
|
37
173
|
},
|
|
174
|
+
{
|
|
175
|
+
name: 'default',
|
|
176
|
+
httpMethod: 'GET',
|
|
177
|
+
responseMode: 'onReceived',
|
|
178
|
+
path: webhookPath,
|
|
179
|
+
restartWebhook: true,
|
|
180
|
+
isFullPath: true,
|
|
181
|
+
isForm: true,
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'default',
|
|
185
|
+
httpMethod: 'POST',
|
|
186
|
+
responseMode: '={{$parameter["responseMode"]}}',
|
|
187
|
+
responseData: '={{$parameter["responseMode"] === "lastNode" ? "noData" : undefined}}',
|
|
188
|
+
path: webhookPath,
|
|
189
|
+
restartWebhook: true,
|
|
190
|
+
isFullPath: true,
|
|
191
|
+
isForm: true,
|
|
192
|
+
},
|
|
38
193
|
],
|
|
39
194
|
properties: [
|
|
40
195
|
{
|
|
@@ -57,6 +212,11 @@ class Wait extends Webhook_node_1.Webhook {
|
|
|
57
212
|
value: 'webhook',
|
|
58
213
|
description: 'Waits for a webhook call before continuing',
|
|
59
214
|
},
|
|
215
|
+
{
|
|
216
|
+
name: 'On Form Submited',
|
|
217
|
+
value: 'form',
|
|
218
|
+
description: 'Waits for a form submission before continuing',
|
|
219
|
+
},
|
|
60
220
|
],
|
|
61
221
|
default: 'timeInterval',
|
|
62
222
|
description: 'Determines the waiting mode to use before the workflow continues',
|
|
@@ -132,155 +292,65 @@ class Wait extends Webhook_node_1.Webhook {
|
|
|
132
292
|
default: '',
|
|
133
293
|
},
|
|
134
294
|
{
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
...description_1.responseCodeProperty,
|
|
141
|
-
displayOptions: displayOnWebhook,
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
...description_1.responseModeProperty,
|
|
145
|
-
displayOptions: displayOnWebhook,
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
...description_1.responseDataProperty,
|
|
149
|
-
displayOptions: {
|
|
150
|
-
show: {
|
|
151
|
-
...(_a = description_1.responseDataProperty.displayOptions) === null || _a === void 0 ? void 0 : _a.show,
|
|
152
|
-
...displayOnWebhook.show,
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
...description_1.responseBinaryPropertyNameProperty,
|
|
158
|
-
displayOptions: {
|
|
159
|
-
show: {
|
|
160
|
-
...(_b = description_1.responseBinaryPropertyNameProperty.displayOptions) === null || _b === void 0 ? void 0 : _b.show,
|
|
161
|
-
...displayOnWebhook.show,
|
|
162
|
-
},
|
|
163
|
-
},
|
|
295
|
+
displayName: 'The form url will be generated at run time. It can be referenced with the <strong>$execution.resumeFormUrl</strong> variable. Send it somewhere before getting to this node. <a href="https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/?utm_source=n8n_app&utm_medium=node_settings_modal-credential_link&utm_campaign=n8n-nodes-base.wait" target="_blank">More info</a>',
|
|
296
|
+
name: 'formNotice',
|
|
297
|
+
type: 'notice',
|
|
298
|
+
displayOptions: displayOnFormSubmission,
|
|
299
|
+
default: '',
|
|
164
300
|
},
|
|
301
|
+
...onFormSubmitProperties,
|
|
302
|
+
...onWebhookCallProperties,
|
|
303
|
+
...waitTimeProperties,
|
|
165
304
|
{
|
|
166
|
-
|
|
167
|
-
name: 'limitWaitTime',
|
|
168
|
-
type: 'boolean',
|
|
169
|
-
default: false,
|
|
170
|
-
description: 'If no webhook call is received, the workflow will automatically resume execution after the specified limit type',
|
|
305
|
+
...description_1.optionsProperty,
|
|
171
306
|
displayOptions: displayOnWebhook,
|
|
307
|
+
options: [...description_1.optionsProperty.options, webhookSuffix],
|
|
172
308
|
},
|
|
173
309
|
{
|
|
174
|
-
displayName: '
|
|
175
|
-
name: '
|
|
176
|
-
type: '
|
|
177
|
-
|
|
178
|
-
|
|
310
|
+
displayName: 'Options',
|
|
311
|
+
name: 'options',
|
|
312
|
+
type: 'collection',
|
|
313
|
+
placeholder: 'Add Option',
|
|
314
|
+
default: {},
|
|
179
315
|
displayOptions: {
|
|
180
316
|
show: {
|
|
181
|
-
|
|
182
|
-
...displayOnWebhook.show,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
options: [
|
|
186
|
-
{
|
|
187
|
-
name: 'After Time Interval',
|
|
188
|
-
description: 'Waits for a certain amount of time',
|
|
189
|
-
value: 'afterTimeInterval',
|
|
317
|
+
resume: ['form'],
|
|
190
318
|
},
|
|
191
|
-
{
|
|
192
|
-
|
|
193
|
-
description: 'Waits until the set date and time to continue',
|
|
194
|
-
value: 'atSpecifiedTime',
|
|
195
|
-
},
|
|
196
|
-
],
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
displayName: 'Amount',
|
|
200
|
-
name: 'resumeAmount',
|
|
201
|
-
type: 'number',
|
|
202
|
-
displayOptions: {
|
|
203
|
-
show: {
|
|
204
|
-
limitType: ['afterTimeInterval'],
|
|
205
|
-
limitWaitTime: [true],
|
|
206
|
-
...displayOnWebhook.show,
|
|
319
|
+
hide: {
|
|
320
|
+
responseMode: ['responseNode'],
|
|
207
321
|
},
|
|
208
322
|
},
|
|
209
|
-
|
|
210
|
-
minValue: 0,
|
|
211
|
-
numberPrecision: 2,
|
|
212
|
-
},
|
|
213
|
-
default: 1,
|
|
214
|
-
description: 'The time to wait',
|
|
323
|
+
options: [common_descriptions_1.respondWithOptions, webhookSuffix],
|
|
215
324
|
},
|
|
216
325
|
{
|
|
217
|
-
displayName: '
|
|
218
|
-
name: '
|
|
219
|
-
type: '
|
|
326
|
+
displayName: 'Options',
|
|
327
|
+
name: 'options',
|
|
328
|
+
type: 'collection',
|
|
329
|
+
placeholder: 'Add Option',
|
|
330
|
+
default: {},
|
|
220
331
|
displayOptions: {
|
|
221
332
|
show: {
|
|
222
|
-
|
|
223
|
-
limitWaitTime: [true],
|
|
224
|
-
...displayOnWebhook.show,
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
options: [
|
|
228
|
-
{
|
|
229
|
-
name: 'Seconds',
|
|
230
|
-
value: 'seconds',
|
|
333
|
+
resume: ['form'],
|
|
231
334
|
},
|
|
232
|
-
{
|
|
233
|
-
|
|
234
|
-
value: 'minutes',
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
name: 'Hours',
|
|
238
|
-
value: 'hours',
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
name: 'Days',
|
|
242
|
-
value: 'days',
|
|
243
|
-
},
|
|
244
|
-
],
|
|
245
|
-
default: 'hours',
|
|
246
|
-
description: 'Unit of the interval value',
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
displayName: 'Max Date and Time',
|
|
250
|
-
name: 'maxDateAndTime',
|
|
251
|
-
type: 'dateTime',
|
|
252
|
-
displayOptions: {
|
|
253
|
-
show: {
|
|
254
|
-
limitType: ['atSpecifiedTime'],
|
|
255
|
-
limitWaitTime: [true],
|
|
256
|
-
...displayOnWebhook.show,
|
|
335
|
+
hide: {
|
|
336
|
+
responseMode: ['onReceived', 'lastNode'],
|
|
257
337
|
},
|
|
258
338
|
},
|
|
259
|
-
|
|
260
|
-
description: 'Continue execution after the specified date and time',
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
...description_1.optionsProperty,
|
|
264
|
-
displayOptions: displayOnWebhook,
|
|
265
|
-
options: [
|
|
266
|
-
...description_1.optionsProperty.options,
|
|
267
|
-
{
|
|
268
|
-
displayName: 'Webhook Suffix',
|
|
269
|
-
name: 'webhookSuffix',
|
|
270
|
-
type: 'string',
|
|
271
|
-
default: '',
|
|
272
|
-
placeholder: 'webhook',
|
|
273
|
-
description: 'This suffix path will be appended to the restart URL. Helpful when using multiple wait nodes. Note: Does not support expressions.',
|
|
274
|
-
},
|
|
275
|
-
],
|
|
339
|
+
options: [webhookSuffix],
|
|
276
340
|
},
|
|
277
341
|
],
|
|
278
342
|
};
|
|
279
343
|
}
|
|
344
|
+
async webhook(context) {
|
|
345
|
+
const resume = context.getNodeParameter('resume', 0);
|
|
346
|
+
if (resume === 'form')
|
|
347
|
+
return (0, utils_1.formWebhook)(context);
|
|
348
|
+
return super.webhook(context);
|
|
349
|
+
}
|
|
280
350
|
async execute(context) {
|
|
281
351
|
const resume = context.getNodeParameter('resume', 0);
|
|
282
|
-
if (
|
|
283
|
-
return this.
|
|
352
|
+
if (['webhook', 'form'].includes(resume)) {
|
|
353
|
+
return this.configureAndPutToWait(context);
|
|
284
354
|
}
|
|
285
355
|
let waitTill;
|
|
286
356
|
if (resume === 'timeInterval') {
|
|
@@ -311,7 +381,7 @@ class Wait extends Webhook_node_1.Webhook {
|
|
|
311
381
|
}
|
|
312
382
|
return this.putToWait(context, waitTill);
|
|
313
383
|
}
|
|
314
|
-
async
|
|
384
|
+
async configureAndPutToWait(context) {
|
|
315
385
|
let waitTill = new Date(n8n_workflow_1.WAIT_TIME_UNLIMITED);
|
|
316
386
|
const limitWaitTime = context.getNodeParameter('limitWaitTime', 0);
|
|
317
387
|
if (limitWaitTime === true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wait.node.js","sourceRoot":"","sources":["../../../nodes/Wait/Wait.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Wait.node.js","sourceRoot":"","sources":["../../../nodes/Wait/Wait.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.Webhook = void 0;
|
|
7
7
|
const promises_1 = require("stream/promises");
|
|
8
8
|
const fs_1 = require("fs");
|
|
9
|
+
const promises_2 = require("fs/promises");
|
|
9
10
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
10
11
|
const uuid_1 = require("uuid");
|
|
11
12
|
const basic_auth_1 = __importDefault(require("basic-auth"));
|
|
@@ -22,7 +23,7 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
22
23
|
icon: 'file:webhook.svg',
|
|
23
24
|
name: 'webhook',
|
|
24
25
|
group: ['trigger'],
|
|
25
|
-
version: 1,
|
|
26
|
+
version: [1, 1.1],
|
|
26
27
|
description: 'Starts the workflow when a webhook is called',
|
|
27
28
|
eventTriggerDescription: 'Waiting for you to call the Test URL',
|
|
28
29
|
activationMessage: 'You can now make calls to your production webhook URL.',
|
|
@@ -74,7 +75,7 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
74
75
|
};
|
|
75
76
|
}
|
|
76
77
|
async webhook(context) {
|
|
77
|
-
var _a;
|
|
78
|
+
var _a, _b;
|
|
78
79
|
const options = context.getNodeParameter('options', {});
|
|
79
80
|
const req = context.getRequestObject();
|
|
80
81
|
const resp = context.getResponseObject();
|
|
@@ -97,6 +98,16 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
97
98
|
if (req.contentType === 'multipart/form-data') {
|
|
98
99
|
return this.handleFormData(context);
|
|
99
100
|
}
|
|
101
|
+
const nodeVersion = context.getNode().typeVersion;
|
|
102
|
+
if (nodeVersion > 1 && !req.body && !options.rawBody) {
|
|
103
|
+
try {
|
|
104
|
+
return await this.handleBinaryData(context);
|
|
105
|
+
}
|
|
106
|
+
catch (error) { }
|
|
107
|
+
}
|
|
108
|
+
if (options.rawBody && !req.rawBody) {
|
|
109
|
+
await req.readRawBody();
|
|
110
|
+
}
|
|
100
111
|
const response = {
|
|
101
112
|
json: {
|
|
102
113
|
headers: req.headers,
|
|
@@ -107,8 +118,8 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
107
118
|
binary: options.rawBody
|
|
108
119
|
? {
|
|
109
120
|
data: {
|
|
110
|
-
data: req.rawBody.toString(n8n_workflow_1.BINARY_ENCODING),
|
|
111
|
-
mimeType: (
|
|
121
|
+
data: ((_a = req.rawBody) !== null && _a !== void 0 ? _a : '').toString(n8n_workflow_1.BINARY_ENCODING),
|
|
122
|
+
mimeType: (_b = req.contentType) !== null && _b !== void 0 ? _b : 'application/json',
|
|
112
123
|
},
|
|
113
124
|
}
|
|
114
125
|
: undefined,
|
|
@@ -163,7 +174,6 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
163
174
|
const options = context.getNodeParameter('options', {});
|
|
164
175
|
const { data, files } = req.body;
|
|
165
176
|
const returnItem = {
|
|
166
|
-
binary: {},
|
|
167
177
|
json: {
|
|
168
178
|
headers: req.headers,
|
|
169
179
|
params: req.params,
|
|
@@ -171,6 +181,9 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
171
181
|
body: data,
|
|
172
182
|
},
|
|
173
183
|
};
|
|
184
|
+
if (files === null || files === void 0 ? void 0 : files.length) {
|
|
185
|
+
returnItem.binary = {};
|
|
186
|
+
}
|
|
174
187
|
let count = 0;
|
|
175
188
|
for (const key of Object.keys(files)) {
|
|
176
189
|
const processFiles = [];
|
|
@@ -201,14 +214,13 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
201
214
|
return { workflowData: [[returnItem]] };
|
|
202
215
|
}
|
|
203
216
|
async handleBinaryData(context) {
|
|
204
|
-
var _a, _b, _c;
|
|
217
|
+
var _a, _b, _c, _d;
|
|
205
218
|
const req = context.getRequestObject();
|
|
206
219
|
const options = context.getNodeParameter('options', {});
|
|
207
220
|
const binaryFile = await (0, tmp_promise_1.file)({ prefix: 'n8n-webhook-' });
|
|
208
221
|
try {
|
|
209
222
|
await (0, promises_1.pipeline)(req, (0, fs_1.createWriteStream)(binaryFile.path));
|
|
210
223
|
const returnItem = {
|
|
211
|
-
binary: {},
|
|
212
224
|
json: {
|
|
213
225
|
headers: req.headers,
|
|
214
226
|
params: req.params,
|
|
@@ -216,9 +228,13 @@ class Webhook extends n8n_workflow_1.Node {
|
|
|
216
228
|
body: {},
|
|
217
229
|
},
|
|
218
230
|
};
|
|
219
|
-
const
|
|
220
|
-
|
|
221
|
-
|
|
231
|
+
const stats = await (0, promises_2.stat)(binaryFile.path);
|
|
232
|
+
if (stats.size) {
|
|
233
|
+
const binaryPropertyName = ((_a = options.binaryPropertyName) !== null && _a !== void 0 ? _a : 'data');
|
|
234
|
+
const fileName = (_c = (_b = req.contentDisposition) === null || _b === void 0 ? void 0 : _b.filename) !== null && _c !== void 0 ? _c : (0, uuid_1.v4)();
|
|
235
|
+
const binaryData = await context.nodeHelpers.copyBinaryFile(binaryFile.path, fileName, (_d = req.contentType) !== null && _d !== void 0 ? _d : 'application/octet-stream');
|
|
236
|
+
returnItem.binary = { [binaryPropertyName]: binaryData };
|
|
237
|
+
}
|
|
222
238
|
return { workflowData: [[returnItem]] };
|
|
223
239
|
}
|
|
224
240
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Webhook.node.js","sourceRoot":"","sources":["../../../nodes/Webhook/Webhook.node.ts"],"names":[],"mappings":";;;;;;AACA,8CAA2C;AAC3C,2BAAuC;
|
|
1
|
+
{"version":3,"file":"Webhook.node.js","sourceRoot":"","sources":["../../../nodes/Webhook/Webhook.node.ts"],"names":[],"mappings":"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"}
|