import { promises } from 'fs'; import path from 'path'; import { randomUUID } from 'crypto'; const getDataPath = (filename) => { const cwd = process.cwd(); if (cwd.endsWith(".output")) { return path.join(cwd, "../server/data", filename); } return path.join(cwd, "server/data", filename); }; const MEMBERS_FILE = getDataPath("members.json"); async function readMembers() { try { const data = await promises.readFile(MEMBERS_FILE, "utf-8"); return JSON.parse(data); } catch (error) { if (error.code === "ENOENT") { return []; } console.error("Fehler beim Lesen der Mitgliederdaten:", error); return []; } } async function writeMembers(members) { try { await promises.writeFile(MEMBERS_FILE, JSON.stringify(members, null, 2), "utf-8"); return true; } catch (error) { console.error("Fehler beim Schreiben der Mitgliederdaten:", error); return false; } } async function saveMember(memberData) { const members = await readMembers(); if (memberData.id) { const index = members.findIndex((m) => m.id === memberData.id); if (index !== -1) { members[index] = { ...members[index], ...memberData }; } else { throw new Error("Mitglied nicht gefunden"); } } else { const newMember = { ...memberData, id: randomUUID() // Cryptographically secure unique ID }; members.push(newMember); } await writeMembers(members); return true; } async function deleteMember(id) { const members = await readMembers(); const filtered = members.filter((m) => m.id !== id); await writeMembers(filtered); return true; } export { deleteMember as d, readMembers as r, saveMember as s }; //# sourceMappingURL=members.mjs.map