export interface SessionUserLike { id: string; email: string; emailVerified: boolean; name?: string | null; image?: string | null; } export function isConfiguredAdminEmail( email: string | null | undefined, adminEmail: string | null | undefined, ): boolean { return Boolean(email && adminEmail && email === adminEmail); } 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), ); }