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} */ 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;