feat: Add appendN8nAttribution option to sendAndWait operation (#13697)

Co-authored-by: Michael Kret <michael.k@radency.com>
This commit is contained in:
Ria Scholz
2025-03-18 10:43:21 +01:00
committed by GitHub
parent 7e1036187f
commit d6d5a66f5d
16 changed files with 173 additions and 40 deletions

View File

@@ -46,7 +46,8 @@ describe('Test EmailSendV2, email => sendAndWait', () => {
mockExecuteFunctions.getNodeParameter.mockReturnValueOnce('my subject');
mockExecuteFunctions.evaluateExpression.mockReturnValueOnce('http://localhost/waiting-webhook');
mockExecuteFunctions.evaluateExpression.mockReturnValueOnce('nodeID');
mockExecuteFunctions.getNodeParameter.mockReturnValueOnce({});
mockExecuteFunctions.getNodeParameter.mockReturnValueOnce({}); // approvalOptions
mockExecuteFunctions.getNodeParameter.mockReturnValueOnce({}); // options
mockExecuteFunctions.getNodeParameter.mockReturnValueOnce('approval');
// configureWaitTillDate

View File

@@ -8,7 +8,10 @@ import type {
import { fromEmailProperty, toEmailProperty } from './descriptions';
import { configureTransport } from './utils';
import { configureWaitTillDate } from '../../../utils/sendAndWait/configureWaitTillDate.util';
import { createEmailBody } from '../../../utils/sendAndWait/email-templates';
import {
createEmailBodyWithN8nAttribution,
createEmailBodyWithoutN8nAttribution,
} from '../../../utils/sendAndWait/email-templates';
import {
createButton,
getSendAndWaitConfig,
@@ -30,9 +33,14 @@ export async function execute(this: IExecuteFunctions): Promise<INodeExecutionDa
buttons.push(createButton(config.url, option.label, option.value, option.style));
}
const instanceId = this.getInstanceId();
let htmlBody: string;
const htmlBody = createEmailBody(config.message, buttons.join('\n'), instanceId);
if (config.appendAttribution !== false) {
const instanceId = this.getInstanceId();
htmlBody = createEmailBodyWithN8nAttribution(config.message, buttons.join('\n'), instanceId);
} else {
htmlBody = createEmailBodyWithoutN8nAttribution(config.message, buttons.join('\n'));
}
const mailOptions: IDataObject = {
from: fromEmail,