mirror of
https://github.com/n8n-io/n8n.git
synced 2025-02-21 02:56:40 -08:00
⚡ Handle comma separated binary properties (Gmail) (#1711)
This commit is contained in:
parent
029b1390ee
commit
444fe64bc1
|
@ -209,7 +209,8 @@ export const draftFields = [
|
|||
name: 'property',
|
||||
type: 'string',
|
||||
default: '',
|
||||
description: 'Name of the binary property containing the data to be added to the email as an attachment',
|
||||
description: `Name of the binary property containing the data to be added to the email as an attachment.</br>
|
||||
Multiples can be set separated by comma.`,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
@ -325,28 +325,29 @@ export class Gmail implements INodeType {
|
|||
|
||||
if (additionalFields.attachmentsUi) {
|
||||
const attachmentsUi = additionalFields.attachmentsUi as IDataObject;
|
||||
let attachmentsBinary = [];
|
||||
const attachmentsBinary = [];
|
||||
if (!isEmpty(attachmentsUi)) {
|
||||
if (attachmentsUi.hasOwnProperty('attachmentsBinary')
|
||||
&& !isEmpty(attachmentsUi.attachmentsBinary)
|
||||
&& items[i].binary) {
|
||||
// @ts-ignore
|
||||
attachmentsBinary = attachmentsUi.attachmentsBinary.map((value) => {
|
||||
if (items[i].binary!.hasOwnProperty(value.property)) {
|
||||
const aux: IAttachments = { name: '', content: '', type: '' };
|
||||
aux.name = items[i].binary![value.property].fileName || 'unknown';
|
||||
aux.content = items[i].binary![value.property].data;
|
||||
aux.type = items[i].binary![value.property].mimeType;
|
||||
return aux;
|
||||
}
|
||||
for (const { property } of attachmentsUi.attachmentsBinary as IDataObject[]) {
|
||||
for (const binaryProperty of (property as string).split(',')) {
|
||||
if (items[i].binary![binaryProperty] !== undefined) {
|
||||
const binaryData = items[i].binary![binaryProperty];
|
||||
attachmentsBinary.push({
|
||||
name: binaryData.fileName || 'unknown',
|
||||
content: binaryData.data,
|
||||
type: binaryData.mimeType,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
qs = {
|
||||
userId: 'me',
|
||||
uploadType: 'media',
|
||||
};
|
||||
|
||||
attachmentsList = attachmentsBinary;
|
||||
}
|
||||
}
|
||||
|
@ -408,32 +409,32 @@ export class Gmail implements INodeType {
|
|||
|
||||
if (additionalFields.attachmentsUi) {
|
||||
const attachmentsUi = additionalFields.attachmentsUi as IDataObject;
|
||||
let attachmentsBinary = [];
|
||||
const attachmentsBinary = [];
|
||||
if (!isEmpty(attachmentsUi)) {
|
||||
if (attachmentsUi.hasOwnProperty('attachmentsBinary')
|
||||
&& !isEmpty(attachmentsUi.attachmentsBinary)
|
||||
&& items[i].binary) {
|
||||
// @ts-ignore
|
||||
attachmentsBinary = attachmentsUi.attachmentsBinary.map((value) => {
|
||||
if (items[i].binary!.hasOwnProperty(value.property)) {
|
||||
const aux: IAttachments = { name: '', content: '', type: '' };
|
||||
aux.name = items[i].binary![value.property].fileName || 'unknown';
|
||||
aux.content = items[i].binary![value.property].data;
|
||||
aux.type = items[i].binary![value.property].mimeType;
|
||||
return aux;
|
||||
}
|
||||
for (const { property } of attachmentsUi.attachmentsBinary as IDataObject[]) {
|
||||
for (const binaryProperty of (property as string).split(',')) {
|
||||
if (items[i].binary![binaryProperty] !== undefined) {
|
||||
const binaryData = items[i].binary![binaryProperty];
|
||||
attachmentsBinary.push({
|
||||
name: binaryData.fileName || 'unknown',
|
||||
content: binaryData.data,
|
||||
type: binaryData.mimeType,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
qs = {
|
||||
userId: 'me',
|
||||
uploadType: 'media',
|
||||
};
|
||||
|
||||
attachmentsList = attachmentsBinary;
|
||||
}
|
||||
}
|
||||
|
||||
// if no recipient is defined then grab the one who sent the email
|
||||
if (toStr === '') {
|
||||
endpoint = `/gmail/v1/users/me/messages/${id}`;
|
||||
|
@ -628,28 +629,29 @@ export class Gmail implements INodeType {
|
|||
|
||||
if (additionalFields.attachmentsUi) {
|
||||
const attachmentsUi = additionalFields.attachmentsUi as IDataObject;
|
||||
let attachmentsBinary = [];
|
||||
const attachmentsBinary = [];
|
||||
if (!isEmpty(attachmentsUi)) {
|
||||
if (attachmentsUi.hasOwnProperty('attachmentsBinary')
|
||||
&& !isEmpty(attachmentsUi.attachmentsBinary)
|
||||
&& items[i].binary) {
|
||||
// @ts-ignore
|
||||
attachmentsBinary = attachmentsUi.attachmentsBinary.map((value) => {
|
||||
if (items[i].binary!.hasOwnProperty(value.property)) {
|
||||
const aux: IAttachments = { name: '', content: '', type: '' };
|
||||
aux.name = items[i].binary![value.property].fileName || 'unknown';
|
||||
aux.content = items[i].binary![value.property].data;
|
||||
aux.type = items[i].binary![value.property].mimeType;
|
||||
return aux;
|
||||
}
|
||||
for (const { property } of attachmentsUi.attachmentsBinary as IDataObject[]) {
|
||||
for (const binaryProperty of (property as string).split(',')) {
|
||||
if (items[i].binary![binaryProperty] !== undefined) {
|
||||
const binaryData = items[i].binary![binaryProperty];
|
||||
attachmentsBinary.push({
|
||||
name: binaryData.fileName || 'unknown',
|
||||
content: binaryData.data,
|
||||
type: binaryData.mimeType,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
qs = {
|
||||
userId: 'me',
|
||||
uploadType: 'media',
|
||||
};
|
||||
|
||||
attachmentsList = attachmentsBinary;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -226,30 +226,6 @@ export const messageFields = [
|
|||
},
|
||||
default: {},
|
||||
options: [
|
||||
{
|
||||
displayName: 'CC Email',
|
||||
name: 'ccList',
|
||||
type: 'string',
|
||||
description: 'The email addresses of the copy recipients.',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
multipleValueButtonText: 'Add CC Email',
|
||||
},
|
||||
placeholder: 'info@example.com',
|
||||
default: [],
|
||||
},
|
||||
{
|
||||
displayName: 'BCC Email',
|
||||
name: 'bccList',
|
||||
type: 'string',
|
||||
description: 'The email addresses of the blind copy recipients.',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
multipleValueButtonText: 'Add BCC Email',
|
||||
},
|
||||
placeholder: 'info@example.com',
|
||||
default: [],
|
||||
},
|
||||
{
|
||||
displayName: 'Attachments',
|
||||
name: 'attachmentsUi',
|
||||
|
@ -268,7 +244,8 @@ export const messageFields = [
|
|||
name: 'property',
|
||||
type: 'string',
|
||||
default: '',
|
||||
description: 'Name of the binary properties which contain data which should be added to email as attachment',
|
||||
description: `Name of the binary property containing the data to be added to the email as an attachment.</br>
|
||||
Multiples can be set separated by comma.`,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -276,6 +253,30 @@ export const messageFields = [
|
|||
default: '',
|
||||
description: 'Array of supported attachments to add to the message.',
|
||||
},
|
||||
{
|
||||
displayName: 'BCC Email',
|
||||
name: 'bccList',
|
||||
type: 'string',
|
||||
description: 'The email addresses of the blind copy recipients.',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
multipleValueButtonText: 'Add BCC Email',
|
||||
},
|
||||
placeholder: 'info@example.com',
|
||||
default: [],
|
||||
},
|
||||
{
|
||||
displayName: 'CC Email',
|
||||
name: 'ccList',
|
||||
type: 'string',
|
||||
description: 'The email addresses of the copy recipients.',
|
||||
typeOptions: {
|
||||
multipleValues: true,
|
||||
multipleValueButtonText: 'Add CC Email',
|
||||
},
|
||||
placeholder: 'info@example.com',
|
||||
default: [],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue