/** * Access-model helpers shared by Better Auth hooks, the session layer and the admin UI. * Pure functions only (no "server-only", no database) so they can be imported anywhere on the server. */ /** Emails listed in `ADMIN_EMAILS` (comma-separated, case-insensitive). */ export const adminEmails: readonly string[] = (process.env.ADMIN_EMAILS ?? "") .split(",") .map((s) => s.trim().toLowerCase()) .filter(Boolean); export function normalizeEmail(email: string): string { return email.trim().toLowerCase(); } export function isAdminEmail(email: string): boolean { return adminEmails.includes(normalizeEmail(email)); } export const ACCESS_DENIED_MESSAGE = "This email is not on the access list. Ask your Fetcha administrator to invite you.";