31 lines
729 B
TypeScript
31 lines
729 B
TypeScript
|
import { sendEmailVerification } from "@calcom/features/auth/lib/verifyEmail";
|
||
|
import logger from "@calcom/lib/logger";
|
||
|
|
||
|
import type { TrpcSessionUser } from "../../../trpc";
|
||
|
|
||
|
type ResendEmailOptions = {
|
||
|
ctx: {
|
||
|
user: NonNullable<TrpcSessionUser>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
const log = logger.getChildLogger({ prefix: [`[[Auth] `] });
|
||
|
|
||
|
export const resendVerifyEmail = async ({ ctx }: ResendEmailOptions) => {
|
||
|
if (ctx.user.emailVerified) {
|
||
|
log.info(`User ${ctx.user.id} already verified email`);
|
||
|
return {
|
||
|
ok: true,
|
||
|
skipped: true,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
const email = await sendEmailVerification({
|
||
|
email: ctx.user.email,
|
||
|
username: ctx.user?.username ?? undefined,
|
||
|
language: ctx.user.locale,
|
||
|
});
|
||
|
|
||
|
return email;
|
||
|
};
|