/** * EmailSorter - Database Cleanup Script * * ⚠️ WICHTIG: Liest Credentials aus Umgebungsvariablen (.env) * Keine hardcoded API Keys mehr! */ import 'dotenv/config'; import { Client, Databases } from "node-appwrite"; // Prüfe erforderliche Umgebungsvariablen const requiredEnv = [ "APPWRITE_ENDPOINT", "APPWRITE_PROJECT_ID", "APPWRITE_API_KEY", "APPWRITE_DATABASE_ID" ]; for (const key of requiredEnv) { if (!process.env[key]) { console.error(`❌ Fehlende Umgebungsvariable: ${key}`); console.error(`\nBitte setze diese Variable in server/.env`); process.exit(1); } } const client = new Client() .setEndpoint(process.env.APPWRITE_ENDPOINT) .setProject(process.env.APPWRITE_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); const db = new Databases(client); const databaseId = process.env.APPWRITE_DATABASE_ID; console.log(`🗑️ Lösche Datenbank: ${databaseId}`); console.log(`⚠️ WARNUNG: Diese Aktion kann nicht rückgängig gemacht werden!\n`); try { await db.delete(databaseId); console.log(`✅ Datenbank erfolgreich gelöscht: ${databaseId}`); } catch (e) { if (e.code === 404) { console.log(`ℹ️ Datenbank existiert nicht: ${databaseId}`); } else { console.error(`❌ Fehler beim Löschen der Datenbank:`, e.message); process.exit(1); } }