refactor: Unify binary-data assertion across all nodes (no-changelog) (#5624)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-03-06 17:33:32 +01:00
committed by GitHub
parent 01a2160b3b
commit 5eb0d52459
69 changed files with 411 additions and 1573 deletions

View File

@@ -1,6 +1,5 @@
import FormData from 'form-data';
import type { IDataObject, INodeExecutionData, INodeProperties } from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
// Define these because we'll be using them in two separate places
const metagenerationFilters: INodeProperties[] = [
@@ -140,7 +139,6 @@ export const objectOperations: INodeProperties[] = [
// Populate request body
const body = new FormData();
const item = this.getInputData();
body.append('metadata', JSON.stringify(metadata), {
contentType: 'application/json',
});
@@ -152,20 +150,8 @@ export const objectOperations: INodeProperties[] = [
const binaryPropertyName = this.getNodeParameter(
'createBinaryPropertyName',
) as string;
if (!item.binary) {
throw new NodeOperationError(this.getNode(), 'No binary data exists on item!', {
itemIndex: this.getItemIndex(),
});
}
if (item.binary[binaryPropertyName] === undefined) {
throw new NodeOperationError(
this.getNode(),
`Item has no binary property called "${binaryPropertyName}"`,
{ itemIndex: this.getItemIndex() },
);
}
const binaryData = item.binary[binaryPropertyName];
const binaryData = this.helpers.assertBinaryData(binaryPropertyName);
// Decode from base64 for upload
content = Buffer.from(binaryData.data, 'base64');