import { openDB, deleteDB } from "idb"; // Exportiere die Funktion initializeDatabase export async function initializeDatabase() { try { const db = await openDB("CPLDatabase", 1, { upgrade(db) { if (!db.objectStoreNames.contains("pdfs")) { db.createObjectStore("pdfs"); } if (!db.objectStoreNames.contains("pages")) { db.createObjectStore("pages"); } if (!db.objectStoreNames.contains("cplVariables")) { db.createObjectStore("cplVariables"); } }, }); return db; } catch (error) { if (error.name === "VersionError") { console.warn( "Versionskonflikt erkannt. Lösche und erstelle die Datenbank neu." ); await deleteDB("CPLDatabase"); return initializeDatabase(); } else { console.error("Fehler beim Öffnen der Datenbank:", error); throw error; } } } // Exportiere die Funktion getFromIndexedDB export async function getFromIndexedDB(key) { const db = await initializeDatabase(); return await db.get("cplVariables", key); } // Beispiel weitere Funktion für PDF-Speicherung export async function storePDF(name, file) { const db = await initializeDatabase(); await db.put("pdfs", file, name); } // Funktion zum Abrufen von PDF-Dateien aus der IndexedDB export async function getPDF(name) { const db = await initializeDatabase(); return await db.get("pdfs", name); }