5629 update blocklist for messaging v2 (#5756)

Closes #5629 

- Add subdomain support in blocklist (if @example.com is blocked, every
subdomain will be blocked)
This commit is contained in:
bosiraphael
2024-06-13 07:53:28 +02:00
committed by GitHub
parent 374237a988
commit f825bea071
11 changed files with 165 additions and 113 deletions

View File

@ -2,14 +2,20 @@ import { isEmailBlocklisted } from 'src/modules/calendar-messaging-participant/u
import { GmailMessage } from 'src/modules/messaging/message-import-manager/drivers/gmail/types/gmail-message';
// Todo: refactor this into several utils
export const filterEmails = (messages: GmailMessage[], blocklist: string[]) => {
export const filterEmails = (
messageChannelHandle: string,
messages: GmailMessage[],
blocklist: string[],
) => {
return filterOutBlocklistedMessages(
messageChannelHandle,
filterOutIcsAttachments(filterOutNonPersonalEmails(messages)),
blocklist,
);
};
const filterOutBlocklistedMessages = (
messageChannelHandle: string,
messages: GmailMessage[],
blocklist: string[],
) => {
@ -19,7 +25,12 @@ const filterOutBlocklistedMessages = (
}
return message.participants.every(
(participant) => !isEmailBlocklisted(participant.handle, blocklist),
(participant) =>
!isEmailBlocklisted(
messageChannelHandle,
participant.handle,
blocklist,
),
);
});
};