export interface SessionUserLike { id: string; email: string; emailVerified: boolean; name?: string | null; image?: string | null; } export function isConfiguredAdminEmail( email: string | null | undefined, adminEmailConfig: string | null | undefined, ): boolean { if (!email || !adminEmailConfig) return false; return adminEmailConfig .split(",") .map((configuredEmail) => configuredEmail.trim()) .filter(Boolean) .includes(email); } export function isAllowedAdminRegistration( email: string | null | undefined, authMethod: string, adminEmail: string | null | undefined, ): boolean { return ( authMethod === "email-password" && isConfiguredAdminEmail(email, adminEmail) ); } export function isAuthorizedAdmin( user: SessionUserLike | null | undefined, adminEmail: string | null | undefined, ): user is SessionUserLike { return Boolean( user && user.emailVerified === true && isConfiguredAdminEmail(user.email, adminEmail), ); }