mail/back/mails/utils/envelopeUtils.ts
2023-04-01 22:36:51 +02:00

18 lines
585 B
TypeScript

import { Envelope, User } from "../../interfaces/mail/attrs.interface";
export function nbMembers(envelope: Envelope) {
return getMembers(envelope).length;
}
export function getMembers(envelope: Envelope) {
const members: User[] = [];
const fields = ["from", "to", "sender", "replyTo", "cc", "bcc"] as const;
fields.forEach((field) => {
envelope[field]?.forEach((member: User) => {
if (members.find((m) => m.mailbox === member.mailbox && m.host === member.host)) return;
members.push(member);
});
});
return members;
}