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,14 +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 { listFields, listOperations } from './ListDescription';
@@ -588,22 +586,13 @@ export class SendGrid implements INodeType {
const binaryProperties = attachments.split(',').map((p) => p.trim());
for (const property of binaryProperties) {
if (!items[i].binary?.hasOwnProperty(property)) {
throw new NodeOperationError(
this.getNode(),
`The binary property ${property} does not exist`,
{ itemIndex: i },
);
}
const binaryProperty = items[i].binary![property];
const binaryData = this.helpers.assertBinaryData(i, property);
const dataBuffer = await this.helpers.getBinaryDataBuffer(i, property);
attachmentsToSend.push({
content: dataBuffer.toString('base64'),
filename: binaryProperty.fileName || 'unknown',
type: binaryProperty.mimeType,
filename: binaryData.fileName || 'unknown',
type: binaryData.mimeType,
});
}