const { sendTaskEmail } = require("../../email/sendemail"); const generateEmailTemplate = require("../../email/generateTemplate"); const { InstanceEndpoints } = require("../../utils/instanceMgr"); /** * @description Send notification email to the user * @param userEmail * @param jobs * @param partialPayments * @param logger * @param logMeta * @returns {Promise} */ 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: ${job.ro_number || "N/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("") }) }); } catch (error) { logger.log("intellipay-postback-email-error", "ERROR", "api", null, { message: error.message, jobs, ...logMeta }); } }; module.exports = sendPaymentNotificationEmail;