(ticket: any)
| 3 | import { createTransportProvider } from "../transport"; |
| 4 | |
| 5 | export async function sendTicketStatus(ticket: any) { |
| 6 | const email = await prisma.email.findFirst(); |
| 7 | |
| 8 | if (email) { |
| 9 | const transport = await createTransportProvider(); |
| 10 | |
| 11 | const testhtml = await prisma.emailTemplate.findFirst({ |
| 12 | where: { |
| 13 | type: "ticket_status_changed", |
| 14 | }, |
| 15 | }); |
| 16 | |
| 17 | var template = handlebars.compile(testhtml?.html); |
| 18 | var replacements = { |
| 19 | title: ticket.title, |
| 20 | status: ticket.isComplete ? "COMPLETED" : "OUTSTANDING", |
| 21 | }; |
| 22 | var htmlToSend = template(replacements); |
| 23 | |
| 24 | await transport |
| 25 | .sendMail({ |
| 26 | from: email?.reply, |
| 27 | to: ticket.email, |
| 28 | subject: `Issue #${ticket.Number} status is now ${ |
| 29 | ticket.isComplete ? "COMPLETED" : "OUTSTANDING" |
| 30 | }`, |
| 31 | text: `Hello there, Issue #${ticket.Number}, now has a status of ${ |
| 32 | ticket.isComplete ? "COMPLETED" : "OUTSTANDING" |
| 33 | }`, |
| 34 | html: htmlToSend, |
| 35 | }) |
| 36 | .then((info: any) => { |
| 37 | console.log("Message sent: %s", info.messageId); |
| 38 | }) |
| 39 | .catch((err: any) => console.log(err)); |
| 40 | } |
| 41 | } |
no test coverage detected