/* =====================================================================
   GET /api/account/export — liefert alle über dieses Konto gespeicherten Daten als JSON-Datei
   zum Download (DSGVO Art. 15 "Auskunftsrecht" + Art. 20 "Recht auf Datenübertragbarkeit").
   Echtes Selbstbedienungs-Werkzeug statt eines manuellen Prozesses. ===================================================================== */

import { getCustomer } from "../../_shared/customer-auth.js";

export async function onRequestGet(context) {
  const { request, env } = context;
  const customer = await getCustomer(request, env);
  if (!customer) {
    return new Response(JSON.stringify({ ok: false, error: "Nicht angemeldet." }), {
      status: 401,
      headers: { "Content-Type": "application/json" },
    });
  }

  const daten = {
    konto: {
      email: customer.email,
      name: customer.name,
      anmeldeart: customer.provider,
      erstelltAm: customer.created_at,
    },
    hinweis:
      "Dies sind alle Daten, die Van's DIY & Bastelbedarf zu deinem Kundenkonto speichert. " +
      "Bereits aufgegebene Bestellungen werden getrennt davon aus gesetzlichen Aufbewahrungsgründen " +
      "weiter gespeichert (siehe Datenschutzerklärung, Abschnitt Bestellabwicklung).",
  };

  return new Response(JSON.stringify(daten, null, 2), {
    status: 200,
    headers: {
      "Content-Type": "application/json",
      "Content-Disposition": 'attachment; filename="meine-daten.json"',
    },
  });
}
