/* ===================================================================== POST /api/account/delete — löscht das echte Kundenkonto unwiderruflich (DSGVO Art. 17, "Recht auf Löschung"). Bewusst als echtes Selbstbedienungs-Werkzeug gebaut, nicht nur als "schreib uns eine E-Mail"-Hinweis — genau das, was rechtlich am saubersten ist und was VanVan vor Anfragen/Beschwerden schützt, die sonst manuell bearbeitet werden müssten. Löscht NUR den customers-Datensatz (Login-Identität) — bereits aufgegebene Bestellungen (orders-Tabelle) bleiben bestehen, weil dafür eine gesetzliche Aufbewahrungspflicht gilt (handels-/steuerrechtliche Aufbewahrungsfristen, § 257 HGB / § 147 AO) — das Konto ist davon rechtlich unabhängig. ===================================================================== */ import { json } from "../../_shared/http.js"; import { getCustomer, clearCustomerCookieHeader } from "../../_shared/customer-auth.js"; export async function onRequestPost(context) { const { request, env } = context; const customer = await getCustomer(request, env); if (!customer) return json(401, { ok: false, error: "Nicht angemeldet." }); try { await env.DB.prepare(`DELETE FROM customers WHERE id = ?`).bind(customer.id).run(); } catch { return json(500, { ok: false, error: "Konto konnte nicht gelöscht werden. Bitte versuche es erneut." }); } const headers = new Headers({ "Content-Type": "application/json" }); headers.append("Set-Cookie", clearCustomerCookieHeader()); return new Response(JSON.stringify({ ok: true }), { status: 200, headers }); }