www/hooks/email-sales.js

21 lines
1.3 KiB
JavaScript

'use strict'
require('dotenv').config()
const mailer = require('../lib/mailer')
const formatUSD = require('../lib/formatUSD')
module.exports = async (order) => {
const amt = (order.paymentMethod==='XMR')?`${order.totalxmr} XMR`:formatUSD(order.total)
const sales_mail_items_string = await order.items.reduce((acc,cur) =>
acc += `${cur.pid}/${cur.sid} ${cur.qty} ${cur.weight} ${cur.volume}\n`
, 'PID/SID qty lbs in³\n')
let sales_mail_res; try {
console.log(`Emailing sales team at ${process.env.SALES_EMAIL} about order ${order.id}`)
sales_mail_res = await mailer.sendMail({
from: process.env.SALES_MAIL_FROM,
to: process.env.SALES_EMAIL,
subject: `Order for ${amt} processed`,
text: `Order ${order.id} needs ${order.items.length} items shipped: \n\n${sales_mail_items_string}\nSHIP TO:\n${order.shipping.name}\n${order.shipping.address.addr1}${(order.shipping.address.addr2)?'\n'+order.shipping.address.addr2:''}\n${order.shipping.address.city}, ${order.shipping.address.state} ${order.shipping.address.zip}\n\nCONTACT:\n${order.contact.name}\n${order.contact.phone}\n${order.contact.email}\n\n---\n\nOrder page: ${process.env.SITE_DOMAIN}/shop/order/stripe/?order=${order.id}&key=${order.key}\n`,
})
console.log(`Sent email ${sales_mail_res.messageId} to sales team for order ${order.id}`)
} catch (err) { console.error(err) }
}