// packages/marketing-pages/src/jobs/send-welcome-email.job.ts import { z } from "zod"; import type { IMailerService } from "../application/services/mailer.service.interface"; export const sendWelcomeEmailInputSchema = z .object({ userId: z.string(), email: z.string().email(), }) .strict(); export type SendWelcomeEmailInput = z.infer; export type ISendWelcomeEmailJob = ReturnType; export const sendWelcomeEmailJob = (mailer: IMailerService) => async (input: SendWelcomeEmailInput): Promise => { sendWelcomeEmailInputSchema.parse(input); await mailer.sendWelcome(input.userId, input.email); };