mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
Feature/paired item support (#3869)
* Add paired item helper and implement it in some nodes
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
INodePropertyOptions,
|
||||
INodeType,
|
||||
INodeTypeDescription,
|
||||
NodeExecutionWithMetadata,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import { deepLApiRequest } from './GenericFunctions';
|
||||
@@ -108,14 +109,13 @@ export class DeepL implements INodeType {
|
||||
const items = this.getInputData();
|
||||
const length = items.length;
|
||||
|
||||
const responseData = [];
|
||||
const responseData: INodeExecutionData[] = [];
|
||||
|
||||
for (let i = 0; i < length; i++) {
|
||||
try {
|
||||
const resource = this.getNodeParameter('resource', i) as string;
|
||||
const operation = this.getNodeParameter('operation', i) as string;
|
||||
const additionalFields = this.getNodeParameter('additionalFields', i) as IDataObject;
|
||||
|
||||
if (resource === 'language') {
|
||||
if (operation === 'translate') {
|
||||
let body: IDataObject = {};
|
||||
@@ -129,19 +129,30 @@ export class DeepL implements INodeType {
|
||||
: additionalFields.sourceLang;
|
||||
}
|
||||
|
||||
const response = await deepLApiRequest.call(this, 'GET', '/translate', body);
|
||||
responseData.push(response.translations[0]);
|
||||
const { translations } = await deepLApiRequest.call(this, 'GET', '/translate', body);
|
||||
const [translation] = translations;
|
||||
const translationJsonArray = this.helpers.returnJsonArray(translation);
|
||||
const executionData = this.helpers.constructExecutionMetaData(
|
||||
translationJsonArray,
|
||||
{ itemData: { item: i } },
|
||||
);
|
||||
responseData.push(...executionData);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
if (this.continueOnFail()) {
|
||||
responseData.push({ $error: error, $json: this.getInputData(i) });
|
||||
const executionErrorData = {
|
||||
json: {} as IDataObject,
|
||||
error: error.message,
|
||||
itemIndex: i,
|
||||
};
|
||||
responseData.push(executionErrorData as INodeExecutionData);
|
||||
continue;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return [this.helpers.returnJsonArray(responseData)];
|
||||
return [responseData];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user