Files
formbricks-formbricks/apps/web/modules/auth/verification-requested/actions.ts
T
Dhruwang Jariwala f80d1b32b7 chore: Auth module revamp (#4335)
Co-authored-by: pandeymangg <anshuman.pandey9999@gmail.com>
Co-authored-by: Matthias Nannt <mail@matthiasnannt.com>
2024-11-26 08:28:13 +00:00

26 lines
895 B
TypeScript

"use server";
import { actionClient } from "@/lib/utils/action-client";
import { getUserByEmail } from "@/modules/auth/lib/user";
import { sendVerificationEmail } from "@/modules/email";
import { z } from "zod";
import { InvalidInputError, ResourceNotFoundError } from "@formbricks/types/errors";
const ZResendVerificationEmailAction = z.object({
email: z.string().max(255).email({ message: "Invalid email" }),
});
export const resendVerificationEmailAction = actionClient
.schema(ZResendVerificationEmailAction)
.action(async ({ parsedInput }) => {
const user = await getUserByEmail(parsedInput.email);
if (!user) {
throw new ResourceNotFoundError("user", parsedInput.email);
}
if (user.emailVerified) {
throw new InvalidInputError("Email address has already been verified");
}
await sendVerificationEmail(user);
return { success: true };
});