Files
mcs-lose/backend/services/database.js

69 lines
1.7 KiB
JavaScript

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 createEntryCSV(file) {
// Implement CSV creation logic here
}
export async function createEntry(data) {
const [result] = await pool.query("INSERT INTO lose (losnummer) VALUES (?)", [
data.losnummer,
]);
if (result.affectedRows > 0) {
return { success: true };
} else {
return { success: false };
}
}