import type { AuthContext } from "@/lib/auth/types";

function _readEnv(key: string): string | undefined {
  const value = process.env[key];
  if (!value) return undefined;
  const trimmed = value.trim();
  return trimmed ? trimmed : undefined;
}

export function getDevUser(): AuthContext {
  // 说明：第三阶段先用固定用户跑通迁移链路，后续接入真实鉴权时再替换这一层。
  const userId = _readEnv("DEV_USER_ID") ?? "dev-user";
  const email = _readEnv("DEV_USER_EMAIL") ?? "dev@mnote.local";
  const name = _readEnv("DEV_USER_NAME") ?? "开发用户";
  return { userId, email, name };
}

export function isDevAuthEnabled(): boolean {
  // 说明：
  // - 固定开发用户仅用于迁移/联调阶段的“免登录”模式。
  // - 当启用 Convex Auth（middleware + /auth）时，默认应关闭固定用户，避免 userId 与 token 不一致导致权限/数据错乱。
  // - 如确需启用，请显式设置 MNOTE_DEV_AUTH=1（或 NEXT_PUBLIC_MNOTE_DEV_AUTH=1）。
  return process.env.MNOTE_DEV_AUTH === "1" || process.env.NEXT_PUBLIC_MNOTE_DEV_AUTH === "1";
}
