* add eslint config * migrate autoLock to features * migrate teamService to features * migrate userCreationService * migrate insights services to features * migrate ProfileRepository * update imports * migrate filter segmen tests * migrate filter segment repository * migrate getBusyTimes * migrate getLocaleFromRequest * refactor csvUtils * make filename clearer * migrate getLuckyUser integration test * migrate autoLock test to features * wip * refactors * migrate useBookerUrl * migrate more * wip * Migrate eventTypeRepository * membership repository * update imports * update imports * migrate * move organization repository * update imports * update imports * wip * wip * wip * wip * wip * wip * wip * wip * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix tests * fix type checks * fix * fix * migrate * update imports * fix tests * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
15 lines
695 B
TypeScript
15 lines
695 B
TypeScript
import { WatchlistRepository } from "@calcom/features/watchlist/watchlist.repository";
|
|
|
|
export const checkIfFreeEmailDomain = async (email: string) => {
|
|
const emailDomain = email.split("@")[1].toLowerCase();
|
|
// If there's no email domain return as if it was a free email domain
|
|
if (!emailDomain) return true;
|
|
|
|
// Gmail and Outlook are one of the most common email domains so we don't need to check the domains list
|
|
if (emailDomain === "gmail.com" || emailDomain === "outlook.com") return true;
|
|
|
|
// Check if email domain is in the watchlist
|
|
const watchlistRepository = new WatchlistRepository();
|
|
return !!(await watchlistRepository.getFreeEmailDomainInWatchlist(emailDomain));
|
|
};
|