type OwnerUser = {
  id: string;
  email?: string | null;
};

function parseList(value: string | undefined) {
  return (value || "")
    .split(",")
    .map((entry) => entry.trim().toLowerCase())
    .filter(Boolean);
}

export function isOwnerUser(user: OwnerUser | null | undefined) {
  if (!user) return false;
  const allowedEmails = parseList(process.env.OWNER_ACCESS_EMAILS);
  const allowedIds = parseList(process.env.OWNER_ACCESS_USER_IDS);
  const email = (user.email || "").trim().toLowerCase();
  if (allowedIds.length > 0 && allowedIds.includes(user.id.toLowerCase())) return true;
  if (allowedEmails.length > 0 && email && allowedEmails.includes(email)) return true;
  return false;
}
