Files
formbricks/apps/web/modules/auth/actions.ts
2025-04-21 15:57:54 +02:00

23 lines
696 B
TypeScript

"use server";
import { createEmailToken } from "@/lib/jwt";
import { getUserByEmail } from "@/lib/user/service";
import { actionClient } from "@/lib/utils/action-client";
import { z } from "zod";
import { InvalidInputError } from "@formbricks/types/errors";
const ZCreateEmailTokenAction = z.object({
email: z.string().min(5).max(255).email({ message: "Invalid email" }),
});
export const createEmailTokenAction = actionClient
.schema(ZCreateEmailTokenAction)
.action(async ({ parsedInput }) => {
const user = await getUserByEmail(parsedInput.email);
if (!user) {
throw new InvalidInputError("Invalid request");
}
return createEmailToken(parsedInput.email);
});