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,13 +1,12 @@
import type { IExecuteFunctions } from 'n8n-core';
import type {
IDataObject,
IExecuteFunctions,
ILoadOptionsFunctions,
INodeExecutionData,
INodePropertyOptions,
INodeType,
INodeTypeDescription,
} from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
import { linkedInApiRequest } from './GenericFunctions';
import { postFields, postOperations } from './PostDescription';
@@ -137,27 +136,11 @@ export class LinkedIn implements INodeType {
].uploadUrl as string;
const asset = registerObject.value.asset as string;
// Prepare binary file upload
const item = items[i];
if (item.binary === undefined) {
throw new NodeOperationError(this.getNode(), 'No binary data exists on item!', {
itemIndex: i,
});
}
const propertyNameUpload = this.getNodeParameter('binaryPropertyName', i);
if (item.binary[propertyNameUpload] === undefined) {
throw new NodeOperationError(
this.getNode(),
`Item has no binary property called "${propertyNameUpload}"`,
{ itemIndex: i },
);
}
const binaryPropertyName = this.getNodeParameter('binaryPropertyName', i);
this.helpers.assertBinaryData(i, binaryPropertyName);
// Buffer binary data
const buffer = await this.helpers.getBinaryDataBuffer(i, propertyNameUpload);
const buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);
// Upload image
await linkedInApiRequest.call(this, 'POST', uploadUrl, buffer, true);