21 lines
1.3 KiB
JavaScript
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) }
|
|
}
|