-- Migration 0004: echte Kundenkonten für Google-/PayPal-Login.
--
-- Bewusst OAuth-only (kein eigenes Passwort-Feld): dadurch entfällt jede Passwort-Sicherheits-
-- verantwortung für uns komplett (kein Hashing, kein Passwort-Leck-Risiko) — Google/PayPal
-- übernehmen die eigentliche Identitätsprüfung, wir speichern nur, WER (per Provider-ID)
-- eingeloggt ist. Siehe functions/_shared/customer-auth.js + functions/api/auth/*.

CREATE TABLE IF NOT EXISTS customers (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  created_at TEXT NOT NULL,
  updated_at TEXT NOT NULL,
  last_login_at TEXT NOT NULL,
  -- "google" oder "paypal" — jeweils per OpenID Connect, siehe functions/_shared/oauth.js.
  provider TEXT NOT NULL CHECK (provider IN ('google', 'paypal')),
  -- Die eindeutige, unveränderliche Nutzer-ID VOM PROVIDER (z.B. Googles "sub"-Feld) — NICHT die
  -- E-Mail-Adresse, weil E-Mail-Adressen sich ändern können, die Provider-ID aber nicht.
  provider_user_id TEXT NOT NULL,
  email TEXT NOT NULL,
  name TEXT,
  UNIQUE (provider, provider_user_id)
);

CREATE INDEX IF NOT EXISTS idx_customers_email ON customers(email);
