86 lines
2.2 KiB
JavaScript
86 lines
2.2 KiB
JavaScript
const jwt = require("jsonwebtoken");
|
|
const { Pool } = require("pg");
|
|
|
|
// Datenbankverbindung
|
|
const pool = new Pool({
|
|
user: process.env.DB_USER,
|
|
host: process.env.DB_HOST,
|
|
database: process.env.DB_NAME,
|
|
password: process.env.DB_PASSWORD,
|
|
port: 5432,
|
|
});
|
|
|
|
// Registrierungsfunktion
|
|
const newGame = async (req, res) => {
|
|
const { name } = req.body;
|
|
try {
|
|
// Überprüfen, ob der Benutzer bereits existiert
|
|
|
|
const newGame = await pool.query(
|
|
"INSERT INTO spiele (name) VALUES ($1) RETURNING id",
|
|
[name]
|
|
);
|
|
|
|
res.status(201).json({ message: "Spiel angelegt", id: newGame.rows[0].id });
|
|
} catch (err) {
|
|
res
|
|
.status(500)
|
|
.json({ message: "Fehler beim Anlegen", error: err.message });
|
|
}
|
|
};
|
|
|
|
const allGames = async (req, res) => {
|
|
try {
|
|
// Überprüfen, ob der Benutzer existiert
|
|
const games = await pool.query("SELECT * FROM spiele");
|
|
if (games.rows.length === 0) {
|
|
return res.status(400).json({ message: "Keine Spiele vorhanden" });
|
|
}
|
|
|
|
// Passwort vergleichen
|
|
res.status(200).json({ message: "Login erfolgreich", games: games.rows });
|
|
} catch (err) {
|
|
res.status(500).json({ message: "Fehler beim Login", error: err.message });
|
|
}
|
|
};
|
|
|
|
const updateGame = async (req, res) => {
|
|
const { id } = req.params;
|
|
const { name } = req.body;
|
|
try {
|
|
const updateUser = await pool.query(
|
|
"UPDATE spiele SET name = $1 WHERE id = $2 RETURNING *",
|
|
[name, id]
|
|
);
|
|
res.status(200).json({
|
|
message: "Benutzerdaten aktualisiert",
|
|
user: updateUser.rows[0],
|
|
});
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: "Fehler beim Aktualisieren der Benutzerdaten",
|
|
error: err.message,
|
|
});
|
|
}
|
|
};
|
|
|
|
const Game = async (req, res) => {
|
|
const { id } = req.params;
|
|
try {
|
|
const games = await pool.query("SELECT * FROM spiele Where id = $1", [id]);
|
|
if (games.rows.length === 0) {
|
|
return res.status(400).json({ message: "Spiel nicht gefunden" });
|
|
}
|
|
|
|
// Passwort vergleichen
|
|
res.status(200).json({ message: "Spiel gefunden", game: games.rows[0] });
|
|
} catch (err) {
|
|
res.status(500).json({
|
|
message: "Fehler beim Aktualisieren der Benutzerdaten",
|
|
error: err.message,
|
|
});
|
|
}
|
|
};
|
|
|
|
module.exports = { newGame, allGames, updateGame, Game };
|