Total Complexity | 2 |
Complexity/F | 2 |
Lines of Code | 32 |
Function Count | 1 |
Duplicated Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | import path from 'path' |
||
2 | import chalk from 'chalk' |
||
3 | import fs from 'fs' |
||
4 | import mkdir from './library/mkdir' |
||
5 | |||
6 | const successTemplate = fs.readFileSync(`${__dirname}/templates/success.xml`, { encoding: 'utf-8' }) |
||
7 | |||
8 | const sendEmail = (req, res, dateDir, fullDir, log) => { |
||
9 | const headers = `Subject: ${req.body['Message.Subject.Data']}\nTo Address: ${req.body['Destination.ToAddresses.member.1']}\nCc Address: ${req.body['Destination.CcAddresses.member.1']}\nBcc Address: ${req.body['Destination.BccAddresses.member.1']}\nReply To Address: ${req.body['ReplyToAddresses.member.1']}\nSource: ${req.body.Source}` |
||
10 | |||
11 | if (!(req.body.Source && req.body['Message.Subject.Data'] && (req.body['Message.Body.Html.Data'] || req.body['Message.Body.Text.Data']) && req.body['Destination.ToAddresses.member.1'])) { |
||
12 | throw new Error('One or more required fields was not sent') |
||
13 | } |
||
14 | |||
15 | mkdir(path.join(dateDir)) |
||
16 | mkdir(path.join(fullDir)) |
||
17 | log(` 📬 ${chalk.green('Email Received')} |
||
18 | ${chalk.blue('From:')} ${req.body.Source} |
||
19 | ${chalk.blue('To:')} ${req.body['Destination.ToAddresses.member.1']} |
||
20 | ${chalk.blue('Subject:')} ${req.body['Message.Subject.Data']} |
||
21 | ${chalk.blue('Html Email:')} ${process.cwd()}/${path.join(fullDir)}/body.html |
||
22 | ${chalk.blue('Text Email:')} ${process.cwd()}/${path.join(fullDir)}/body.txt |
||
23 | `) |
||
24 | fs.writeFileSync(`${fullDir}/body.html`, req.body['Message.Body.Html.Data']) |
||
25 | fs.writeFileSync(`${fullDir}/body.txt`, req.body['Message.Body.Text.Data']) |
||
26 | fs.writeFileSync(`${fullDir}/headers.txt`, headers) |
||
27 | res.status(200).send( |
||
28 | successTemplate.replace('{{message}}', `${process.cwd()}/${path.join(fullDir)}/body.html`) |
||
29 | ) |
||
30 | } |
||
31 | |||
32 | export default sendEmail |