From 7313d8b3d04ced23bd72f7fafe87aad01c418e04 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 14 Apr 2026 13:00:14 -0400 Subject: [PATCH] feat: add email worker handlers for inquiry confirmation and sales notification Co-Authored-By: Claude Sonnet 4.6 --- src/lib/queue/workers/email.ts | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/lib/queue/workers/email.ts b/src/lib/queue/workers/email.ts index 60a5a1c..8ceafe3 100644 --- a/src/lib/queue/workers/email.ts +++ b/src/lib/queue/workers/email.ts @@ -15,6 +15,42 @@ export const emailWorker = new Worker( await syncInbox(accountId); break; } + case 'send-inquiry-confirmation': { + const { to, firstName, mooringNumber, contactEmail } = job.data as { + to: string; + firstName: string; + mooringNumber: string | null; + contactEmail: string; + }; + const { inquiryClientConfirmation } = + await import('@/lib/email/templates/inquiry-client-confirmation'); + const { sendEmail } = await import('@/lib/email/index'); + const email = inquiryClientConfirmation({ firstName, mooringNumber, contactEmail }); + await sendEmail(to, email.subject, email.html, undefined, email.text); + break; + } + case 'send-inquiry-sales-notification': { + const { to, fullName, email, phone, mooringNumber, crmUrl } = job.data as { + to: string; + fullName: string; + email: string; + phone: string; + mooringNumber: string | null; + crmUrl: string; + }; + const { inquirySalesNotification } = + await import('@/lib/email/templates/inquiry-sales-notification'); + const { sendEmail } = await import('@/lib/email/index'); + const notification = inquirySalesNotification({ + fullName, + email, + phone, + mooringNumber, + crmUrl, + }); + await sendEmail(to, notification.subject, notification.html, undefined, notification.text); + break; + } default: logger.warn({ jobName: job.name }, 'Unknown email job'); }