n8n-nodes-base 1.97.0 → 1.98.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/dist/nodes/Aws/DynamoDB/AwsDynamoDB.node.js +5 -5
- package/dist/nodes/Aws/DynamoDB/AwsDynamoDB.node.js.map +1 -1
- package/dist/nodes/Aws/DynamoDB/ItemDescription.js +1 -1
- package/dist/nodes/Aws/DynamoDB/ItemDescription.js.map +1 -1
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.js +4 -1
- package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.js.map +1 -1
- package/dist/nodes/Form/Form.node.js +3 -3
- package/dist/nodes/Form/Form.node.js.map +1 -1
- package/dist/nodes/Form/utils/formCompletionUtils.js.map +1 -0
- package/dist/nodes/Form/utils/formNodeUtils.js.map +1 -0
- package/dist/nodes/Form/{utils.js → utils/utils.js} +21 -7
- package/dist/nodes/Form/utils/utils.js.map +1 -0
- package/dist/nodes/Form/v1/FormTriggerV1.node.js +1 -1
- package/dist/nodes/Form/v1/FormTriggerV1.node.js.map +1 -1
- package/dist/nodes/Form/v2/FormTriggerV2.node.js +1 -1
- package/dist/nodes/Form/v2/FormTriggerV2.node.js.map +1 -1
- package/dist/nodes/Github/Github.node.js +5 -4
- package/dist/nodes/Github/Github.node.js.map +1 -1
- package/dist/nodes/Google/Ads/CampaignDescription.js +3 -3
- package/dist/nodes/Google/Ads/CampaignDescription.js.map +1 -1
- package/dist/nodes/Google/Ads/GoogleAds.node.js +1 -1
- package/dist/nodes/Google/Ads/GoogleAds.node.js.map +1 -1
- package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js +1 -1
- package/dist/nodes/Google/GSuiteAdmin/DeviceDescription.js.map +1 -1
- package/dist/nodes/Notion/shared/GenericFunctions.js +1 -1
- package/dist/nodes/Notion/shared/GenericFunctions.js.map +1 -1
- package/dist/nodes/Strapi/GenericFunctions.js +3 -10
- package/dist/nodes/Strapi/GenericFunctions.js.map +1 -1
- package/dist/nodes/Strapi/Strapi.node.js +2 -1
- package/dist/nodes/Strapi/Strapi.node.js.map +1 -1
- package/dist/nodes/Stripe/StripeTrigger.node.js +12 -0
- package/dist/nodes/Stripe/StripeTrigger.node.js.map +1 -1
- package/dist/nodes/Telegram/Telegram.node.js +3 -0
- package/dist/nodes/Telegram/Telegram.node.js.map +1 -1
- package/dist/nodes/Telegram/tests/Workflow/apiResponses.js +39 -0
- package/dist/nodes/Telegram/tests/Workflow/apiResponses.js.map +1 -1
- package/dist/nodes/Wait/Wait.node.js +1 -1
- package/dist/nodes/Wait/Wait.node.js.map +1 -1
- package/dist/types/nodes.json +8 -8
- package/dist/utils/sendAndWait/utils.js +1 -1
- package/dist/utils/sendAndWait/utils.js.map +1 -1
- package/dist/utils/utilities.d.ts +2 -1
- package/dist/utils/utilities.js +8 -0
- package/dist/utils/utilities.js.map +1 -1
- package/package.json +4 -4
- package/dist/nodes/Form/formCompletionUtils.js.map +0 -1
- package/dist/nodes/Form/formNodeUtils.js.map +0 -1
- package/dist/nodes/Form/utils.js.map +0 -1
- /package/dist/nodes/Form/{formCompletionUtils.js → utils/formCompletionUtils.js} +0 -0
- /package/dist/nodes/Form/{formNodeUtils.js → utils/formNodeUtils.js} +0 -0
|
@@ -93,7 +93,7 @@ class AwsDynamoDB {
|
|
|
93
93
|
[]
|
|
94
94
|
);
|
|
95
95
|
const conditionExpession = this.getNodeParameter(
|
|
96
|
-
"conditionExpression",
|
|
96
|
+
"additionalFields.conditionExpression",
|
|
97
97
|
i,
|
|
98
98
|
""
|
|
99
99
|
);
|
|
@@ -111,7 +111,7 @@ class AwsDynamoDB {
|
|
|
111
111
|
}
|
|
112
112
|
const expressionAttributeName = (0, import_utils.adjustExpressionAttributeName)(eanUi);
|
|
113
113
|
if (Object.keys(expressionAttributeName).length) {
|
|
114
|
-
body.
|
|
114
|
+
body.ExpressionAttributeNames = expressionAttributeName;
|
|
115
115
|
}
|
|
116
116
|
if (conditionExpession) {
|
|
117
117
|
body.ConditionExpression = conditionExpession;
|
|
@@ -145,7 +145,7 @@ class AwsDynamoDB {
|
|
|
145
145
|
ReturnValues: this.getNodeParameter("returnValues", 0)
|
|
146
146
|
};
|
|
147
147
|
const eavUi = this.getNodeParameter(
|
|
148
|
-
"additionalFields.
|
|
148
|
+
"additionalFields.expressionAttributeUi.expressionAttributeValues",
|
|
149
149
|
i,
|
|
150
150
|
[]
|
|
151
151
|
);
|
|
@@ -168,7 +168,7 @@ class AwsDynamoDB {
|
|
|
168
168
|
}
|
|
169
169
|
const expressionAttributeName = (0, import_utils.adjustExpressionAttributeName)(eanUi);
|
|
170
170
|
if (Object.keys(expressionAttributeName).length) {
|
|
171
|
-
body.
|
|
171
|
+
body.ExpressionAttributeNames = expressionAttributeName;
|
|
172
172
|
}
|
|
173
173
|
const headers = {
|
|
174
174
|
"Content-Type": "application/x-amz-json-1.0",
|
|
@@ -201,7 +201,7 @@ class AwsDynamoDB {
|
|
|
201
201
|
Object.assign(body, additionalFields);
|
|
202
202
|
const expressionAttributeName = (0, import_utils.adjustExpressionAttributeName)(eanUi);
|
|
203
203
|
if (Object.keys(expressionAttributeName).length) {
|
|
204
|
-
body.
|
|
204
|
+
body.ExpressionAttributeNames = expressionAttributeName;
|
|
205
205
|
}
|
|
206
206
|
if (additionalFields.readType) {
|
|
207
207
|
body.ConsistentRead = additionalFields.readType === "stronglyConsistentRead";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../nodes/Aws/DynamoDB/AwsDynamoDB.node.ts"],"sourcesContent":["/* eslint-disable n8n-nodes-base/node-filename-against-convention */\nimport {\n\ttype IExecuteFunctions,\n\ttype IDataObject,\n\ttype ILoadOptionsFunctions,\n\ttype INodeExecutionData,\n\ttype INodeType,\n\ttype INodeTypeDescription,\n\ttype NodeParameterValue,\n\tNodeConnectionTypes,\n} from 'n8n-workflow';\n\nimport { awsApiRequest, awsApiRequestAllItems } from './GenericFunctions';\nimport { itemFields, itemOperations } from './ItemDescription';\nimport type {\n\tFieldsUiValues,\n\tIAttributeNameUi,\n\tIAttributeValue,\n\tIAttributeValueUi,\n\tIRequestBody,\n\tPutItemUi,\n} from './types';\nimport {\n\tadjustExpressionAttributeName,\n\tadjustExpressionAttributeValues,\n\tadjustPutItem,\n\tdecodeItem,\n\tsimplify,\n} from './utils';\n\nexport class AwsDynamoDB implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'AWS DynamoDB',\n\t\tname: 'awsDynamoDb',\n\t\ticon: 'file:dynamodb.svg',\n\t\tgroup: ['transform'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume the AWS DynamoDB API',\n\t\tdefaults: {\n\t\t\tname: 'AWS DynamoDB',\n\t\t},\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'aws',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Item',\n\t\t\t\t\t\tvalue: 'item',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'item',\n\t\t\t},\n\t\t\t...itemOperations,\n\t\t\t...itemFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tloadOptions: {\n\t\t\tasync getTables(this: ILoadOptionsFunctions) {\n\t\t\t\tconst headers = {\n\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.ListTables',\n\t\t\t\t};\n\n\t\t\t\tconst responseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', {}, headers);\n\n\t\t\t\treturn responseData.TableNames.map((table: string) => ({ name: table, value: table }));\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\tlet responseData;\n\t\tconst returnData: INodeExecutionData[] = [];\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\tif (resource === 'item') {\n\t\t\t\t\tif (operation === 'upsert') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// upsert\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eavUi.eavValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeValueUi[];\n\t\t\t\t\t\tconst conditionExpession = this.getNodeParameter(\n\t\t\t\t\t\t\t'conditionExpression',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t) as string;\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: IRequestBody = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.expressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (conditionExpession) {\n\t\t\t\t\t\t\tbody.ConditionExpression = conditionExpession;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst dataToSend = this.getNodeParameter('dataToSend', 0) as\n\t\t\t\t\t\t\t| 'defineBelow'\n\t\t\t\t\t\t\t| 'autoMapInputData';\n\t\t\t\t\t\tconst item: { [key: string]: string } = {};\n\n\t\t\t\t\t\tif (dataToSend === 'autoMapInputData') {\n\t\t\t\t\t\t\tconst incomingKeys = Object.keys(items[i].json);\n\t\t\t\t\t\t\tconst rawInputsToIgnore = this.getNodeParameter('inputsToIgnore', i) as string;\n\t\t\t\t\t\t\tconst inputsToIgnore = rawInputsToIgnore.split(',').map((c) => c.trim());\n\n\t\t\t\t\t\t\tfor (const key of incomingKeys) {\n\t\t\t\t\t\t\t\tif (inputsToIgnore.includes(key)) continue;\n\t\t\t\t\t\t\t\titem[key] = items[i].json[key] as string;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbody.Item = adjustPutItem(item as PutItemUi);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('fieldsUi.fieldValues', i, []) as FieldsUiValues;\n\t\t\t\t\t\t\tfields.forEach(({ fieldId, fieldValue }) => (item[fieldId] = fieldValue));\n\t\t\t\t\t\t\tbody.Item = adjustPutItem(item as PutItemUi);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.PutItem',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\t\t\t\t\t\tresponseData = item;\n\t\t\t\t\t} else if (operation === 'delete') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// delete\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html\n\n\t\t\t\t\t\tconst body: { [key: string]: any } = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t\tKey: {},\n\t\t\t\t\t\t\tReturnValues: this.getNodeParameter('returnValues', 0) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eavUi.eavValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeValueUi[];\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\n\t\t\t\t\t\tconst keyValues = this.getNodeParameter('keysUi.keyValues', i, []) as [\n\t\t\t\t\t\t\t{ key: string; type: string; value: string },\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\tfor (const item of keyValues) {\n\t\t\t\t\t\t\tlet value = item.value as NodeParameterValue;\n\t\t\t\t\t\t\t// All data has to get send as string even numbers\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tvalue = ![null, undefined].includes(value) ? value?.toString() : '';\n\t\t\t\t\t\t\tbody.Key[item.key] = { [item.type]: value };\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.expressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.DeleteItem',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (additionalFields.conditionExpression) {\n\t\t\t\t\t\t\tbody.ConditionExpression = additionalFields.conditionExpression as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\n\t\t\t\t\t\tif (!Object.keys(responseData as IDataObject).length) {\n\t\t\t\t\t\t\tresponseData = { success: true };\n\t\t\t\t\t\t} else if (simple) {\n\t\t\t\t\t\t\tresponseData = decodeItem(responseData.Attributes as IAttributeValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html\n\n\t\t\t\t\t\tconst tableName = this.getNodeParameter('tableName', 0) as string;\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\t\t\t\t\t\tconst select = this.getNodeParameter('select', 0) as string;\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: { [key: string]: any } = {\n\t\t\t\t\t\t\tTableName: tableName,\n\t\t\t\t\t\t\tKey: {},\n\t\t\t\t\t\t\tSelect: select,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.expressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (additionalFields.readType) {\n\t\t\t\t\t\t\tbody.ConsistentRead = additionalFields.readType === 'stronglyConsistentRead';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (additionalFields.projectionExpression) {\n\t\t\t\t\t\t\tbody.ProjectionExpression = additionalFields.projectionExpression as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst keyValues = this.getNodeParameter('keysUi.keyValues', i, []) as IDataObject[];\n\n\t\t\t\t\t\tfor (const item of keyValues) {\n\t\t\t\t\t\t\tlet value = item.value as NodeParameterValue;\n\t\t\t\t\t\t\t// All data has to get send as string even numbers\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tvalue = ![null, undefined].includes(value) ? value?.toString() : '';\n\t\t\t\t\t\t\tbody.Key[item.key as string] = { [item.type as string]: value };\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.GetItem',\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\n\t\t\t\t\t\tresponseData = responseData.Item;\n\n\t\t\t\t\t\tif (simple && responseData) {\n\t\t\t\t\t\t\tresponseData = decodeItem(responseData as IAttributeValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'getAll') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// getAll\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter('eavUi.eavValues', i, []) as IAttributeValueUi[];\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\t\t\t\t\t\tconst select = this.getNodeParameter('select', 0) as string;\n\t\t\t\t\t\tconst returnAll = this.getNodeParameter('returnAll', 0);\n\t\t\t\t\t\tconst scan = this.getNodeParameter('scan', 0) as boolean;\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'options.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: IRequestBody = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (scan) {\n\t\t\t\t\t\t\tconst filterExpression = this.getNodeParameter('filterExpression', i) as string;\n\t\t\t\t\t\t\tif (filterExpression) {\n\t\t\t\t\t\t\t\tbody.FilterExpression = filterExpression;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.KeyConditionExpression = this.getNodeParameter(\n\t\t\t\t\t\t\t\t'keyConditionExpression',\n\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t) as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst { indexName, projectionExpression, filterExpression } = this.getNodeParameter(\n\t\t\t\t\t\t\t'options',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t) as {\n\t\t\t\t\t\t\tindexName: string;\n\t\t\t\t\t\t\tprojectionExpression: string;\n\t\t\t\t\t\t\tfilterExpression: string;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (indexName) {\n\t\t\t\t\t\t\tbody.IndexName = indexName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (projectionExpression && select !== 'COUNT') {\n\t\t\t\t\t\t\tbody.ProjectionExpression = projectionExpression;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (filterExpression) {\n\t\t\t\t\t\t\tbody.FilterExpression = filterExpression;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (select) {\n\t\t\t\t\t\t\tbody.Select = select;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t\t'X-Amz-Target': scan ? 'DynamoDB_20120810.Scan' : 'DynamoDB_20120810.Query',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (returnAll && select !== 'COUNT') {\n\t\t\t\t\t\t\tresponseData = await awsApiRequestAllItems.call(\n\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t'dynamodb',\n\t\t\t\t\t\t\t\t'POST',\n\t\t\t\t\t\t\t\t'/',\n\t\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.Limit = this.getNodeParameter('limit', 0, 1);\n\t\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\t\t\t\t\t\t\tif (select !== 'COUNT') {\n\t\t\t\t\t\t\t\tresponseData = responseData.Items;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (simple) {\n\t\t\t\t\t\t\tresponseData = responseData.map(simplify);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject[]),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray({ error: error.message }),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":"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","names":["filterExpression"]}
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/Aws/DynamoDB/AwsDynamoDB.node.ts"],"sourcesContent":["/* eslint-disable n8n-nodes-base/node-filename-against-convention */\nimport {\n\ttype IExecuteFunctions,\n\ttype IDataObject,\n\ttype ILoadOptionsFunctions,\n\ttype INodeExecutionData,\n\ttype INodeType,\n\ttype INodeTypeDescription,\n\ttype NodeParameterValue,\n\tNodeConnectionTypes,\n} from 'n8n-workflow';\n\nimport { awsApiRequest, awsApiRequestAllItems } from './GenericFunctions';\nimport { itemFields, itemOperations } from './ItemDescription';\nimport type {\n\tFieldsUiValues,\n\tIAttributeNameUi,\n\tIAttributeValue,\n\tIAttributeValueUi,\n\tIRequestBody,\n\tPutItemUi,\n} from './types';\nimport {\n\tadjustExpressionAttributeName,\n\tadjustExpressionAttributeValues,\n\tadjustPutItem,\n\tdecodeItem,\n\tsimplify,\n} from './utils';\n\nexport class AwsDynamoDB implements INodeType {\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'AWS DynamoDB',\n\t\tname: 'awsDynamoDb',\n\t\ticon: 'file:dynamodb.svg',\n\t\tgroup: ['transform'],\n\t\tversion: 1,\n\t\tsubtitle: '={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}',\n\t\tdescription: 'Consume the AWS DynamoDB API',\n\t\tdefaults: {\n\t\t\tname: 'AWS DynamoDB',\n\t\t},\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\tcredentials: [\n\t\t\t{\n\t\t\t\tname: 'aws',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Resource',\n\t\t\t\tname: 'resource',\n\t\t\t\ttype: 'options',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Item',\n\t\t\t\t\t\tvalue: 'item',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'item',\n\t\t\t},\n\t\t\t...itemOperations,\n\t\t\t...itemFields,\n\t\t],\n\t};\n\n\tmethods = {\n\t\tloadOptions: {\n\t\t\tasync getTables(this: ILoadOptionsFunctions) {\n\t\t\t\tconst headers = {\n\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.ListTables',\n\t\t\t\t};\n\n\t\t\t\tconst responseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', {}, headers);\n\n\t\t\t\treturn responseData.TableNames.map((table: string) => ({ name: table, value: table }));\n\t\t\t},\n\t\t},\n\t};\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\n\t\tconst resource = this.getNodeParameter('resource', 0);\n\t\tconst operation = this.getNodeParameter('operation', 0);\n\n\t\tlet responseData;\n\t\tconst returnData: INodeExecutionData[] = [];\n\n\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\ttry {\n\t\t\t\tif (resource === 'item') {\n\t\t\t\t\tif (operation === 'upsert') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// upsert\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eavUi.eavValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeValueUi[];\n\t\t\t\t\t\tconst conditionExpession = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.conditionExpression',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t) as string;\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: IRequestBody = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (conditionExpession) {\n\t\t\t\t\t\t\tbody.ConditionExpression = conditionExpession;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst dataToSend = this.getNodeParameter('dataToSend', 0) as\n\t\t\t\t\t\t\t| 'defineBelow'\n\t\t\t\t\t\t\t| 'autoMapInputData';\n\t\t\t\t\t\tconst item: { [key: string]: string } = {};\n\n\t\t\t\t\t\tif (dataToSend === 'autoMapInputData') {\n\t\t\t\t\t\t\tconst incomingKeys = Object.keys(items[i].json);\n\t\t\t\t\t\t\tconst rawInputsToIgnore = this.getNodeParameter('inputsToIgnore', i) as string;\n\t\t\t\t\t\t\tconst inputsToIgnore = rawInputsToIgnore.split(',').map((c) => c.trim());\n\n\t\t\t\t\t\t\tfor (const key of incomingKeys) {\n\t\t\t\t\t\t\t\tif (inputsToIgnore.includes(key)) continue;\n\t\t\t\t\t\t\t\titem[key] = items[i].json[key] as string;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbody.Item = adjustPutItem(item as PutItemUi);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst fields = this.getNodeParameter('fieldsUi.fieldValues', i, []) as FieldsUiValues;\n\t\t\t\t\t\t\tfields.forEach(({ fieldId, fieldValue }) => (item[fieldId] = fieldValue));\n\t\t\t\t\t\t\tbody.Item = adjustPutItem(item as PutItemUi);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.PutItem',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\t\t\t\t\t\tresponseData = item;\n\t\t\t\t\t} else if (operation === 'delete') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// delete\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DeleteItem.html\n\n\t\t\t\t\t\tconst body: { [key: string]: any } = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t\tKey: {},\n\t\t\t\t\t\t\tReturnValues: this.getNodeParameter('returnValues', 0) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.expressionAttributeUi.expressionAttributeValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeValueUi[];\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\n\t\t\t\t\t\tconst keyValues = this.getNodeParameter('keysUi.keyValues', i, []) as [\n\t\t\t\t\t\t\t{ key: string; type: string; value: string },\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\tfor (const item of keyValues) {\n\t\t\t\t\t\t\tlet value = item.value as NodeParameterValue;\n\t\t\t\t\t\t\t// All data has to get send as string even numbers\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tvalue = ![null, undefined].includes(value) ? value?.toString() : '';\n\t\t\t\t\t\t\tbody.Key[item.key] = { [item.type]: value };\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.DeleteItem',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (additionalFields.conditionExpression) {\n\t\t\t\t\t\t\tbody.ConditionExpression = additionalFields.conditionExpression as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\n\t\t\t\t\t\tif (!Object.keys(responseData as IDataObject).length) {\n\t\t\t\t\t\t\tresponseData = { success: true };\n\t\t\t\t\t\t} else if (simple) {\n\t\t\t\t\t\t\tresponseData = decodeItem(responseData.Attributes as IAttributeValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'get') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// get\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html\n\n\t\t\t\t\t\tconst tableName = this.getNodeParameter('tableName', 0) as string;\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\t\t\t\t\t\tconst select = this.getNodeParameter('select', 0) as string;\n\t\t\t\t\t\tconst additionalFields = this.getNodeParameter('additionalFields', i);\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'additionalFields.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: { [key: string]: any } = {\n\t\t\t\t\t\t\tTableName: tableName,\n\t\t\t\t\t\t\tKey: {},\n\t\t\t\t\t\t\tSelect: select,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tObject.assign(body, additionalFields);\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (additionalFields.readType) {\n\t\t\t\t\t\t\tbody.ConsistentRead = additionalFields.readType === 'stronglyConsistentRead';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (additionalFields.projectionExpression) {\n\t\t\t\t\t\t\tbody.ProjectionExpression = additionalFields.projectionExpression as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst keyValues = this.getNodeParameter('keysUi.keyValues', i, []) as IDataObject[];\n\n\t\t\t\t\t\tfor (const item of keyValues) {\n\t\t\t\t\t\t\tlet value = item.value as NodeParameterValue;\n\t\t\t\t\t\t\t// All data has to get send as string even numbers\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tvalue = ![null, undefined].includes(value) ? value?.toString() : '';\n\t\t\t\t\t\t\tbody.Key[item.key as string] = { [item.type as string]: value };\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'X-Amz-Target': 'DynamoDB_20120810.GetItem',\n\t\t\t\t\t\t\t'Content-Type': 'application/x-amz-json-1.0',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\n\t\t\t\t\t\tresponseData = responseData.Item;\n\n\t\t\t\t\t\tif (simple && responseData) {\n\t\t\t\t\t\t\tresponseData = decodeItem(responseData as IAttributeValue);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (operation === 'getAll') {\n\t\t\t\t\t\t// ----------------------------------\n\t\t\t\t\t\t// getAll\n\t\t\t\t\t\t// ----------------------------------\n\n\t\t\t\t\t\t// https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html\n\n\t\t\t\t\t\tconst eavUi = this.getNodeParameter('eavUi.eavValues', i, []) as IAttributeValueUi[];\n\t\t\t\t\t\tconst simple = this.getNodeParameter('simple', 0, false) as boolean;\n\t\t\t\t\t\tconst select = this.getNodeParameter('select', 0) as string;\n\t\t\t\t\t\tconst returnAll = this.getNodeParameter('returnAll', 0);\n\t\t\t\t\t\tconst scan = this.getNodeParameter('scan', 0) as boolean;\n\t\t\t\t\t\tconst eanUi = this.getNodeParameter(\n\t\t\t\t\t\t\t'options.eanUi.eanValues',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t[],\n\t\t\t\t\t\t) as IAttributeNameUi[];\n\n\t\t\t\t\t\tconst body: IRequestBody = {\n\t\t\t\t\t\t\tTableName: this.getNodeParameter('tableName', i) as string,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (scan) {\n\t\t\t\t\t\t\tconst filterExpression = this.getNodeParameter('filterExpression', i) as string;\n\t\t\t\t\t\t\tif (filterExpression) {\n\t\t\t\t\t\t\t\tbody.FilterExpression = filterExpression;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.KeyConditionExpression = this.getNodeParameter(\n\t\t\t\t\t\t\t\t'keyConditionExpression',\n\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t) as string;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst { indexName, projectionExpression, filterExpression } = this.getNodeParameter(\n\t\t\t\t\t\t\t'options',\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t) as {\n\t\t\t\t\t\t\tindexName: string;\n\t\t\t\t\t\t\tprojectionExpression: string;\n\t\t\t\t\t\t\tfilterExpression: string;\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst expressionAttributeName = adjustExpressionAttributeName(eanUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeName).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeNames = expressionAttributeName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst expressionAttributeValues = adjustExpressionAttributeValues(eavUi);\n\n\t\t\t\t\t\tif (Object.keys(expressionAttributeValues).length) {\n\t\t\t\t\t\t\tbody.ExpressionAttributeValues = expressionAttributeValues;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (indexName) {\n\t\t\t\t\t\t\tbody.IndexName = indexName;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (projectionExpression && select !== 'COUNT') {\n\t\t\t\t\t\t\tbody.ProjectionExpression = projectionExpression;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (filterExpression) {\n\t\t\t\t\t\t\tbody.FilterExpression = filterExpression;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (select) {\n\t\t\t\t\t\t\tbody.Select = select;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst headers = {\n\t\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t\t'X-Amz-Target': scan ? 'DynamoDB_20120810.Scan' : 'DynamoDB_20120810.Query',\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (returnAll && select !== 'COUNT') {\n\t\t\t\t\t\t\tresponseData = await awsApiRequestAllItems.call(\n\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t'dynamodb',\n\t\t\t\t\t\t\t\t'POST',\n\t\t\t\t\t\t\t\t'/',\n\t\t\t\t\t\t\t\tbody,\n\t\t\t\t\t\t\t\theaders,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbody.Limit = this.getNodeParameter('limit', 0, 1);\n\t\t\t\t\t\t\tresponseData = await awsApiRequest.call(this, 'dynamodb', 'POST', '/', body, headers);\n\t\t\t\t\t\t\tif (select !== 'COUNT') {\n\t\t\t\t\t\t\t\tresponseData = responseData.Items;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (simple) {\n\t\t\t\t\t\t\tresponseData = responseData.map(simplify);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray(responseData as IDataObject[]),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (this.continueOnFail()) {\n\t\t\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\t\t\tthis.helpers.returnJsonArray({ error: error.message }),\n\t\t\t\t\t\t{ itemData: { item: i } },\n\t\t\t\t\t);\n\t\t\t\t\treturnData.push(...executionData);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn [returnData];\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BASO;AAEP,8BAAqD;AACrD,6BAA2C;AAS3C,mBAMO;AAEA,MAAM,YAAiC;AAAA,EAAvC;AACN,uBAAoC;AAAA,MACnC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,CAAC,WAAW;AAAA,MACnB,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,QACT,MAAM;AAAA,MACP;AAAA,MACA,QAAQ,CAAC,wCAAoB,IAAI;AAAA,MACjC,SAAS,CAAC,wCAAoB,IAAI;AAAA,MAClC,aAAa;AAAA,QACZ;AAAA,UACC,MAAM;AAAA,UACN,UAAU;AAAA,QACX;AAAA,MACD;AAAA,MACA,YAAY;AAAA,QACX;AAAA,UACC,aAAa;AAAA,UACb,MAAM;AAAA,UACN,MAAM;AAAA,UACN,kBAAkB;AAAA,UAClB,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,cACN,OAAO;AAAA,YACR;AAAA,UACD;AAAA,UACA,SAAS;AAAA,QACV;AAAA,QACA,GAAG;AAAA,QACH,GAAG;AAAA,MACJ;AAAA,IACD;AAEA,mBAAU;AAAA,MACT,aAAa;AAAA,QACZ,MAAM,YAAuC;AAC5C,gBAAM,UAAU;AAAA,YACf,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,UACjB;AAEA,gBAAM,eAAe,MAAM,sCAAc,KAAK,MAAM,YAAY,QAAQ,KAAK,CAAC,GAAG,OAAO;AAExF,iBAAO,aAAa,WAAW,IAAI,CAAC,WAAmB,EAAE,MAAM,OAAO,OAAO,MAAM,EAAE;AAAA,QACtF;AAAA,MACD;AAAA,IACD;AAAA;AAAA,EAEA,MAAM,UAAkE;AACvE,UAAM,QAAQ,KAAK,aAAa;AAEhC,UAAM,WAAW,KAAK,iBAAiB,YAAY,CAAC;AACpD,UAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,QAAI;AACJ,UAAM,aAAmC,CAAC;AAE1C,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,UAAI;AACH,YAAI,aAAa,QAAQ;AACxB,cAAI,cAAc,UAAU;AAO3B,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AACA,kBAAM,qBAAqB,KAAK;AAAA,cAC/B;AAAA,cACA;AAAA,cACA;AAAA,YACD;AACA,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AAEA,kBAAM,OAAqB;AAAA,cAC1B,WAAW,KAAK,iBAAiB,aAAa,CAAC;AAAA,YAChD;AAEA,kBAAM,gCAA4B,8CAAgC,KAAK;AAEvE,gBAAI,OAAO,KAAK,yBAAyB,EAAE,QAAQ;AAClD,mBAAK,4BAA4B;AAAA,YAClC;AAEA,kBAAM,8BAA0B,4CAA8B,KAAK;AAEnE,gBAAI,OAAO,KAAK,uBAAuB,EAAE,QAAQ;AAChD,mBAAK,2BAA2B;AAAA,YACjC;AAEA,gBAAI,oBAAoB;AACvB,mBAAK,sBAAsB;AAAA,YAC5B;AAEA,kBAAM,aAAa,KAAK,iBAAiB,cAAc,CAAC;AAGxD,kBAAM,OAAkC,CAAC;AAEzC,gBAAI,eAAe,oBAAoB;AACtC,oBAAM,eAAe,OAAO,KAAK,MAAM,CAAC,EAAE,IAAI;AAC9C,oBAAM,oBAAoB,KAAK,iBAAiB,kBAAkB,CAAC;AACnE,oBAAM,iBAAiB,kBAAkB,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAEvE,yBAAW,OAAO,cAAc;AAC/B,oBAAI,eAAe,SAAS,GAAG,EAAG;AAClC,qBAAK,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,cAC9B;AAEA,mBAAK,WAAO,4BAAc,IAAiB;AAAA,YAC5C,OAAO;AACN,oBAAM,SAAS,KAAK,iBAAiB,wBAAwB,GAAG,CAAC,CAAC;AAClE,qBAAO,QAAQ,CAAC,EAAE,SAAS,WAAW,MAAO,KAAK,OAAO,IAAI,UAAW;AACxE,mBAAK,WAAO,4BAAc,IAAiB;AAAA,YAC5C;AAEA,kBAAM,UAAU;AAAA,cACf,gBAAgB;AAAA,cAChB,gBAAgB;AAAA,YACjB;AAEA,2BAAe,MAAM,sCAAc,KAAK,MAAM,YAAY,QAAQ,KAAK,MAAM,OAAO;AACpF,2BAAe;AAAA,UAChB,WAAW,cAAc,UAAU;AAOlC,kBAAM,OAA+B;AAAA,cACpC,WAAW,KAAK,iBAAiB,aAAa,CAAC;AAAA,cAC/C,KAAK,CAAC;AAAA,cACN,cAAc,KAAK,iBAAiB,gBAAgB,CAAC;AAAA,YACtD;AAEA,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AACA,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AACA,kBAAM,mBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,kBAAM,SAAS,KAAK,iBAAiB,UAAU,GAAG,KAAK;AAEvD,kBAAM,YAAY,KAAK,iBAAiB,oBAAoB,GAAG,CAAC,CAAC;AAIjE,uBAAW,QAAQ,WAAW;AAC7B,kBAAI,QAAQ,KAAK;AAGjB,sBAAQ,CAAC,CAAC,MAAM,MAAS,EAAE,SAAS,KAAK,IAAI,OAAO,SAAS,IAAI;AACjE,mBAAK,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM;AAAA,YAC3C;AAEA,kBAAM,gCAA4B,8CAAgC,KAAK;AAEvE,gBAAI,OAAO,KAAK,yBAAyB,EAAE,QAAQ;AAClD,mBAAK,4BAA4B;AAAA,YAClC;AAEA,kBAAM,8BAA0B,4CAA8B,KAAK;AAEnE,gBAAI,OAAO,KAAK,uBAAuB,EAAE,QAAQ;AAChD,mBAAK,2BAA2B;AAAA,YACjC;AAEA,kBAAM,UAAU;AAAA,cACf,gBAAgB;AAAA,cAChB,gBAAgB;AAAA,YACjB;AAEA,gBAAI,iBAAiB,qBAAqB;AACzC,mBAAK,sBAAsB,iBAAiB;AAAA,YAC7C;AAEA,2BAAe,MAAM,sCAAc,KAAK,MAAM,YAAY,QAAQ,KAAK,MAAM,OAAO;AAEpF,gBAAI,CAAC,OAAO,KAAK,YAA2B,EAAE,QAAQ;AACrD,6BAAe,EAAE,SAAS,KAAK;AAAA,YAChC,WAAW,QAAQ;AAClB,iCAAe,yBAAW,aAAa,UAA6B;AAAA,YACrE;AAAA,UACD,WAAW,cAAc,OAAO;AAO/B,kBAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AACtD,kBAAM,SAAS,KAAK,iBAAiB,UAAU,GAAG,KAAK;AACvD,kBAAM,SAAS,KAAK,iBAAiB,UAAU,CAAC;AAChD,kBAAM,mBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AAEA,kBAAM,OAA+B;AAAA,cACpC,WAAW;AAAA,cACX,KAAK,CAAC;AAAA,cACN,QAAQ;AAAA,YACT;AAEA,mBAAO,OAAO,MAAM,gBAAgB;AAEpC,kBAAM,8BAA0B,4CAA8B,KAAK;AAEnE,gBAAI,OAAO,KAAK,uBAAuB,EAAE,QAAQ;AAChD,mBAAK,2BAA2B;AAAA,YACjC;AAEA,gBAAI,iBAAiB,UAAU;AAC9B,mBAAK,iBAAiB,iBAAiB,aAAa;AAAA,YACrD;AAEA,gBAAI,iBAAiB,sBAAsB;AAC1C,mBAAK,uBAAuB,iBAAiB;AAAA,YAC9C;AAEA,kBAAM,YAAY,KAAK,iBAAiB,oBAAoB,GAAG,CAAC,CAAC;AAEjE,uBAAW,QAAQ,WAAW;AAC7B,kBAAI,QAAQ,KAAK;AAGjB,sBAAQ,CAAC,CAAC,MAAM,MAAS,EAAE,SAAS,KAAK,IAAI,OAAO,SAAS,IAAI;AACjE,mBAAK,IAAI,KAAK,GAAa,IAAI,EAAE,CAAC,KAAK,IAAc,GAAG,MAAM;AAAA,YAC/D;AAEA,kBAAM,UAAU;AAAA,cACf,gBAAgB;AAAA,cAChB,gBAAgB;AAAA,YACjB;AAEA,2BAAe,MAAM,sCAAc,KAAK,MAAM,YAAY,QAAQ,KAAK,MAAM,OAAO;AAEpF,2BAAe,aAAa;AAE5B,gBAAI,UAAU,cAAc;AAC3B,iCAAe,yBAAW,YAA+B;AAAA,YAC1D;AAAA,UACD,WAAW,cAAc,UAAU;AAOlC,kBAAM,QAAQ,KAAK,iBAAiB,mBAAmB,GAAG,CAAC,CAAC;AAC5D,kBAAM,SAAS,KAAK,iBAAiB,UAAU,GAAG,KAAK;AACvD,kBAAM,SAAS,KAAK,iBAAiB,UAAU,CAAC;AAChD,kBAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AACtD,kBAAM,OAAO,KAAK,iBAAiB,QAAQ,CAAC;AAC5C,kBAAM,QAAQ,KAAK;AAAA,cAClB;AAAA,cACA;AAAA,cACA,CAAC;AAAA,YACF;AAEA,kBAAM,OAAqB;AAAA,cAC1B,WAAW,KAAK,iBAAiB,aAAa,CAAC;AAAA,YAChD;AAEA,gBAAI,MAAM;AACT,oBAAMA,oBAAmB,KAAK,iBAAiB,oBAAoB,CAAC;AACpE,kBAAIA,mBAAkB;AACrB,qBAAK,mBAAmBA;AAAA,cACzB;AAAA,YACD,OAAO;AACN,mBAAK,yBAAyB,KAAK;AAAA,gBAClC;AAAA,gBACA;AAAA,cACD;AAAA,YACD;AAEA,kBAAM,EAAE,WAAW,sBAAsB,iBAAiB,IAAI,KAAK;AAAA,cAClE;AAAA,cACA;AAAA,YACD;AAMA,kBAAM,8BAA0B,4CAA8B,KAAK;AAEnE,gBAAI,OAAO,KAAK,uBAAuB,EAAE,QAAQ;AAChD,mBAAK,2BAA2B;AAAA,YACjC;AAEA,kBAAM,gCAA4B,8CAAgC,KAAK;AAEvE,gBAAI,OAAO,KAAK,yBAAyB,EAAE,QAAQ;AAClD,mBAAK,4BAA4B;AAAA,YAClC;AAEA,gBAAI,WAAW;AACd,mBAAK,YAAY;AAAA,YAClB;AAEA,gBAAI,wBAAwB,WAAW,SAAS;AAC/C,mBAAK,uBAAuB;AAAA,YAC7B;AAEA,gBAAI,kBAAkB;AACrB,mBAAK,mBAAmB;AAAA,YACzB;AAEA,gBAAI,QAAQ;AACX,mBAAK,SAAS;AAAA,YACf;AAEA,kBAAM,UAAU;AAAA,cACf,gBAAgB;AAAA,cAChB,gBAAgB,OAAO,2BAA2B;AAAA,YACnD;AAEA,gBAAI,aAAa,WAAW,SAAS;AACpC,6BAAe,MAAM,8CAAsB;AAAA,gBAC1C;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACD;AAAA,YACD,OAAO;AACN,mBAAK,QAAQ,KAAK,iBAAiB,SAAS,GAAG,CAAC;AAChD,6BAAe,MAAM,sCAAc,KAAK,MAAM,YAAY,QAAQ,KAAK,MAAM,OAAO;AACpF,kBAAI,WAAW,SAAS;AACvB,+BAAe,aAAa;AAAA,cAC7B;AAAA,YACD;AACA,gBAAI,QAAQ;AACX,6BAAe,aAAa,IAAI,qBAAQ;AAAA,YACzC;AAAA,UACD;AACA,gBAAM,gBAAgB,KAAK,QAAQ;AAAA,YAClC,KAAK,QAAQ,gBAAgB,YAA6B;AAAA,YAC1D,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,UACzB;AACA,qBAAW,KAAK,GAAG,aAAa;AAAA,QACjC;AAAA,MACD,SAAS,OAAO;AACf,YAAI,KAAK,eAAe,GAAG;AAC1B,gBAAM,gBAAgB,KAAK,QAAQ;AAAA,YAClC,KAAK,QAAQ,gBAAgB,EAAE,OAAO,MAAM,QAAQ,CAAC;AAAA,YACrD,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,UACzB;AACA,qBAAW,KAAK,GAAG,aAAa;AAChC;AAAA,QACD;AAEA,cAAM;AAAA,MACP;AAAA,IACD;AAEA,WAAO,CAAC,UAAU;AAAA,EACnB;AACD;","names":["filterExpression"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../nodes/Aws/DynamoDB/ItemDescription.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const itemOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create or Update',\n\t\t\t\tvalue: 'upsert',\n\t\t\t\tdescription: 'Create a new record, or update the current one if it already exists (upsert)',\n\t\t\t\taction: 'Create or update an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete an item',\n\t\t\t\taction: 'Delete an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Get an item',\n\t\t\t\taction: 'Get an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get many items',\n\t\t\t\taction: 'Get many items',\n\t\t\t},\n\t\t],\n\t\tdefault: 'upsert',\n\t},\n];\n\nexport const itemFields: INodeProperties[] = [\n\t// ----------------------------------\n\t// all\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Table Name or ID',\n\t\tname: 'tableName',\n\t\tdescription:\n\t\t\t'Table to operate on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.',\n\t\ttype: 'options',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t},\n\t\t},\n\t\tdefault: [],\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getTables',\n\t\t},\n\t},\n\n\t// ----------------------------------\n\t// upsert\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Data to Send',\n\t\tname: 'dataToSend',\n\t\ttype: 'options',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Auto-Map Input Data to Columns',\n\t\t\t\tvalue: 'autoMapInputData',\n\t\t\t\tdescription: 'Use when node input properties match destination column names',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Define Below for Each Column',\n\t\t\t\tvalue: 'defineBelow',\n\t\t\t\tdescription: 'Set the value for each destination column',\n\t\t\t},\n\t\t],\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t},\n\t\t},\n\t\tdefault: 'defineBelow',\n\t\tdescription: 'Whether to insert the input data this node receives in the new row',\n\t},\n\t{\n\t\tdisplayName: 'Inputs to Ignore',\n\t\tname: 'inputsToIgnore',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t\tdataToSend: ['autoMapInputData'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'List of input properties to avoid sending, separated by commas. Leave empty to send all properties.',\n\t\tplaceholder: 'Enter properties...',\n\t},\n\t{\n\t\tdisplayName: 'Fields to Send',\n\t\tname: 'fieldsUi',\n\t\tplaceholder: 'Add Field',\n\t\ttype: 'fixedCollection',\n\t\ttypeOptions: {\n\t\t\tmultipleValueButtonText: 'Add Field to Send',\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t\tdataToSend: ['defineBelow'],\n\t\t\t},\n\t\t},\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Field',\n\t\t\t\tname: 'fieldValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Field ID',\n\t\t\t\t\t\tname: 'fieldId',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Field Value',\n\t\t\t\t\t\tname: 'fieldValue',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['upsert'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Values',\n\t\t\t\tname: 'eavUi',\n\t\t\t\tdescription:\n\t\t\t\t\t'Substitution tokens for attribute names in an expression. Only needed when the parameter \"condition expression\" is set.',\n\t\t\t\tplaceholder: 'Add Attribute Value',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\trequired: true,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\tminValue: 1,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eavValues',\n\t\t\t\t\t\tdisplayName: 'Expression Attribute Vaue',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Condition Expression',\n\t\t\t\tname: 'conditionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A condition that must be satisfied in order for a conditional upsert to succeed. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// delete\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Return',\n\t\tname: 'returnValues',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Attribute Values',\n\t\t\t\tvalue: 'ALL_OLD',\n\t\t\t\tdescription: 'The content of the old item is returned',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Nothing',\n\t\t\t\tvalue: 'NONE',\n\t\t\t\tdescription: 'Nothing is returned',\n\t\t\t},\n\t\t],\n\t\tdefault: 'NONE',\n\t\tdescription:\n\t\t\t'Use ReturnValues if you want to get the item attributes as they appeared before they were deleted',\n\t},\n\t{\n\t\tdisplayName: 'Keys',\n\t\tname: 'keysUi',\n\t\ttype: 'fixedCollection',\n\t\tplaceholder: 'Add Key',\n\t\tdefault: {},\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Key',\n\t\t\t\tname: 'keyValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Binary',\n\t\t\t\t\t\t\t\tvalue: 'B',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tdescription:\n\t\t\t\"Item's primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.\",\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t\treturnValues: ['ALL_OLD'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Condition Expression',\n\t\t\t\tname: 'conditionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A condition that must be satisfied in order for a conditional delete to succeed',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">Info</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Values',\n\t\t\t\tname: 'expressionAttributeUi',\n\t\t\t\tdescription:\n\t\t\t\t\t'Substitution tokens for attribute names in an expression. Only needed when the parameter \"condition expression\" is set.',\n\t\t\t\tplaceholder: 'Add Attribute Value',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\trequired: true,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\tminValue: 1,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'expressionAttributeValues',\n\t\t\t\t\t\tdisplayName: 'Expression Attribute Vaue',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// get\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Select',\n\t\tname: 'select',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'All Attributes',\n\t\t\t\tvalue: 'ALL_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'All Projected Attributes',\n\t\t\t\tvalue: 'ALL_PROJECTED_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Specific Attributes',\n\t\t\t\tvalue: 'SPECIFIC_ATTRIBUTES',\n\t\t\t\tdescription: 'Select them in Attributes to Select under Additional Fields',\n\t\t\t},\n\t\t],\n\t\tdefault: 'ALL_ATTRIBUTES',\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t\tselect: ['ALL_PROJECTED_ATTRIBUTES', 'ALL_ATTRIBUTES'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Keys',\n\t\tname: 'keysUi',\n\t\ttype: 'fixedCollection',\n\t\tplaceholder: 'Add Key',\n\t\tdefault: {},\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Key',\n\t\t\t\tname: 'keyValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Binary',\n\t\t\t\t\t\t\t\tvalue: 'B',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tdescription:\n\t\t\t\"Item's primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.\",\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Attributes to Select',\n\t\t\t\tname: 'projectionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-placeholder-miscased-id\n\t\t\t\tplaceholder: 'id, name',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Read Type',\n\t\t\t\tname: 'readType',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Strongly Consistent Read',\n\t\t\t\t\t\tvalue: 'stronglyConsistentRead',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Eventually Consistent Read',\n\t\t\t\t\t\tvalue: 'eventuallyConsistentRead',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'eventuallyConsistentRead',\n\t\t\t\tdescription:\n\t\t\t\t\t'Type of read to perform on the table. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html\">View details</a>.',\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// Get All\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Scan',\n\t\tname: 'scan',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'Whether to do an scan or query. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-query-scan.html\" >differences</a>.',\n\t},\n\t{\n\t\tdisplayName: 'Filter Expression',\n\t\tname: 'filterExpression',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tscan: [true],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'A filter expression determines which items within the Scan results should be returned to you. All of the other results are discarded. Empty value will return all Scan results.',\n\t},\n\t{\n\t\tdisplayName: 'Key Condition Expression',\n\t\tname: 'keyConditionExpression',\n\t\tdescription:\n\t\t\t'Condition to determine the items to be retrieved. The condition must perform an equality test on a single partition key value, in this format: <code>partitionKeyName = :partitionkeyval</code>',\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-placeholder-miscased-id\n\t\tplaceholder: 'id = :id',\n\t\tdefault: '',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\tscan: [false],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tdisplayName: 'Expression Attribute Values',\n\t\tname: 'eavUi',\n\t\tdescription: 'Substitution tokens for attribute names in an expression',\n\t\tplaceholder: 'Add Attribute Value',\n\t\ttype: 'fixedCollection',\n\t\tdefault: {},\n\t\trequired: true,\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t\tminValue: 1,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'eavValues',\n\t\t\t\tdisplayName: 'Expression Attribute Vaue',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: false,\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\ttype: 'number',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t\tmaxValue: 100,\n\t\t},\n\t\tdefault: 50,\n\t\tdescription: 'Max number of results to return',\n\t},\n\t{\n\t\tdisplayName: 'Select',\n\t\tname: 'select',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'All Attributes',\n\t\t\t\tvalue: 'ALL_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'All Projected Attributes',\n\t\t\t\tvalue: 'ALL_PROJECTED_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Count',\n\t\t\t\tvalue: 'COUNT',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Specific Attributes',\n\t\t\t\tvalue: 'SPECIFIC_ATTRIBUTES',\n\t\t\t\tdescription: 'Select them in Attributes to Select under Additional Fields',\n\t\t\t},\n\t\t],\n\t\tdefault: 'ALL_ATTRIBUTES',\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\tselect: ['ALL_PROJECTED_ATTRIBUTES', 'ALL_ATTRIBUTES', 'SPECIFIC_ATTRIBUTES'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Index Name',\n\t\t\t\tname: 'indexName',\n\t\t\t\tdescription:\n\t\t\t\t\t'Name of the index to query. It can be any secondary local or global index on the table.',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Attributes to Select',\n\t\t\t\tname: 'projectionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Text that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Filter Expression',\n\t\t\t\tname: 'filterExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/scan': [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Text that contains conditions that DynamoDB applies after the Query operation, but before the data is returned. Items that do not satisfy the FilterExpression criteria are not returned.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">Info</a>.',\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,iBAAoC;AAAA,EAChD;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AACD;AAEO,MAAM,aAAgC;AAAA;AAAA;AAAA;AAAA,EAI5C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aACC;AAAA,IACD,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS,CAAC;AAAA,IACV,aAAa;AAAA,MACZ,mBAAmB;AAAA,IACpB;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,WAAW,CAAC,QAAQ;AAAA,QACpB,YAAY,CAAC,kBAAkB;AAAA,MAChC;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aACC;AAAA,IACD,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,MACZ,yBAAyB;AAAA,MACzB,gBAAgB;AAAA,IACjB;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,WAAW,CAAC,QAAQ;AAAA,QACpB,YAAY,CAAC,aAAa;AAAA,MAC3B;AAAA,IACD;AAAA,IACA,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,kBACR;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,kBACR;AAAA,kBACA;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,kBACR;AAAA,gBACD;AAAA,gBACA,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,QACjB;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aACC;AAAA,EACF;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,aAAa;AAAA,MACZ,gBAAgB;AAAA,IACjB;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACR;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,YACD;AAAA,YACA,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,aACC;AAAA,EACF;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,QACpB,cAAc,CAAC,SAAS;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,QACjB;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,UAAU;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,kBACR;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,kBACR;AAAA,kBACA;AAAA,oBACC,MAAM;AAAA,oBACN,OAAO;AAAA,kBACR;AAAA,gBACD;AAAA,gBACA,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,KAAK;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,KAAK;AAAA,QACjB,QAAQ,CAAC,4BAA4B,gBAAgB;AAAA,MACtD;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,aAAa;AAAA,MACZ,gBAAgB;AAAA,IACjB;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,KAAK;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACR;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,YACD;AAAA,YACA,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,aACC;AAAA,EACF;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,KAAK;AAAA,MAClB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA;AAAA,QAEN,aAAa;AAAA,QACb,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,QACjB;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aACC;AAAA,EACF;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,MAAM,CAAC,IAAI;AAAA,MACZ;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aACC;AAAA,EACF;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aACC;AAAA;AAAA,IAED,aAAa;AAAA,IACb,SAAS;AAAA,IACT,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,QACpB,MAAM,CAAC,KAAK;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,IACV,UAAU;AAAA,IACV,aAAa;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,UACP;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,cACR;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,cACA;AAAA,gBACC,MAAM;AAAA,gBACN,OAAO;AAAA,cACR;AAAA,YACD;AAAA,YACA,SAAS;AAAA,UACV;AAAA,UACA;AAAA,YACC,aAAa;AAAA,YACb,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACV;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,WAAW,CAAC,QAAQ;AAAA,QACpB,WAAW,CAAC,KAAK;AAAA,MAClB;AAAA,IACD;AAAA,IACA,aAAa;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,IACX;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,QACpB,QAAQ,CAAC,4BAA4B,kBAAkB,qBAAqB;AAAA,MAC7E;AAAA,IACD;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,MAAM;AAAA,QACjB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aACC;AAAA,QACD,MAAM;AAAA,QACN,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBAAgB;AAAA,UACf,MAAM;AAAA,YACL,SAAS,CAAC,KAAK;AAAA,UAChB;AAAA,QACD;AAAA,QACA,SAAS;AAAA,QACT,aACC;AAAA,MACF;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,QACb,MAAM;AAAA,QACN,SAAS,CAAC;AAAA,QACV,aAAa;AAAA,UACZ,gBAAgB;AAAA,QACjB;AAAA,QACA,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,QAAQ;AAAA,cACP;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,cACA;AAAA,gBACC,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,SAAS;AAAA,cACV;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,QACA,aACC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/Aws/DynamoDB/ItemDescription.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const itemOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create or Update',\n\t\t\t\tvalue: 'upsert',\n\t\t\t\tdescription: 'Create a new record, or update the current one if it already exists (upsert)',\n\t\t\t\taction: 'Create or update an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete an item',\n\t\t\t\taction: 'Delete an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Get an item',\n\t\t\t\taction: 'Get an item',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get many items',\n\t\t\t\taction: 'Get many items',\n\t\t\t},\n\t\t],\n\t\tdefault: 'upsert',\n\t},\n];\n\nexport const itemFields: INodeProperties[] = [\n\t// ----------------------------------\n\t// all\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Table Name or ID',\n\t\tname: 'tableName',\n\t\tdescription:\n\t\t\t'Table to operate on. Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>.',\n\t\ttype: 'options',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t},\n\t\t},\n\t\tdefault: [],\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getTables',\n\t\t},\n\t},\n\n\t// ----------------------------------\n\t// upsert\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Data to Send',\n\t\tname: 'dataToSend',\n\t\ttype: 'options',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Auto-Map Input Data to Columns',\n\t\t\t\tvalue: 'autoMapInputData',\n\t\t\t\tdescription: 'Use when node input properties match destination column names',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Define Below for Each Column',\n\t\t\t\tvalue: 'defineBelow',\n\t\t\t\tdescription: 'Set the value for each destination column',\n\t\t\t},\n\t\t],\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t},\n\t\t},\n\t\tdefault: 'defineBelow',\n\t\tdescription: 'Whether to insert the input data this node receives in the new row',\n\t},\n\t{\n\t\tdisplayName: 'Inputs to Ignore',\n\t\tname: 'inputsToIgnore',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t\tdataToSend: ['autoMapInputData'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'List of input properties to avoid sending, separated by commas. Leave empty to send all properties.',\n\t\tplaceholder: 'Enter properties...',\n\t},\n\t{\n\t\tdisplayName: 'Fields to Send',\n\t\tname: 'fieldsUi',\n\t\tplaceholder: 'Add Field',\n\t\ttype: 'fixedCollection',\n\t\ttypeOptions: {\n\t\t\tmultipleValueButtonText: 'Add Field to Send',\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['upsert'],\n\t\t\t\tdataToSend: ['defineBelow'],\n\t\t\t},\n\t\t},\n\t\tdefault: {},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Field',\n\t\t\t\tname: 'fieldValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Field ID',\n\t\t\t\t\t\tname: 'fieldId',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Field Value',\n\t\t\t\t\t\tname: 'fieldValue',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['upsert'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Values',\n\t\t\t\tname: 'eavUi',\n\t\t\t\tdescription:\n\t\t\t\t\t'Substitution tokens for attribute names in an expression. Only needed when the parameter \"condition expression\" is set.',\n\t\t\t\tplaceholder: 'Add Attribute Value',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\trequired: true,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\tminValue: 1,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eavValues',\n\t\t\t\t\t\tdisplayName: 'Expression Attribute Vaue',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Condition Expression',\n\t\t\t\tname: 'conditionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A condition that must be satisfied in order for a conditional upsert to succeed. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// delete\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Return',\n\t\tname: 'returnValues',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Attribute Values',\n\t\t\t\tvalue: 'ALL_OLD',\n\t\t\t\tdescription: 'The content of the old item is returned',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Nothing',\n\t\t\t\tvalue: 'NONE',\n\t\t\t\tdescription: 'Nothing is returned',\n\t\t\t},\n\t\t],\n\t\tdefault: 'NONE',\n\t\tdescription:\n\t\t\t'Use ReturnValues if you want to get the item attributes as they appeared before they were deleted',\n\t},\n\t{\n\t\tdisplayName: 'Keys',\n\t\tname: 'keysUi',\n\t\ttype: 'fixedCollection',\n\t\tplaceholder: 'Add Key',\n\t\tdefault: {},\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Key',\n\t\t\t\tname: 'keyValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Binary',\n\t\t\t\t\t\t\t\tvalue: 'B',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tdescription:\n\t\t\t\"Item's primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.\",\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t\treturnValues: ['ALL_OLD'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['delete'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Condition Expression',\n\t\t\t\tname: 'conditionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'A condition that must be satisfied in order for a conditional delete to succeed',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">Info</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Values',\n\t\t\t\tname: 'expressionAttributeUi',\n\t\t\t\tdescription:\n\t\t\t\t\t'Substitution tokens for attribute names in an expression. Only needed when the parameter \"condition expression\" is set.',\n\t\t\t\tplaceholder: 'Add Attribute Value',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\trequired: true,\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t\tminValue: 1,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'expressionAttributeValues',\n\t\t\t\t\t\tdisplayName: 'Expression Attribute Value',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// get\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Select',\n\t\tname: 'select',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'All Attributes',\n\t\t\t\tvalue: 'ALL_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'All Projected Attributes',\n\t\t\t\tvalue: 'ALL_PROJECTED_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Specific Attributes',\n\t\t\t\tvalue: 'SPECIFIC_ATTRIBUTES',\n\t\t\t\tdescription: 'Select them in Attributes to Select under Additional Fields',\n\t\t\t},\n\t\t],\n\t\tdefault: 'ALL_ATTRIBUTES',\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t\tselect: ['ALL_PROJECTED_ATTRIBUTES', 'ALL_ATTRIBUTES'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Keys',\n\t\tname: 'keysUi',\n\t\ttype: 'fixedCollection',\n\t\tplaceholder: 'Add Key',\n\t\tdefault: {},\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Key',\n\t\t\t\tname: 'keyValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Binary',\n\t\t\t\t\t\t\t\tvalue: 'B',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\tdescription:\n\t\t\t\"Item's primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.\",\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['get'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Attributes to Select',\n\t\t\t\tname: 'projectionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-placeholder-miscased-id\n\t\t\t\tplaceholder: 'id, name',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">View details</a>.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Read Type',\n\t\t\t\tname: 'readType',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Strongly Consistent Read',\n\t\t\t\t\t\tvalue: 'stronglyConsistentRead',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Eventually Consistent Read',\n\t\t\t\t\t\tvalue: 'eventuallyConsistentRead',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 'eventuallyConsistentRead',\n\t\t\t\tdescription:\n\t\t\t\t\t'Type of read to perform on the table. <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html\">View details</a>.',\n\t\t\t},\n\t\t],\n\t},\n\n\t// ----------------------------------\n\t// Get All\n\t// ----------------------------------\n\t{\n\t\tdisplayName: 'Scan',\n\t\tname: 'scan',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'Whether to do an scan or query. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-query-scan.html\" >differences</a>.',\n\t},\n\t{\n\t\tdisplayName: 'Filter Expression',\n\t\tname: 'filterExpression',\n\t\ttype: 'string',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tscan: [true],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t\tdescription:\n\t\t\t'A filter expression determines which items within the Scan results should be returned to you. All of the other results are discarded. Empty value will return all Scan results.',\n\t},\n\t{\n\t\tdisplayName: 'Key Condition Expression',\n\t\tname: 'keyConditionExpression',\n\t\tdescription:\n\t\t\t'Condition to determine the items to be retrieved. The condition must perform an equality test on a single partition key value, in this format: <code>partitionKeyName = :partitionkeyval</code>',\n\t\t// eslint-disable-next-line n8n-nodes-base/node-param-placeholder-miscased-id\n\t\tplaceholder: 'id = :id',\n\t\tdefault: '',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\tscan: [false],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tdisplayName: 'Expression Attribute Values',\n\t\tname: 'eavUi',\n\t\tdescription: 'Substitution tokens for attribute names in an expression',\n\t\tplaceholder: 'Add Attribute Value',\n\t\ttype: 'fixedCollection',\n\t\tdefault: {},\n\t\trequired: true,\n\t\ttypeOptions: {\n\t\t\tmultipleValues: true,\n\t\t\tminValue: 1,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'eavValues',\n\t\t\t\tdisplayName: 'Expression Attribute Vaue',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Attribute',\n\t\t\t\t\t\tname: 'attribute',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Type',\n\t\t\t\t\t\tname: 'type',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Number',\n\t\t\t\t\t\t\t\tvalue: 'N',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'String',\n\t\t\t\t\t\t\t\tvalue: 'S',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tdefault: 'S',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdefault: false,\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\ttype: 'number',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t\tmaxValue: 100,\n\t\t},\n\t\tdefault: 50,\n\t\tdescription: 'Max number of results to return',\n\t},\n\t{\n\t\tdisplayName: 'Select',\n\t\tname: 'select',\n\t\ttype: 'options',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'All Attributes',\n\t\t\t\tvalue: 'ALL_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'All Projected Attributes',\n\t\t\t\tvalue: 'ALL_PROJECTED_ATTRIBUTES',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Count',\n\t\t\t\tvalue: 'COUNT',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Specific Attributes',\n\t\t\t\tvalue: 'SPECIFIC_ATTRIBUTES',\n\t\t\t\tdescription: 'Select them in Attributes to Select under Additional Fields',\n\t\t\t},\n\t\t],\n\t\tdefault: 'ALL_ATTRIBUTES',\n\t},\n\t{\n\t\tdisplayName: 'Simplify',\n\t\tname: 'simple',\n\t\ttype: 'boolean',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\tselect: ['ALL_PROJECTED_ATTRIBUTES', 'ALL_ATTRIBUTES', 'SPECIFIC_ATTRIBUTES'],\n\t\t\t},\n\t\t},\n\t\tdefault: true,\n\t\tdescription: 'Whether to return a simplified version of the response instead of the raw data',\n\t},\n\t{\n\t\tdisplayName: 'Options',\n\t\tname: 'options',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['item'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Index Name',\n\t\t\t\tname: 'indexName',\n\t\t\t\tdescription:\n\t\t\t\t\t'Name of the index to query. It can be any secondary local or global index on the table.',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Attributes to Select',\n\t\t\t\tname: 'projectionExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Text that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Filter Expression',\n\t\t\t\tname: 'filterExpression',\n\t\t\t\ttype: 'string',\n\t\t\t\tdisplayOptions: {\n\t\t\t\t\tshow: {\n\t\t\t\t\t\t'/scan': [false],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t\tdescription:\n\t\t\t\t\t'Text that contains conditions that DynamoDB applies after the Query operation, but before the data is returned. Items that do not satisfy the FilterExpression criteria are not returned.',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Expression Attribute Names',\n\t\t\t\tname: 'eanUi',\n\t\t\t\tplaceholder: 'Add Expression',\n\t\t\t\ttype: 'fixedCollection',\n\t\t\t\tdefault: {},\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tmultipleValues: true,\n\t\t\t\t},\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'eanValues',\n\t\t\t\t\t\tdisplayName: 'Expression',\n\t\t\t\t\t\tvalues: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Key',\n\t\t\t\t\t\t\t\tname: 'key',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdisplayName: 'Value',\n\t\t\t\t\t\t\t\tname: 'value',\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdescription:\n\t\t\t\t\t'One or more substitution tokens for attribute names in an expression. Check <a href=\"https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html\">Info</a>.',\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":"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","names":[]}
|
|
@@ -51,7 +51,10 @@ async function getWorkflowInfo(source, itemIndex = 0) {
|
|
|
51
51
|
}
|
|
52
52
|
throw error;
|
|
53
53
|
}
|
|
54
|
-
workflowInfo.code = (0, import_n8n_workflow.jsonParse)(workflowJson
|
|
54
|
+
workflowInfo.code = (0, import_n8n_workflow.jsonParse)(workflowJson, {
|
|
55
|
+
errorMessage: "The file content is not valid JSON"
|
|
56
|
+
// pass a custom error message to not expose the file contents
|
|
57
|
+
});
|
|
55
58
|
} else if (source === "parameter") {
|
|
56
59
|
const workflowJson = this.getNodeParameter("workflowJson", itemIndex);
|
|
57
60
|
workflowInfo.code = (0, import_n8n_workflow.jsonParse)(workflowJson);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.ts"],"sourcesContent":["import { readFile as fsReadFile } from 'fs/promises';\nimport { NodeOperationError, jsonParse } from 'n8n-workflow';\nimport type {\n\tIExecuteFunctions,\n\tIExecuteWorkflowInfo,\n\tILoadOptionsFunctions,\n\tINodeParameterResourceLocator,\n\tIRequestOptions,\n} from 'n8n-workflow';\n\nexport async function getWorkflowInfo(\n\tthis: ILoadOptionsFunctions | IExecuteFunctions,\n\tsource: string,\n\titemIndex = 0,\n) {\n\tconst workflowInfo: IExecuteWorkflowInfo = {};\n\tconst nodeVersion = this.getNode().typeVersion;\n\tif (source === 'database') {\n\t\t// Read workflow from database\n\t\tif (nodeVersion === 1) {\n\t\t\tworkflowInfo.id = this.getNodeParameter('workflowId', itemIndex) as string;\n\t\t} else {\n\t\t\tconst { value } = this.getNodeParameter(\n\t\t\t\t'workflowId',\n\t\t\t\titemIndex,\n\t\t\t\t{},\n\t\t\t) as INodeParameterResourceLocator;\n\t\t\tworkflowInfo.id = value as string;\n\t\t}\n\t} else if (source === 'localFile') {\n\t\t// Read workflow from filesystem\n\t\tconst workflowPath = this.getNodeParameter('workflowPath', itemIndex) as string;\n\n\t\tlet workflowJson;\n\t\ttry {\n\t\t\tworkflowJson = await fsReadFile(workflowPath, { encoding: 'utf8' });\n\t\t} catch (error) {\n\t\t\tif (error.code === 'ENOENT') {\n\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t`The file \"${workflowPath}\" could not be found, [item ${itemIndex}]`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\tworkflowInfo.code = jsonParse(workflowJson);\n\t} else if (source === 'parameter') {\n\t\t// Read workflow from parameter\n\t\tconst workflowJson = this.getNodeParameter('workflowJson', itemIndex) as string;\n\t\tworkflowInfo.code = jsonParse(workflowJson);\n\t} else if (source === 'url') {\n\t\t// Read workflow from url\n\t\tconst workflowUrl = this.getNodeParameter('workflowUrl', itemIndex) as string;\n\n\t\tconst requestOptions = {\n\t\t\theaders: {\n\t\t\t\taccept: 'application/json,text/*;q=0.99',\n\t\t\t},\n\t\t\tmethod: 'GET',\n\t\t\turi: workflowUrl,\n\t\t\tjson: true,\n\t\t\tgzip: true,\n\t\t} satisfies IRequestOptions;\n\n\t\tconst response = await this.helpers.request(requestOptions);\n\t\tworkflowInfo.code = response;\n\t}\n\n\treturn workflowInfo;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAuC;AACvC,0BAA8C;AAS9C,eAAsB,gBAErB,QACA,YAAY,GACX;AACD,QAAM,eAAqC,CAAC;AAC5C,QAAM,cAAc,KAAK,QAAQ,EAAE;AACnC,MAAI,WAAW,YAAY;AAE1B,QAAI,gBAAgB,GAAG;AACtB,mBAAa,KAAK,KAAK,iBAAiB,cAAc,SAAS;AAAA,IAChE,OAAO;AACN,YAAM,EAAE,MAAM,IAAI,KAAK;AAAA,QACtB;AAAA,QACA;AAAA,QACA,CAAC;AAAA,MACF;AACA,mBAAa,KAAK;AAAA,IACnB;AAAA,EACD,WAAW,WAAW,aAAa;AAElC,UAAM,eAAe,KAAK,iBAAiB,gBAAgB,SAAS;AAEpE,QAAI;AACJ,QAAI;AACH,qBAAe,UAAM,gBAAAA,UAAW,cAAc,EAAE,UAAU,OAAO,CAAC;AAAA,IACnE,SAAS,OAAO;AACf,UAAI,MAAM,SAAS,UAAU;AAC5B,cAAM,IAAI;AAAA,UACT,KAAK,QAAQ;AAAA,UACb,aAAa,YAAY,+BAA+B,SAAS;AAAA,QAClE;AAAA,MACD;AAEA,YAAM;AAAA,IACP;AAEA,iBAAa,WAAO,+BAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/ExecuteWorkflow/ExecuteWorkflow/GenericFunctions.ts"],"sourcesContent":["import { readFile as fsReadFile } from 'fs/promises';\nimport { NodeOperationError, jsonParse } from 'n8n-workflow';\nimport type {\n\tIExecuteFunctions,\n\tIExecuteWorkflowInfo,\n\tILoadOptionsFunctions,\n\tINodeParameterResourceLocator,\n\tIRequestOptions,\n} from 'n8n-workflow';\n\nexport async function getWorkflowInfo(\n\tthis: ILoadOptionsFunctions | IExecuteFunctions,\n\tsource: string,\n\titemIndex = 0,\n) {\n\tconst workflowInfo: IExecuteWorkflowInfo = {};\n\tconst nodeVersion = this.getNode().typeVersion;\n\tif (source === 'database') {\n\t\t// Read workflow from database\n\t\tif (nodeVersion === 1) {\n\t\t\tworkflowInfo.id = this.getNodeParameter('workflowId', itemIndex) as string;\n\t\t} else {\n\t\t\tconst { value } = this.getNodeParameter(\n\t\t\t\t'workflowId',\n\t\t\t\titemIndex,\n\t\t\t\t{},\n\t\t\t) as INodeParameterResourceLocator;\n\t\t\tworkflowInfo.id = value as string;\n\t\t}\n\t} else if (source === 'localFile') {\n\t\t// Read workflow from filesystem\n\t\tconst workflowPath = this.getNodeParameter('workflowPath', itemIndex) as string;\n\n\t\tlet workflowJson;\n\t\ttry {\n\t\t\tworkflowJson = await fsReadFile(workflowPath, { encoding: 'utf8' });\n\t\t} catch (error) {\n\t\t\tif (error.code === 'ENOENT') {\n\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t`The file \"${workflowPath}\" could not be found, [item ${itemIndex}]`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\tworkflowInfo.code = jsonParse(workflowJson, {\n\t\t\terrorMessage: 'The file content is not valid JSON', // pass a custom error message to not expose the file contents\n\t\t});\n\t} else if (source === 'parameter') {\n\t\t// Read workflow from parameter\n\t\tconst workflowJson = this.getNodeParameter('workflowJson', itemIndex) as string;\n\t\tworkflowInfo.code = jsonParse(workflowJson);\n\t} else if (source === 'url') {\n\t\t// Read workflow from url\n\t\tconst workflowUrl = this.getNodeParameter('workflowUrl', itemIndex) as string;\n\n\t\tconst requestOptions = {\n\t\t\theaders: {\n\t\t\t\taccept: 'application/json,text/*;q=0.99',\n\t\t\t},\n\t\t\tmethod: 'GET',\n\t\t\turi: workflowUrl,\n\t\t\tjson: true,\n\t\t\tgzip: true,\n\t\t} satisfies IRequestOptions;\n\n\t\tconst response = await this.helpers.request(requestOptions);\n\t\tworkflowInfo.code = response;\n\t}\n\n\treturn workflowInfo;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAuC;AACvC,0BAA8C;AAS9C,eAAsB,gBAErB,QACA,YAAY,GACX;AACD,QAAM,eAAqC,CAAC;AAC5C,QAAM,cAAc,KAAK,QAAQ,EAAE;AACnC,MAAI,WAAW,YAAY;AAE1B,QAAI,gBAAgB,GAAG;AACtB,mBAAa,KAAK,KAAK,iBAAiB,cAAc,SAAS;AAAA,IAChE,OAAO;AACN,YAAM,EAAE,MAAM,IAAI,KAAK;AAAA,QACtB;AAAA,QACA;AAAA,QACA,CAAC;AAAA,MACF;AACA,mBAAa,KAAK;AAAA,IACnB;AAAA,EACD,WAAW,WAAW,aAAa;AAElC,UAAM,eAAe,KAAK,iBAAiB,gBAAgB,SAAS;AAEpE,QAAI;AACJ,QAAI;AACH,qBAAe,UAAM,gBAAAA,UAAW,cAAc,EAAE,UAAU,OAAO,CAAC;AAAA,IACnE,SAAS,OAAO;AACf,UAAI,MAAM,SAAS,UAAU;AAC5B,cAAM,IAAI;AAAA,UACT,KAAK,QAAQ;AAAA,UACb,aAAa,YAAY,+BAA+B,SAAS;AAAA,QAClE;AAAA,MACD;AAEA,YAAM;AAAA,IACP;AAEA,iBAAa,WAAO,+BAAU,cAAc;AAAA,MAC3C,cAAc;AAAA;AAAA,IACf,CAAC;AAAA,EACF,WAAW,WAAW,aAAa;AAElC,UAAM,eAAe,KAAK,iBAAiB,gBAAgB,SAAS;AACpE,iBAAa,WAAO,+BAAU,YAAY;AAAA,EAC3C,WAAW,WAAW,OAAO;AAE5B,UAAM,cAAc,KAAK,iBAAiB,eAAe,SAAS;AAElE,UAAM,iBAAiB;AAAA,MACtB,SAAS;AAAA,QACR,QAAQ;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AAEA,UAAM,WAAW,MAAM,KAAK,QAAQ,QAAQ,cAAc;AAC1D,iBAAa,OAAO;AAAA,EACrB;AAEA,SAAO;AACR;","names":["fsReadFile"]}
|
|
@@ -24,12 +24,12 @@ __export(Form_node_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(Form_node_exports);
|
|
25
25
|
var import_n8n_workflow = require("n8n-workflow");
|
|
26
26
|
var import_cssVariables = require("./cssVariables");
|
|
27
|
-
var import_formCompletionUtils = require("./formCompletionUtils");
|
|
28
|
-
var import_formNodeUtils = require("./formNodeUtils");
|
|
27
|
+
var import_formCompletionUtils = require("./utils/formCompletionUtils");
|
|
28
|
+
var import_formNodeUtils = require("./utils/formNodeUtils");
|
|
29
|
+
var import_utils = require("./utils/utils");
|
|
29
30
|
var import_configureWaitTillDate = require("../../utils/sendAndWait/configureWaitTillDate.util");
|
|
30
31
|
var import_descriptions = require("../../utils/sendAndWait/descriptions");
|
|
31
32
|
var import_common = require("../Form/common.descriptions");
|
|
32
|
-
var import_utils = require("../Form/utils");
|
|
33
33
|
const waitTimeProperties = [
|
|
34
34
|
{
|
|
35
35
|
displayName: "Limit Wait Time",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../nodes/Form/Form.node.ts"],"sourcesContent":["import type {\n\tFormFieldsParameter,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeProperties,\n\tINodeTypeDescription,\n\tIWebhookFunctions,\n\tIWebhookResponseData,\n\tNodeTypeAndVersion,\n} from 'n8n-workflow';\nimport {\n\tNode,\n\tupdateDisplayOptions,\n\tNodeOperationError,\n\tFORM_NODE_TYPE,\n\tFORM_TRIGGER_NODE_TYPE,\n\ttryToParseJsonToFormFields,\n\tNodeConnectionTypes,\n} from 'n8n-workflow';\n\nimport { cssVariables } from './cssVariables';\nimport { renderFormCompletion } from './formCompletionUtils';\nimport { renderFormNode } from './formNodeUtils';\nimport { configureWaitTillDate } from '../../utils/sendAndWait/configureWaitTillDate.util';\nimport { limitWaitTimeProperties } from '../../utils/sendAndWait/descriptions';\nimport { formDescription, formFields, formTitle } from '../Form/common.descriptions';\nimport { prepareFormReturnItem, resolveRawData } from '../Form/utils';\n\nconst waitTimeProperties: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Limit Wait Time',\n\t\tname: 'limitWaitTime',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'Whether to limit the time this node should wait for a user response before execution resumes',\n\t},\n\t...updateDisplayOptions(\n\t\t{\n\t\t\tshow: {\n\t\t\t\tlimitWaitTime: [true],\n\t\t\t},\n\t\t},\n\t\tlimitWaitTimeProperties,\n\t),\n];\n\nexport const formFieldsProperties: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Define Form',\n\t\tname: 'defineForm',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Using Fields Below',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Using JSON',\n\t\t\t\tvalue: 'json',\n\t\t\t},\n\t\t],\n\t\tdefault: 'fields',\n\t},\n\t{\n\t\tdisplayName: 'Form Fields',\n\t\tname: 'jsonOutput',\n\t\ttype: 'json',\n\t\ttypeOptions: {\n\t\t\trows: 5,\n\t\t},\n\t\tdefault:\n\t\t\t'[\\n {\\n \"fieldLabel\":\"Name\",\\n \"placeholder\":\"enter you name\",\\n \"requiredField\":true\\n },\\n {\\n \"fieldLabel\":\"Age\",\\n \"fieldType\":\"number\",\\n \"placeholder\":\"enter your age\"\\n },\\n {\\n \"fieldLabel\":\"Email\",\\n \"fieldType\":\"email\",\\n \"requiredField\":true\\n }\\n]',\n\t\tvalidateType: 'form-fields',\n\t\tignoreValidationDuringExecution: true,\n\t\thint: '<a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.form/\" target=\"_blank\">See docs</a> for field syntax',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tdefineForm: ['json'],\n\t\t\t},\n\t\t},\n\t},\n\t{ ...formFields, displayOptions: { show: { defineForm: ['fields'] } } },\n];\n\nconst pageProperties = updateDisplayOptions(\n\t{\n\t\tshow: {\n\t\t\toperation: ['page'],\n\t\t},\n\t},\n\t[\n\t\t...formFieldsProperties,\n\t\t...waitTimeProperties,\n\t\t{\n\t\t\tdisplayName: 'Options',\n\t\t\tname: 'options',\n\t\t\ttype: 'collection',\n\t\t\tplaceholder: 'Add option',\n\t\t\tdefault: {},\n\t\t\toptions: [\n\t\t\t\t{ ...formTitle, required: false },\n\t\t\t\tformDescription,\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Button Label',\n\t\t\t\t\tname: 'buttonLabel',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: 'Submit',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Custom Form Styling',\n\t\t\t\t\tname: 'customCss',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\trows: 10,\n\t\t\t\t\t\teditor: 'cssEditor',\n\t\t\t\t\t},\n\t\t\t\t\tdefault: cssVariables.trim(),\n\t\t\t\t\tdescription: 'Override default styling of the public form interface with CSS',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n);\n\nconst completionProperties = updateDisplayOptions(\n\t{\n\t\tshow: {\n\t\t\toperation: ['completion'],\n\t\t},\n\t},\n\t[\n\t\t{\n\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased\n\t\t\tdisplayName: 'On n8n Form Submission',\n\t\t\tname: 'respondWith',\n\t\t\ttype: 'options',\n\t\t\tdefault: 'text',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Show Completion Screen',\n\t\t\t\t\tvalue: 'text',\n\t\t\t\t\tdescription: 'Show a response text to the user',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Redirect to URL',\n\t\t\t\t\tvalue: 'redirect',\n\t\t\t\t\tdescription: 'Redirect the user to a URL',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Show Text',\n\t\t\t\t\tvalue: 'showText',\n\t\t\t\t\tdescription: 'Display simple text or HTML',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Return Binary File',\n\t\t\t\t\tvalue: 'returnBinary',\n\t\t\t\t\tdescription: 'Return incoming binary file',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'URL',\n\t\t\tname: 'redirectUrl',\n\t\t\tvalidateType: 'url',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['redirect'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Completion Title',\n\t\t\tname: 'completionTitle',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Completion Message',\n\t\t\tname: 'completionMessage',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\trows: 2,\n\t\t\t},\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Text',\n\t\t\tname: 'responseText',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['showText'],\n\t\t\t\t},\n\t\t\t},\n\t\t\ttypeOptions: {\n\t\t\t\trows: 2,\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'e.g. Thanks for filling the form',\n\t\t\tdescription: 'The text to display on the page. Use HTML to show a customized web page.',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Input Data Field Name',\n\t\t\tname: 'inputDataFieldName',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: 'data',\n\t\t\tplaceholder: 'e.g. data',\n\t\t\tdescription:\n\t\t\t\t'Find the name of input field containing the binary data to return in the Input panel on the left, in the Binary tab',\n\t\t\thint: 'The name of the input field containing the binary file data to be returned',\n\t\t},\n\t\t...waitTimeProperties,\n\t\t{\n\t\t\tdisplayName: 'Options',\n\t\t\tname: 'options',\n\t\t\ttype: 'collection',\n\t\t\tplaceholder: 'Add option',\n\t\t\tdefault: {},\n\t\t\toptions: [\n\t\t\t\t{ ...formTitle, required: false, displayName: 'Completion Page Title' },\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Custom Form Styling',\n\t\t\t\t\tname: 'customCss',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\trows: 10,\n\t\t\t\t\t\teditor: 'cssEditor',\n\t\t\t\t\t},\n\t\t\t\t\tdefault: cssVariables.trim(),\n\t\t\t\t\tdescription: 'Override default styling of the public form interface with CSS',\n\t\t\t\t},\n\t\t\t],\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n);\n\nexport class Form extends Node {\n\tnodeInputData: INodeExecutionData[] = [];\n\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'n8n Form',\n\t\tname: 'form',\n\t\ticon: 'file:form.svg',\n\t\tgroup: ['input'],\n\t\tversion: 1,\n\t\tdescription: 'Generate webforms in n8n and pass their responses to the workflow',\n\t\tdefaults: {\n\t\t\tname: 'Form',\n\t\t},\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\twebhooks: [\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'GET',\n\t\t\t\tresponseMode: 'onReceived',\n\t\t\t\tpath: '',\n\t\t\t\trestartWebhook: true,\n\t\t\t\tisFullPath: true,\n\t\t\t\tnodeType: 'form',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'POST',\n\t\t\t\tresponseMode: 'responseNode',\n\t\t\t\tpath: '',\n\t\t\t\trestartWebhook: true,\n\t\t\t\tisFullPath: true,\n\t\t\t\tnodeType: 'form',\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased\n\t\t\t\tdisplayName: 'An n8n Form Trigger node must be set up before this node',\n\t\t\t\tname: 'triggerNotice',\n\t\t\t\ttype: 'notice',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Page Type',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'page',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Next Form Page',\n\t\t\t\t\t\tvalue: 'page',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Form Ending',\n\t\t\t\t\t\tvalue: 'completion',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t...pageProperties,\n\t\t\t...completionProperties,\n\t\t],\n\t};\n\n\tasync webhook(context: IWebhookFunctions): Promise<IWebhookResponseData> {\n\t\tconst res = context.getResponseObject();\n\n\t\tconst operation = context.getNodeParameter('operation', '') as string;\n\n\t\tconst parentNodes = context.getParentNodes(context.getNode().name);\n\t\tconst trigger = parentNodes.find(\n\t\t\t(node) => node.type === 'n8n-nodes-base.formTrigger',\n\t\t) as NodeTypeAndVersion;\n\n\t\tconst mode = context.evaluateExpression(`{{ $('${trigger?.name}').first().json.formMode }}`) as\n\t\t\t| 'test'\n\t\t\t| 'production';\n\n\t\tconst defineForm = context.getNodeParameter('defineForm', false) as string;\n\n\t\tlet fields: FormFieldsParameter = [];\n\t\tif (defineForm === 'json') {\n\t\t\ttry {\n\t\t\t\tconst jsonOutput = context.getNodeParameter('jsonOutput', '', {\n\t\t\t\t\trawExpressions: true,\n\t\t\t\t}) as string;\n\n\t\t\t\tfields = tryToParseJsonToFormFields(resolveRawData(context, jsonOutput));\n\t\t\t} catch (error) {\n\t\t\t\tthrow new NodeOperationError(context.getNode(), error.message, {\n\t\t\t\t\tdescription: error.message,\n\t\t\t\t\ttype: mode === 'test' ? 'manual-form-test' : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tfields = context.getNodeParameter('formFields.values', []) as FormFieldsParameter;\n\t\t}\n\n\t\tconst method = context.getRequestObject().method;\n\n\t\tif (operation === 'completion' && method === 'GET') {\n\t\t\treturn await renderFormCompletion(context, res, trigger);\n\t\t}\n\n\t\tif (operation === 'completion' && method === 'POST') {\n\t\t\treturn {\n\t\t\t\tworkflowData: [context.evaluateExpression('{{ $input.all() }}') as INodeExecutionData[]],\n\t\t\t};\n\t\t}\n\n\t\tif (method === 'GET') {\n\t\t\treturn await renderFormNode(context, res, trigger, fields, mode);\n\t\t}\n\n\t\tlet useWorkflowTimezone = context.evaluateExpression(\n\t\t\t`{{ $('${trigger?.name}').params.options?.useWorkflowTimezone }}`,\n\t\t) as boolean;\n\n\t\tif (useWorkflowTimezone === undefined && trigger?.typeVersion > 2) {\n\t\t\tuseWorkflowTimezone = true;\n\t\t}\n\n\t\tconst returnItem = await prepareFormReturnItem(context, fields, mode, useWorkflowTimezone);\n\n\t\treturn {\n\t\t\twebhookResponse: { status: 200 },\n\t\t\tworkflowData: [[returnItem]],\n\t\t};\n\t}\n\n\tasync execute(context: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst operation = context.getNodeParameter('operation', 0);\n\n\t\tif (operation === 'completion') {\n\t\t\tthis.nodeInputData = context.getInputData();\n\t\t}\n\n\t\tconst parentNodes = context.getParentNodes(context.getNode().name);\n\t\tconst hasFormTrigger = parentNodes.some((node) => node.type === FORM_TRIGGER_NODE_TYPE);\n\n\t\tif (!hasFormTrigger) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tcontext.getNode(),\n\t\t\t\t'Form Trigger node must be set before this node',\n\t\t\t);\n\t\t}\n\n\t\tconst childNodes = context.getChildNodes(context.getNode().name);\n\t\tconst hasNextPage = childNodes.some((node) => node.type === FORM_NODE_TYPE);\n\n\t\tif (operation === 'completion' && hasNextPage) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tcontext.getNode(),\n\t\t\t\t'Completion has to be the last Form node in the workflow',\n\t\t\t);\n\t\t}\n\n\t\tconst waitTill = configureWaitTillDate(context, 'root');\n\t\tawait context.putExecutionToWait(waitTill);\n\n\t\tcontext.sendResponse({\n\t\t\theaders: {\n\t\t\t\tlocation: context.evaluateExpression('{{ $execution.resumeFormUrl }}', 0),\n\t\t\t},\n\t\t\tstatusCode: 307,\n\t\t});\n\n\t\treturn [context.getInputData()];\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../nodes/Form/Form.node.ts"],"sourcesContent":["import type {\n\tFormFieldsParameter,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeProperties,\n\tINodeTypeDescription,\n\tIWebhookFunctions,\n\tIWebhookResponseData,\n\tNodeTypeAndVersion,\n} from 'n8n-workflow';\nimport {\n\tNode,\n\tupdateDisplayOptions,\n\tNodeOperationError,\n\tFORM_NODE_TYPE,\n\tFORM_TRIGGER_NODE_TYPE,\n\ttryToParseJsonToFormFields,\n\tNodeConnectionTypes,\n} from 'n8n-workflow';\n\nimport { cssVariables } from './cssVariables';\nimport { renderFormCompletion } from './utils/formCompletionUtils';\nimport { renderFormNode } from './utils/formNodeUtils';\nimport { prepareFormReturnItem, resolveRawData } from './utils/utils';\nimport { configureWaitTillDate } from '../../utils/sendAndWait/configureWaitTillDate.util';\nimport { limitWaitTimeProperties } from '../../utils/sendAndWait/descriptions';\nimport { formDescription, formFields, formTitle } from '../Form/common.descriptions';\n\nconst waitTimeProperties: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Limit Wait Time',\n\t\tname: 'limitWaitTime',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tdescription:\n\t\t\t'Whether to limit the time this node should wait for a user response before execution resumes',\n\t},\n\t...updateDisplayOptions(\n\t\t{\n\t\t\tshow: {\n\t\t\t\tlimitWaitTime: [true],\n\t\t\t},\n\t\t},\n\t\tlimitWaitTimeProperties,\n\t),\n];\n\nexport const formFieldsProperties: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Define Form',\n\t\tname: 'defineForm',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Using Fields Below',\n\t\t\t\tvalue: 'fields',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Using JSON',\n\t\t\t\tvalue: 'json',\n\t\t\t},\n\t\t],\n\t\tdefault: 'fields',\n\t},\n\t{\n\t\tdisplayName: 'Form Fields',\n\t\tname: 'jsonOutput',\n\t\ttype: 'json',\n\t\ttypeOptions: {\n\t\t\trows: 5,\n\t\t},\n\t\tdefault:\n\t\t\t'[\\n {\\n \"fieldLabel\":\"Name\",\\n \"placeholder\":\"enter you name\",\\n \"requiredField\":true\\n },\\n {\\n \"fieldLabel\":\"Age\",\\n \"fieldType\":\"number\",\\n \"placeholder\":\"enter your age\"\\n },\\n {\\n \"fieldLabel\":\"Email\",\\n \"fieldType\":\"email\",\\n \"requiredField\":true\\n }\\n]',\n\t\tvalidateType: 'form-fields',\n\t\tignoreValidationDuringExecution: true,\n\t\thint: '<a href=\"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.form/\" target=\"_blank\">See docs</a> for field syntax',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tdefineForm: ['json'],\n\t\t\t},\n\t\t},\n\t},\n\t{ ...formFields, displayOptions: { show: { defineForm: ['fields'] } } },\n];\n\nconst pageProperties = updateDisplayOptions(\n\t{\n\t\tshow: {\n\t\t\toperation: ['page'],\n\t\t},\n\t},\n\t[\n\t\t...formFieldsProperties,\n\t\t...waitTimeProperties,\n\t\t{\n\t\t\tdisplayName: 'Options',\n\t\t\tname: 'options',\n\t\t\ttype: 'collection',\n\t\t\tplaceholder: 'Add option',\n\t\t\tdefault: {},\n\t\t\toptions: [\n\t\t\t\t{ ...formTitle, required: false },\n\t\t\t\tformDescription,\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Button Label',\n\t\t\t\t\tname: 'buttonLabel',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdefault: 'Submit',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Custom Form Styling',\n\t\t\t\t\tname: 'customCss',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\trows: 10,\n\t\t\t\t\t\teditor: 'cssEditor',\n\t\t\t\t\t},\n\t\t\t\t\tdefault: cssVariables.trim(),\n\t\t\t\t\tdescription: 'Override default styling of the public form interface with CSS',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n);\n\nconst completionProperties = updateDisplayOptions(\n\t{\n\t\tshow: {\n\t\t\toperation: ['completion'],\n\t\t},\n\t},\n\t[\n\t\t{\n\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased\n\t\t\tdisplayName: 'On n8n Form Submission',\n\t\t\tname: 'respondWith',\n\t\t\ttype: 'options',\n\t\t\tdefault: 'text',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tname: 'Show Completion Screen',\n\t\t\t\t\tvalue: 'text',\n\t\t\t\t\tdescription: 'Show a response text to the user',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Redirect to URL',\n\t\t\t\t\tvalue: 'redirect',\n\t\t\t\t\tdescription: 'Redirect the user to a URL',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Show Text',\n\t\t\t\t\tvalue: 'showText',\n\t\t\t\t\tdescription: 'Display simple text or HTML',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: 'Return Binary File',\n\t\t\t\t\tvalue: 'returnBinary',\n\t\t\t\t\tdescription: 'Return incoming binary file',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'URL',\n\t\t\tname: 'redirectUrl',\n\t\t\tvalidateType: 'url',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['redirect'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Completion Title',\n\t\t\tname: 'completionTitle',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Completion Message',\n\t\t\tname: 'completionMessage',\n\t\t\ttype: 'string',\n\t\t\tdefault: '',\n\t\t\ttypeOptions: {\n\t\t\t\trows: 2,\n\t\t\t},\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Text',\n\t\t\tname: 'responseText',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['showText'],\n\t\t\t\t},\n\t\t\t},\n\t\t\ttypeOptions: {\n\t\t\t\trows: 2,\n\t\t\t},\n\t\t\tdefault: '',\n\t\t\tplaceholder: 'e.g. Thanks for filling the form',\n\t\t\tdescription: 'The text to display on the page. Use HTML to show a customized web page.',\n\t\t},\n\t\t{\n\t\t\tdisplayName: 'Input Data Field Name',\n\t\t\tname: 'inputDataFieldName',\n\t\t\ttype: 'string',\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tdefault: 'data',\n\t\t\tplaceholder: 'e.g. data',\n\t\t\tdescription:\n\t\t\t\t'Find the name of input field containing the binary data to return in the Input panel on the left, in the Binary tab',\n\t\t\thint: 'The name of the input field containing the binary file data to be returned',\n\t\t},\n\t\t...waitTimeProperties,\n\t\t{\n\t\t\tdisplayName: 'Options',\n\t\t\tname: 'options',\n\t\t\ttype: 'collection',\n\t\t\tplaceholder: 'Add option',\n\t\t\tdefault: {},\n\t\t\toptions: [\n\t\t\t\t{ ...formTitle, required: false, displayName: 'Completion Page Title' },\n\t\t\t\t{\n\t\t\t\t\tdisplayName: 'Custom Form Styling',\n\t\t\t\t\tname: 'customCss',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\ttypeOptions: {\n\t\t\t\t\t\trows: 10,\n\t\t\t\t\t\teditor: 'cssEditor',\n\t\t\t\t\t},\n\t\t\t\t\tdefault: cssVariables.trim(),\n\t\t\t\t\tdescription: 'Override default styling of the public form interface with CSS',\n\t\t\t\t},\n\t\t\t],\n\t\t\tdisplayOptions: {\n\t\t\t\tshow: {\n\t\t\t\t\trespondWith: ['text', 'returnBinary'],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n);\n\nexport class Form extends Node {\n\tnodeInputData: INodeExecutionData[] = [];\n\n\tdescription: INodeTypeDescription = {\n\t\tdisplayName: 'n8n Form',\n\t\tname: 'form',\n\t\ticon: 'file:form.svg',\n\t\tgroup: ['input'],\n\t\tversion: 1,\n\t\tdescription: 'Generate webforms in n8n and pass their responses to the workflow',\n\t\tdefaults: {\n\t\t\tname: 'Form',\n\t\t},\n\t\tinputs: [NodeConnectionTypes.Main],\n\t\toutputs: [NodeConnectionTypes.Main],\n\t\twebhooks: [\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'GET',\n\t\t\t\tresponseMode: 'onReceived',\n\t\t\t\tpath: '',\n\t\t\t\trestartWebhook: true,\n\t\t\t\tisFullPath: true,\n\t\t\t\tnodeType: 'form',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'default',\n\t\t\t\thttpMethod: 'POST',\n\t\t\t\tresponseMode: 'responseNode',\n\t\t\t\tpath: '',\n\t\t\t\trestartWebhook: true,\n\t\t\t\tisFullPath: true,\n\t\t\t\tnodeType: 'form',\n\t\t\t},\n\t\t],\n\t\tproperties: [\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line n8n-nodes-base/node-param-display-name-miscased\n\t\t\t\tdisplayName: 'An n8n Form Trigger node must be set up before this node',\n\t\t\t\tname: 'triggerNotice',\n\t\t\t\ttype: 'notice',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Page Type',\n\t\t\t\tname: 'operation',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'page',\n\t\t\t\tnoDataExpression: true,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Next Form Page',\n\t\t\t\t\t\tvalue: 'page',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Form Ending',\n\t\t\t\t\t\tvalue: 'completion',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t...pageProperties,\n\t\t\t...completionProperties,\n\t\t],\n\t};\n\n\tasync webhook(context: IWebhookFunctions): Promise<IWebhookResponseData> {\n\t\tconst res = context.getResponseObject();\n\n\t\tconst operation = context.getNodeParameter('operation', '') as string;\n\n\t\tconst parentNodes = context.getParentNodes(context.getNode().name);\n\t\tconst trigger = parentNodes.find(\n\t\t\t(node) => node.type === 'n8n-nodes-base.formTrigger',\n\t\t) as NodeTypeAndVersion;\n\n\t\tconst mode = context.evaluateExpression(`{{ $('${trigger?.name}').first().json.formMode }}`) as\n\t\t\t| 'test'\n\t\t\t| 'production';\n\n\t\tconst defineForm = context.getNodeParameter('defineForm', false) as string;\n\n\t\tlet fields: FormFieldsParameter = [];\n\t\tif (defineForm === 'json') {\n\t\t\ttry {\n\t\t\t\tconst jsonOutput = context.getNodeParameter('jsonOutput', '', {\n\t\t\t\t\trawExpressions: true,\n\t\t\t\t}) as string;\n\n\t\t\t\tfields = tryToParseJsonToFormFields(resolveRawData(context, jsonOutput));\n\t\t\t} catch (error) {\n\t\t\t\tthrow new NodeOperationError(context.getNode(), error.message, {\n\t\t\t\t\tdescription: error.message,\n\t\t\t\t\ttype: mode === 'test' ? 'manual-form-test' : undefined,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tfields = context.getNodeParameter('formFields.values', []) as FormFieldsParameter;\n\t\t}\n\n\t\tconst method = context.getRequestObject().method;\n\n\t\tif (operation === 'completion' && method === 'GET') {\n\t\t\treturn await renderFormCompletion(context, res, trigger);\n\t\t}\n\n\t\tif (operation === 'completion' && method === 'POST') {\n\t\t\treturn {\n\t\t\t\tworkflowData: [context.evaluateExpression('{{ $input.all() }}') as INodeExecutionData[]],\n\t\t\t};\n\t\t}\n\n\t\tif (method === 'GET') {\n\t\t\treturn await renderFormNode(context, res, trigger, fields, mode);\n\t\t}\n\n\t\tlet useWorkflowTimezone = context.evaluateExpression(\n\t\t\t`{{ $('${trigger?.name}').params.options?.useWorkflowTimezone }}`,\n\t\t) as boolean;\n\n\t\tif (useWorkflowTimezone === undefined && trigger?.typeVersion > 2) {\n\t\t\tuseWorkflowTimezone = true;\n\t\t}\n\n\t\tconst returnItem = await prepareFormReturnItem(context, fields, mode, useWorkflowTimezone);\n\n\t\treturn {\n\t\t\twebhookResponse: { status: 200 },\n\t\t\tworkflowData: [[returnItem]],\n\t\t};\n\t}\n\n\tasync execute(context: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst operation = context.getNodeParameter('operation', 0);\n\n\t\tif (operation === 'completion') {\n\t\t\tthis.nodeInputData = context.getInputData();\n\t\t}\n\n\t\tconst parentNodes = context.getParentNodes(context.getNode().name);\n\t\tconst hasFormTrigger = parentNodes.some((node) => node.type === FORM_TRIGGER_NODE_TYPE);\n\n\t\tif (!hasFormTrigger) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tcontext.getNode(),\n\t\t\t\t'Form Trigger node must be set before this node',\n\t\t\t);\n\t\t}\n\n\t\tconst childNodes = context.getChildNodes(context.getNode().name);\n\t\tconst hasNextPage = childNodes.some((node) => node.type === FORM_NODE_TYPE);\n\n\t\tif (operation === 'completion' && hasNextPage) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tcontext.getNode(),\n\t\t\t\t'Completion has to be the last Form node in the workflow',\n\t\t\t);\n\t\t}\n\n\t\tconst waitTill = configureWaitTillDate(context, 'root');\n\t\tawait context.putExecutionToWait(waitTill);\n\n\t\tcontext.sendResponse({\n\t\t\theaders: {\n\t\t\t\tlocation: context.evaluateExpression('{{ $execution.resumeFormUrl }}', 0),\n\t\t\t},\n\t\t\tstatusCode: 307,\n\t\t});\n\n\t\treturn [context.getInputData()];\n\t}\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/Form/utils/formCompletionUtils.ts"],"sourcesContent":["import { type Response } from 'express';\nimport {\n\ttype NodeTypeAndVersion,\n\ttype IWebhookFunctions,\n\ttype IWebhookResponseData,\n\ttype IBinaryData,\n\ttype IDataObject,\n\tOperationalError,\n} from 'n8n-workflow';\n\nimport { sanitizeCustomCss, sanitizeHtml } from './utils';\n\nconst getBinaryDataFromNode = (context: IWebhookFunctions, nodeName: string): IDataObject => {\n\treturn context.evaluateExpression(`{{ $('${nodeName}').first().binary }}`) as IDataObject;\n};\n\nexport const binaryResponse = async (\n\tcontext: IWebhookFunctions,\n): Promise<{ data: string | Buffer; fileName: string; type: string }> => {\n\tconst inputDataFieldName = context.getNodeParameter('inputDataFieldName', '') as string;\n\tconst parentNodes = context.getParentNodes(context.getNode().name);\n\tconst binaryNode = parentNodes\n\t\t.reverse()\n\t\t.find((node) => getBinaryDataFromNode(context, node?.name)?.hasOwnProperty(inputDataFieldName));\n\tif (!binaryNode) {\n\t\tthrow new OperationalError(`No binary data with field ${inputDataFieldName} found.`);\n\t}\n\tconst binaryData = getBinaryDataFromNode(context, binaryNode?.name)[\n\t\tinputDataFieldName\n\t] as IBinaryData;\n\n\treturn {\n\t\t// If a binaryData has an id, the following field is set:\n\t\t// N8N_DEFAULT_BINARY_DATA_MODE=filesystem\n\t\tdata: binaryData.id\n\t\t\t? await context.helpers.binaryToBuffer(await context.helpers.getBinaryStream(binaryData.id))\n\t\t\t: atob(binaryData.data),\n\t\tfileName: binaryData.fileName ?? 'file',\n\t\ttype: binaryData.mimeType,\n\t};\n};\n\nexport const renderFormCompletion = async (\n\tcontext: IWebhookFunctions,\n\tres: Response,\n\ttrigger: NodeTypeAndVersion,\n): Promise<IWebhookResponseData> => {\n\tconst completionTitle = context.getNodeParameter('completionTitle', '') as string;\n\tconst completionMessage = context.getNodeParameter('completionMessage', '') as string;\n\tconst redirectUrl = context.getNodeParameter('redirectUrl', '') as string;\n\tconst options = context.getNodeParameter('options', {}) as {\n\t\tformTitle: string;\n\t\tcustomCss?: string;\n\t};\n\tconst responseText = context.getNodeParameter('responseText', '') as string;\n\tconst binary =\n\t\tcontext.getNodeParameter('respondWith', '') === 'returnBinary'\n\t\t\t? await binaryResponse(context)\n\t\t\t: '';\n\n\tlet title = options.formTitle;\n\tif (!title) {\n\t\ttitle = context.evaluateExpression(`{{ $('${trigger?.name}').params.formTitle }}`) as string;\n\t}\n\tconst appendAttribution = context.evaluateExpression(\n\t\t`{{ $('${trigger?.name}').params.options?.appendAttribution === false ? false : true }}`,\n\t) as boolean;\n\n\tres.render('form-trigger-completion', {\n\t\ttitle: completionTitle,\n\t\tmessage: completionMessage,\n\t\tformTitle: title,\n\t\tappendAttribution,\n\t\tresponseText: sanitizeHtml(responseText),\n\t\tresponseBinary: encodeURIComponent(JSON.stringify(binary)),\n\t\tdangerousCustomCss: sanitizeCustomCss(options.customCss),\n\t\tredirectUrl,\n\t});\n\n\treturn { noWebhookResponse: true };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAOO;AAEP,mBAAgD;AAEhD,MAAM,wBAAwB,CAAC,SAA4B,aAAkC;AAC5F,SAAO,QAAQ,mBAAmB,SAAS,QAAQ,sBAAsB;AAC1E;AAEO,MAAM,iBAAiB,OAC7B,YACwE;AACxE,QAAM,qBAAqB,QAAQ,iBAAiB,sBAAsB,EAAE;AAC5E,QAAM,cAAc,QAAQ,eAAe,QAAQ,QAAQ,EAAE,IAAI;AACjE,QAAM,aAAa,YACjB,QAAQ,EACR,KAAK,CAAC,SAAS,sBAAsB,SAAS,MAAM,IAAI,GAAG,eAAe,kBAAkB,CAAC;AAC/F,MAAI,CAAC,YAAY;AAChB,UAAM,IAAI,qCAAiB,6BAA6B,kBAAkB,SAAS;AAAA,EACpF;AACA,QAAM,aAAa,sBAAsB,SAAS,YAAY,IAAI,EACjE,kBACD;AAEA,SAAO;AAAA;AAAA;AAAA,IAGN,MAAM,WAAW,KACd,MAAM,QAAQ,QAAQ,eAAe,MAAM,QAAQ,QAAQ,gBAAgB,WAAW,EAAE,CAAC,IACzF,KAAK,WAAW,IAAI;AAAA,IACvB,UAAU,WAAW,YAAY;AAAA,IACjC,MAAM,WAAW;AAAA,EAClB;AACD;AAEO,MAAM,uBAAuB,OACnC,SACA,KACA,YACmC;AACnC,QAAM,kBAAkB,QAAQ,iBAAiB,mBAAmB,EAAE;AACtE,QAAM,oBAAoB,QAAQ,iBAAiB,qBAAqB,EAAE;AAC1E,QAAM,cAAc,QAAQ,iBAAiB,eAAe,EAAE;AAC9D,QAAM,UAAU,QAAQ,iBAAiB,WAAW,CAAC,CAAC;AAItD,QAAM,eAAe,QAAQ,iBAAiB,gBAAgB,EAAE;AAChE,QAAM,SACL,QAAQ,iBAAiB,eAAe,EAAE,MAAM,iBAC7C,MAAM,eAAe,OAAO,IAC5B;AAEJ,MAAI,QAAQ,QAAQ;AACpB,MAAI,CAAC,OAAO;AACX,YAAQ,QAAQ,mBAAmB,SAAS,SAAS,IAAI,wBAAwB;AAAA,EAClF;AACA,QAAM,oBAAoB,QAAQ;AAAA,IACjC,SAAS,SAAS,IAAI;AAAA,EACvB;AAEA,MAAI,OAAO,2BAA2B;AAAA,IACrC,OAAO;AAAA,IACP,SAAS;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA,kBAAc,2BAAa,YAAY;AAAA,IACvC,gBAAgB,mBAAmB,KAAK,UAAU,MAAM,CAAC;AAAA,IACzD,wBAAoB,gCAAkB,QAAQ,SAAS;AAAA,IACvD;AAAA,EACD,CAAC;AAED,SAAO,EAAE,mBAAmB,KAAK;AAClC;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/Form/utils/formNodeUtils.ts"],"sourcesContent":["import { type Response } from 'express';\nimport {\n\ttype NodeTypeAndVersion,\n\ttype IWebhookFunctions,\n\ttype FormFieldsParameter,\n\ttype IWebhookResponseData,\n} from 'n8n-workflow';\n\nimport { renderForm } from './utils';\n\nexport const renderFormNode = async (\n\tcontext: IWebhookFunctions,\n\tres: Response,\n\ttrigger: NodeTypeAndVersion,\n\tfields: FormFieldsParameter,\n\tmode: 'test' | 'production',\n): Promise<IWebhookResponseData> => {\n\tconst options = context.getNodeParameter('options', {}) as {\n\t\tformTitle: string;\n\t\tformDescription: string;\n\t\tbuttonLabel: string;\n\t\tcustomCss?: string;\n\t};\n\n\tlet title = options.formTitle;\n\tif (!title) {\n\t\ttitle = context.evaluateExpression(`{{ $('${trigger?.name}').params.formTitle }}`) as string;\n\t}\n\n\tlet buttonLabel = options.buttonLabel;\n\tif (!buttonLabel) {\n\t\tbuttonLabel =\n\t\t\t(context.evaluateExpression(\n\t\t\t\t`{{ $('${trigger?.name}').params.options?.buttonLabel }}`,\n\t\t\t) as string) || 'Submit';\n\t}\n\n\tconst appendAttribution = context.evaluateExpression(\n\t\t`{{ $('${trigger?.name}').params.options?.appendAttribution === false ? false : true }}`,\n\t) as boolean;\n\n\trenderForm({\n\t\tcontext,\n\t\tres,\n\t\tformTitle: title,\n\t\tformDescription: options.formDescription,\n\t\tformFields: fields,\n\t\tresponseMode: 'responseNode',\n\t\tmode,\n\t\tredirectUrl: undefined,\n\t\tappendAttribution,\n\t\tbuttonLabel,\n\t\tcustomCss: options.customCss,\n\t});\n\n\treturn {\n\t\tnoWebhookResponse: true,\n\t};\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mBAA2B;AAEpB,MAAM,iBAAiB,OAC7B,SACA,KACA,SACA,QACA,SACmC;AACnC,QAAM,UAAU,QAAQ,iBAAiB,WAAW,CAAC,CAAC;AAOtD,MAAI,QAAQ,QAAQ;AACpB,MAAI,CAAC,OAAO;AACX,YAAQ,QAAQ,mBAAmB,SAAS,SAAS,IAAI,wBAAwB;AAAA,EAClF;AAEA,MAAI,cAAc,QAAQ;AAC1B,MAAI,CAAC,aAAa;AACjB,kBACE,QAAQ;AAAA,MACR,SAAS,SAAS,IAAI;AAAA,IACvB,KAAgB;AAAA,EAClB;AAEA,QAAM,oBAAoB,QAAQ;AAAA,IACjC,SAAS,SAAS,IAAI;AAAA,EACvB;AAEA,+BAAW;AAAA,IACV;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,iBAAiB,QAAQ;AAAA,IACzB,YAAY;AAAA,IACZ,cAAc;AAAA,IACd;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,WAAW,QAAQ;AAAA,EACpB,CAAC;AAED,SAAO;AAAA,IACN,mBAAmB;AAAA,EACpB;AACD;","names":[]}
|
|
@@ -46,10 +46,10 @@ var import_isbot = __toESM(require("isbot"));
|
|
|
46
46
|
var import_luxon = require("luxon");
|
|
47
47
|
var import_n8n_workflow = require("n8n-workflow");
|
|
48
48
|
var import_sanitize_html = __toESM(require("sanitize-html"));
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
52
|
-
var
|
|
49
|
+
var import_utilities = require("../../../utils/utilities");
|
|
50
|
+
var import_error = require("../../Webhook/error");
|
|
51
|
+
var import_utils = require("../../Webhook/utils");
|
|
52
|
+
var import_interfaces = require("../interfaces");
|
|
53
53
|
function sanitizeHtml(text) {
|
|
54
54
|
return (0, import_sanitize_html.default)(text, {
|
|
55
55
|
allowedTags: [
|
|
@@ -84,10 +84,24 @@ function sanitizeHtml(text) {
|
|
|
84
84
|
allowedAttributes: {
|
|
85
85
|
a: ["href", "target", "rel"],
|
|
86
86
|
img: ["src", "alt", "width", "height"],
|
|
87
|
-
video: ["
|
|
88
|
-
iframe: [
|
|
89
|
-
|
|
87
|
+
video: ["controls", "autoplay", "loop", "muted", "poster", "width", "height"],
|
|
88
|
+
iframe: [
|
|
89
|
+
"src",
|
|
90
|
+
"width",
|
|
91
|
+
"height",
|
|
92
|
+
"frameborder",
|
|
93
|
+
"allow",
|
|
94
|
+
"allowfullscreen",
|
|
95
|
+
"referrerpolicy"
|
|
96
|
+
],
|
|
97
|
+
source: ["src", "type"]
|
|
90
98
|
},
|
|
99
|
+
allowedSchemes: ["https", "http"],
|
|
100
|
+
allowedSchemesByTag: {
|
|
101
|
+
source: ["https", "http"],
|
|
102
|
+
iframe: ["https", "http"]
|
|
103
|
+
},
|
|
104
|
+
allowProtocolRelative: false,
|
|
91
105
|
transformTags: {
|
|
92
106
|
iframe: import_sanitize_html.default.simpleTransform("iframe", {
|
|
93
107
|
sandbox: "",
|