d5dbfbd54d2fb3166d9d8ccdd14000bdcfb0dfdb
import { Job } from 'bullmq';
import {
MailJobName, MailJobData,
WelcomeEmailPayload,
PasswordResetPayload,
} from '@app/lib/queue/types';
export async function mailProcessor(job: Job<MailJobData['data']>): Promise<void> {
// job.name is the discriminant
switch (job.name as MailJobName) {
case MailJobName.WelcomeEmail: {
const data = job.data as WelcomeEmailPayload;
// await sendWelcomeEmail(data.userId);
console.log("Dispatching an welcome email", data);
break;
}
case MailJobName.PasswordReset: {
const data = job.data as PasswordResetPayload;
// await sendPasswordResetEmail(data.userId, data.token);
default:
throw new Error(`Unknown mail job: ${job.name}`);