mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
refactor(core): Remove linting exceptions in nodes-base (no-changelog) (#4944)
This commit is contained in:
@@ -52,6 +52,24 @@ export namespace SendInBlueNode {
|
||||
],
|
||||
]);
|
||||
export namespace Validators {
|
||||
function getFileName(
|
||||
itemIndex: number,
|
||||
mimeType: string,
|
||||
fileExt: string,
|
||||
fileName: string,
|
||||
): string {
|
||||
let ext = fileExt;
|
||||
if (fileExt === undefined) {
|
||||
ext = mimeType.split('/')[1];
|
||||
}
|
||||
|
||||
let name = `${fileName}.${ext}`;
|
||||
if (fileName === undefined) {
|
||||
name = `file-${itemIndex}.${ext}`;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
export async function validateAndCompileAttachmentsData(
|
||||
this: IExecuteSingleFunctions,
|
||||
requestOptions: IHttpRequestOptions,
|
||||
@@ -94,7 +112,7 @@ export namespace SendInBlueNode {
|
||||
itemIndex,
|
||||
mimeType,
|
||||
fileExtension!,
|
||||
fileName || item.binary!.data.fileName!,
|
||||
fileName ?? item.binary!.data.fileName!,
|
||||
);
|
||||
|
||||
attachment.push({ content, name });
|
||||
@@ -124,6 +142,69 @@ export namespace SendInBlueNode {
|
||||
return requestOptions;
|
||||
}
|
||||
|
||||
function formatToEmailName(data: Address): Email {
|
||||
const { address: email, name } = data;
|
||||
const result = { email };
|
||||
if (name !== undefined && name !== '') {
|
||||
Object.assign(result, { name });
|
||||
}
|
||||
return { ...result };
|
||||
}
|
||||
|
||||
function validateEmailStrings(input: ValidEmailFields): ValidatedEmail {
|
||||
const composer = new MailComposer({ ...input });
|
||||
const addressFields = composer.compile().getAddresses();
|
||||
|
||||
const fieldFetcher = new Map<string, () => Email[] | Email>([
|
||||
[
|
||||
'bcc',
|
||||
() => {
|
||||
return (addressFields.bcc as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'cc',
|
||||
() => {
|
||||
return (addressFields.cc as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'from',
|
||||
() => {
|
||||
return (addressFields.from as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'reply-to',
|
||||
() => {
|
||||
return (addressFields['reply-to'] as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'sender',
|
||||
() => {
|
||||
return (addressFields.sender as unknown as Address[])?.map(formatToEmailName)[0];
|
||||
},
|
||||
],
|
||||
[
|
||||
'to',
|
||||
() => {
|
||||
return (addressFields.to as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
]);
|
||||
|
||||
const result: { [key in keyof ValidatedEmail]: Email[] | Email } = {} as ValidatedEmail;
|
||||
Object.keys(input).reduce((obj: { [key: string]: Email[] | Email }, key: string) => {
|
||||
const getter = fieldFetcher.get(key);
|
||||
const value = getter!();
|
||||
obj[key] = value;
|
||||
return obj;
|
||||
}, result);
|
||||
|
||||
return result as ValidatedEmail;
|
||||
}
|
||||
|
||||
export async function validateAndCompileCCEmails(
|
||||
this: IExecuteSingleFunctions,
|
||||
requestOptions: IHttpRequestOptions,
|
||||
@@ -206,87 +287,6 @@ export namespace SendInBlueNode {
|
||||
Object.assign(body!, { params });
|
||||
return requestOptions;
|
||||
}
|
||||
|
||||
function validateEmailStrings(input: ValidEmailFields): ValidatedEmail {
|
||||
const composer = new MailComposer({ ...input });
|
||||
const addressFields = composer.compile().getAddresses();
|
||||
|
||||
const fieldFetcher = new Map<string, () => Email[] | Email>([
|
||||
[
|
||||
'bcc',
|
||||
() => {
|
||||
return (addressFields.bcc as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'cc',
|
||||
() => {
|
||||
return (addressFields.cc as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'from',
|
||||
() => {
|
||||
return (addressFields.from as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'reply-to',
|
||||
() => {
|
||||
return (addressFields['reply-to'] as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
[
|
||||
'sender',
|
||||
() => {
|
||||
return (addressFields.sender as unknown as Address[])?.map(formatToEmailName)[0];
|
||||
},
|
||||
],
|
||||
[
|
||||
'to',
|
||||
() => {
|
||||
return (addressFields.to as unknown as Address[])?.map(formatToEmailName);
|
||||
},
|
||||
],
|
||||
]);
|
||||
|
||||
const result: { [key in keyof ValidatedEmail]: Email[] | Email } = {} as ValidatedEmail;
|
||||
Object.keys(input).reduce((obj: { [key: string]: Email[] | Email }, key: string) => {
|
||||
const getter = fieldFetcher.get(key);
|
||||
const value = getter!();
|
||||
obj[key] = value;
|
||||
return obj;
|
||||
}, result);
|
||||
|
||||
return result as ValidatedEmail;
|
||||
}
|
||||
}
|
||||
|
||||
function getFileName(
|
||||
itemIndex: number,
|
||||
mimeType: string,
|
||||
fileExt: string,
|
||||
fileName: string,
|
||||
): string {
|
||||
let ext = fileExt;
|
||||
if (fileExt === undefined) {
|
||||
ext = mimeType.split('/')[1];
|
||||
}
|
||||
|
||||
let name = `${fileName}.${ext}`;
|
||||
if (fileName === undefined) {
|
||||
name = `file-${itemIndex}.${ext}`;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
function formatToEmailName(data: Address): Email {
|
||||
const { address: email, name } = data;
|
||||
const result = { email };
|
||||
if (name !== undefined && name !== '') {
|
||||
Object.assign(result, { name });
|
||||
}
|
||||
return { ...result };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user