Add table view and split name into firstName/lastName fields
This commit is contained in:
73
.output/server/chunks/_/members.mjs
Normal file
73
.output/server/chunks/_/members.mjs
Normal file
@@ -0,0 +1,73 @@
|
||||
import { promises } from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
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");
|
||||
const USERS_FILE = getDataPath("users.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 readUsers() {
|
||||
try {
|
||||
const data = await promises.readFile(USERS_FILE, "utf-8");
|
||||
return JSON.parse(data);
|
||||
} catch (error) {
|
||||
if (error.code === "ENOENT") {
|
||||
return [];
|
||||
}
|
||||
console.error("Fehler beim Lesen der Benutzerdaten:", error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
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 = {
|
||||
id: `m${Date.now()}`,
|
||||
...memberData
|
||||
};
|
||||
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 { readUsers as a, deleteMember as d, readMembers as r, saveMember as s };
|
||||
//# sourceMappingURL=members.mjs.map
|
||||
Reference in New Issue
Block a user