import mysql from "mysql2"; import dotenv from "dotenv"; dotenv.config(); // Ein einzelner Pool reicht; der zweite Pool benutzte fälschlich DB_TABLE als Datenbank const pool = mysql .createPool({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, }) .promise(); export async function query(params) { const [result] = await pool.query( "UPDATE lose SET vorname = ?, nachname = ?, adresse = ?, plz = ?, email = ? WHERE losnummer = ? AND vorname IS NULL AND nachname IS NULL AND adresse IS NULL AND plz IS NULL AND email IS NULL", [ params.vorname, params.nachname, params.adresse, params.plz, params.email, params.losnummer, ] ); if (result.affectedRows > 0) { console.log("Update successful:", result); return { success: true }; } else { return { success: false }; } } export async function loginAdmin(username, password) { const [rows] = await pool.query( "SELECT * FROM admin_user WHERE username = ? AND password = ?", [username, password] ); if (rows.length > 0) return { success: true }; return { success: false }; } export async function getTableData() { const [result] = await pool.query("SELECT * FROM lose"); if (result.length > 0) { return { success: true, data: result }; } return { success: false }; } export async function createEntry(data) { let { status } = { status: true }; for (const item of data) { const [result] = await pool.query( "INSERT INTO lose (losnummer) VALUES (?)", [item] ); if (result.affectedRows > 0) { status = true; } else { status = false; return status; } } return status; } export async function removeEntries(losnummern) { let { status } = { status: true }; for (const losnummer of losnummern) { const [result] = await pool.query("DELETE FROM lose WHERE losnummer = ?", [ losnummer, ]); if (result.affectedRows > 0) { status = true; } else { status = false; break; } } return status; } export async function saveRow(payload) { const [result] = await pool.query( "UPDATE lose SET vorname = ?, nachname = ?, adresse = ?, plz = ?, email = ? WHERE losnummer = ?", [ payload.vorname, payload.nachname, payload.adresse, payload.plz, payload.email, payload.losnummer, ] ); if (result.affectedRows > 0) { return { success: true }; } else { return { success: false }; } }