diff --git a/packages/features/bookings/lib/handleNewBooking/test/booking-validations.test.ts b/packages/features/bookings/lib/handleNewBooking/test/booking-validations.test.ts index 1d4cddcc82..5a1962dac9 100644 --- a/packages/features/bookings/lib/handleNewBooking/test/booking-validations.test.ts +++ b/packages/features/bookings/lib/handleNewBooking/test/booking-validations.test.ts @@ -28,11 +28,9 @@ vi.mock("@calcom/trpc/server/routers/viewer/auth/util", () => ({ verifyCodeUnAuthenticated: vi.fn(), })); -const { mockFindManyByEmailsWithEmailVerificationSettings, mockFindByEmailWithEmailVerificationSetting } = - vi.hoisted(() => ({ - mockFindManyByEmailsWithEmailVerificationSettings: vi.fn(), - mockFindByEmailWithEmailVerificationSetting: vi.fn(), - })); +const { mockFindManyByEmailsWithEmailVerificationSettings } = vi.hoisted(() => ({ + mockFindManyByEmailsWithEmailVerificationSettings: vi.fn(), +})); vi.mock("@calcom/features/users/repositories/UserRepository", async (importOriginal) => { const actual = await importOriginal(); @@ -45,7 +43,6 @@ vi.mock("@calcom/features/users/repositories/UserRepository", async (importOrigi const realInstance = new OriginalUserRepository(prisma); realInstance.findManyByEmailsWithEmailVerificationSettings = mockFindManyByEmailsWithEmailVerificationSettings; - realInstance.findByEmailWithEmailVerificationSetting = mockFindByEmailWithEmailVerificationSetting; return realInstance; }), }; @@ -61,7 +58,6 @@ function resetBlacklistedEmails() { beforeEach(() => { mockFindManyByEmailsWithEmailVerificationSettings.mockResolvedValue([]); - mockFindByEmailWithEmailVerificationSetting.mockResolvedValue(null); }); afterEach(() => { diff --git a/packages/features/users/repositories/UserRepository.ts b/packages/features/users/repositories/UserRepository.ts index 8333d236ad..99070eec1c 100644 --- a/packages/features/users/repositories/UserRepository.ts +++ b/packages/features/users/repositories/UserRepository.ts @@ -276,32 +276,6 @@ export class UserRepository { }); return user; } - async findByEmailWithEmailVerificationSetting({ email }: { email: string }) { - const user = await this.prismaClient.user.findFirst({ - where: { - OR: [ - { - email: email.toLowerCase(), - emailVerified: { not: null }, - }, - { - secondaryEmails: { - some: { - email: email.toLowerCase(), - emailVerified: { not: null }, - }, - }, - }, - ], - }, - select: { - id: true, - email: true, - requiresBookerEmailVerification: true, - }, - }); - return user; - } async findManyByEmailsWithEmailVerificationSettings({ emails }: { emails: string[] }) { const normalizedEmails = emails.map((e) => e.toLowerCase()); diff --git a/packages/trpc/server/routers/publicViewer/checkIfUserEmailVerificationRequired.handler.ts b/packages/trpc/server/routers/publicViewer/checkIfUserEmailVerificationRequired.handler.ts index b6975ad81a..ed9b68f1cd 100644 --- a/packages/trpc/server/routers/publicViewer/checkIfUserEmailVerificationRequired.handler.ts +++ b/packages/trpc/server/routers/publicViewer/checkIfUserEmailVerificationRequired.handler.ts @@ -34,7 +34,8 @@ export const checkEmailVerificationRequired = async ({ } const userRepo = new UserRepository(prisma); - const user = await userRepo.findByEmailWithEmailVerificationSetting({ email: baseEmail }); + const users = await userRepo.findManyByEmailsWithEmailVerificationSettings({ emails: [baseEmail] }); + const user = users[0]; if (user?.requiresBookerEmailVerification && baseEmail.toLowerCase() !== userSessionEmail?.toLowerCase()) { log.warn(`user email requiring verification: ${baseEmail}`);