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