All files / lib/communication/handlers email-verified.handler.ts

100% Statements 2/2
100% Branches 0/0
100% Functions 2/2
100% Lines 2/2

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                  4x     4x                          
import type { CommunicationGateway } from "../gateway";
 
export type EmailVerifiedPayload = {
	email: string;
	userName?: string;
	onboardingUrl?: string;
};
 
export class EmailVerifiedHandler {
	constructor(private gateway: CommunicationGateway) {}
 
	async handle(payload: EmailVerifiedPayload): Promise<void> {
		await this.gateway.send({
			channel: "email",
			recipient: payload.email,
			eventType: "email_verified",
			transactional: true,
			content: {
				template: "email-verified",
				subject: "Email Verified — You're In!",
				props: { userName: payload.userName, onboardingUrl: payload.onboardingUrl },
			},
		});
	}
}