eletrotupi / tcc/ api/src/services/mail/sendExportReady.ts7d05736f131f19302570c162dd01ea61962d392f
997 B | 33 lines Raw
1
import { sendEmail } from '@app/lib/mail';
2
import { findUserById } from '@app/services/user.service';
3
import { logger } from '@app/lib/logger';
4

5
const email = (firstName: string) => (`
6
Oi, ${firstName}!
7

8
Preparamos um arquivo com os seus dados do nexo e anexamos a este e-mail. Ele
9
é um .zip com os seus dados em CSV, além de um "leia-me" explicando o conteúdo.
10

11
Guarde com carinho — agora ele é seu.
12

13
Qualquer coisa prende o grito!
14
`);
15

16
export async function sendExportReadyEmail(
17
  userId: number,
18
  attachment: { filename: string; buffer: Buffer },
19
): Promise<void> {
20
  const user = await findUserById(userId);
21

22
  const { error } = await sendEmail({
23
    to: user!.email,
24
    subject: 'Seus dados do nexo',
25
    text: email(user!.firstName),
26
    attachments: [{ filename: attachment.filename, content: attachment.buffer }],
27
  });
28

29
  if (error) {
30
    logger.error({ err: error }, "Error sending export email");
31
    throw new Error("Não foi possível enviar o e-mail com seus dados");
32
  }
33
}