implement save of thread and members

This commit is contained in:
grimhilt
2023-03-31 16:07:02 +02:00
parent a82ff9b85b
commit 68e1dfe7d8
10 changed files with 225 additions and 142 deletions

View File

@@ -0,0 +1,21 @@
function nbMembers(envelope) {
return getMembers(envelope).length;
}
function getMembers(envelope) {
const members = [];
const fields = ["from", "to", "sender", "replyTo", "cc", "bcc"];
fields.forEach((field) => {
if (!envelope[field]) return;
envelope[field].forEach((member) => {
if (members.find((m) => m.mailbox === member.mailbox && m.host === member.host)) return;
members.push(member);
});
});
return members;
}
module.exports = {
nbMembers,
getMembers,
};

View File

@@ -1,18 +0,0 @@
function nbMembers(envelope) {
let nbMembers =
(envelope.bcc?.length ?? 0) +
(envelope.cc?.length ?? 0) +
(envelope.to?.length ?? 0) +
(envelope.from?.length ?? 0);
if (
envelope.sender?.length > 0 &&
!(envelope.sender[0].mailbox == envelope.from[0].mailbox && envelope.sender[0].host == envelope.from[0].host)
) {
nbMembers += envelope.sender?.length ?? 0;
}
return nbMembers;
}
module.exports = {
nbMembers,
};