tkd_neu/server/controllers/gameController.js

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 };