111 lines
2.5 KiB
JavaScript
111 lines
2.5 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 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 };
|
|
}
|
|
}
|