42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
const { sendTaskEmail } = require("../../email/sendemail");
|
|
const generateEmailTemplate = require("../../email/generateTemplate");
|
|
|
|
/**
|
|
* @description Send notification email to the user
|
|
* @param userEmail
|
|
* @param jobs
|
|
* @param partialPayments
|
|
* @param logger
|
|
* @param logMeta
|
|
* @returns {Promise<void>}
|
|
*/
|
|
const sendPaymentNotificationEmail = async (userEmail, jobs, partialPayments, logger, logMeta) => {
|
|
try {
|
|
await sendTaskEmail({
|
|
to: userEmail,
|
|
subject: `New Payment(s) Received - RO ${jobs.jobs.map((j) => j.ro_number).join(", ")}`,
|
|
type: "html",
|
|
html: generateEmailTemplate({
|
|
header: "New Payment(s) Received",
|
|
subHeader: "",
|
|
body: jobs.jobs
|
|
.map(
|
|
(job) =>
|
|
`Reference: <a href="${InstanceEndpoints()}/manage/jobs/${job.id}">${job.ro_number || "N/A"}</a> | ${
|
|
job.ownr_co_nm ? job.ownr_co_nm : `${job.ownr_fn || ""} ${job.ownr_ln || ""}`.trim()
|
|
} | ${`${job.v_model_yr || ""} ${job.v_make_desc || ""} ${job.v_model_desc || ""}`.trim()} | $${partialPayments.find((p) => p.jobid === job.id).amount}`
|
|
)
|
|
.join("<br/>")
|
|
})
|
|
});
|
|
} catch (error) {
|
|
logger.log("intellipay-postback-email-error", "ERROR", "api", null, {
|
|
message: error.message,
|
|
jobs,
|
|
...logMeta
|
|
});
|
|
}
|
|
};
|
|
|
|
module.exports = sendPaymentNotificationEmail;
|