28 lines
984 B
TypeScript
28 lines
984 B
TypeScript
import { extractBaseEmail } from "@calcom/lib/extract-base-email";
|
|
import logger from "@calcom/lib/logger";
|
|
|
|
import type { TUserEmailVerificationRequiredSchema } from "./checkIfUserEmailVerificationRequired.schema";
|
|
|
|
const log = logger.getSubLogger({ prefix: ["checkIfUserEmailVerificationRequired"] });
|
|
|
|
export const userWithEmailHandler = async ({ input }: { input: TUserEmailVerificationRequiredSchema }) => {
|
|
const { userSessionEmail, email } = input;
|
|
const baseEmail = extractBaseEmail(email);
|
|
|
|
const blacklistedGuestEmails = process.env.BLACKLISTED_GUEST_EMAILS
|
|
? process.env.BLACKLISTED_GUEST_EMAILS.split(",")
|
|
: [];
|
|
|
|
const blacklistedEmail = blacklistedGuestEmails.find(
|
|
(guestEmail: string) => guestEmail.toLowerCase() === baseEmail.toLowerCase()
|
|
);
|
|
|
|
if (!!blacklistedEmail && blacklistedEmail !== userSessionEmail) {
|
|
log.warn(`blacklistedEmail: ${blacklistedEmail}`);
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
|
|
export default userWithEmailHandler;
|