mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
fix(Gmail Node): Do not break threads while creating drafts (#16272)
Co-authored-by: Shireen Missi <94372015+ShireenMissi@users.noreply.github.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
This commit is contained in:
30
packages/nodes-base/nodes/Google/Gmail/v2/utils/draft.ts
Normal file
30
packages/nodes-base/nodes/Google/Gmail/v2/utils/draft.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import type { IExecuteFunctions } from 'n8n-workflow';
|
||||
|
||||
import type { IEmail } from '@utils/sendAndWait/interfaces';
|
||||
|
||||
import { googleApiRequest } from '../../GenericFunctions';
|
||||
|
||||
/**
|
||||
* Adds inReplyTo and reference headers to the email if threadId is provided.
|
||||
*/
|
||||
export async function addThreadHeadersToEmail(
|
||||
this: IExecuteFunctions,
|
||||
email: IEmail,
|
||||
threadId: string,
|
||||
): Promise<void> {
|
||||
const thread = await googleApiRequest.call(
|
||||
this,
|
||||
'GET',
|
||||
`/gmail/v1/users/me/threads/${threadId}`,
|
||||
{},
|
||||
{ format: 'metadata', metadataHeaders: ['Message-ID'] },
|
||||
);
|
||||
|
||||
if (thread?.messages) {
|
||||
const lastMessage = thread.messages.length - 1;
|
||||
const messageId: string = thread.messages[lastMessage].payload.headers[0].value;
|
||||
|
||||
email.inReplyTo = messageId;
|
||||
email.reference = messageId;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user