// src/lib/gsc/scope.ts — helpers PURS de parsing du scope OAuth Google.
// Volontairement sans "server-only" ni import DB/auth : testable en isolation
// (unité pure, pas de mock.module) et importable côté worker/owner/actions.

/** Scope OAuth Google requis pour lister/lire Search Console (sites.list, etc.).
 *  Un compte Google lié SANS ce scope (consentement granulaire non coché) ne
 *  peut pas servir la connexion GSC de l'org. */
export const WEBMASTERS_READONLY_SCOPE =
  "https://www.googleapis.com/auth/webmasters.readonly";

/** Le champ `account.scope` contient-il le scope webmasters.readonly ?
 *  Parsing tolérant : Better Auth stocke les scopes séparés par des virgules,
 *  mais d'autres providers utilisent des espaces — on gère les deux (et le
 *  mélange), en trimant chaque token. Null/vide → false. */
export function hasWebmastersScope(scope: string | null): boolean {
  if (!scope) return false;
  return scope
    .split(/[\s,]+/)
    .map((s) => s.trim())
    .filter(Boolean)
    .includes(WEBMASTERS_READONLY_SCOPE);
}
