import { config } from '../../config.js' import { listAllDocuments, Query, updateDocument } from '../appwriteAdmin.js' import { leereCache } from './kontext.js' /** * Kundenloeschung (Plan 2026-10-05-webshop.md, J3): schliesst alle Shops des Kunden (shopConfig.geoeffnet=false) und leert den * Speicher der oeffentlichen Schnittstelle. Die Funktion selbst schaltet disableCustomerFeatures ab; die Daten loescht der Tagesjob * (shop/jobs.js) 90 Tage nach dem Abschalten. Scheitert ein Shop, werden die uebrigen trotzdem geschlossen und der erste Fehler weitergereicht. * @returns {Promise} Zahl der geschlossenen Shops */ export async function schliesseShopsVonKunde(customerId) { const shops = await listAllDocuments(config.collections.shopConfig, [Query.equal('customerId', customerId)]) let geschlossen = 0 let erster = null for (const shop of shops) { try { if (shop.geoeffnet !== false) await updateDocument(config.collections.shopConfig, shop.$id, { geoeffnet: false }) geschlossen += 1 } catch (err) { erster ||= err } leereCache(shop.siteKey || undefined) } if (erster) throw erster return geschlossen }