From 625f3f0eecc731b2f89f10bc7029bc5eb7ffa100 Mon Sep 17 00:00:00 2001 From: Server Date: Tue, 29 Apr 2025 10:04:42 +0200 Subject: [PATCH] Neue Version Index --- index.js | 62 ++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/index.js b/index.js index cac89cc..d94aba1 100644 --- a/index.js +++ b/index.js @@ -310,45 +310,73 @@ app.post("/api/upload-news-image", uploadNewsImage.single("image"), (req, res) = app.get("/api/teams", async (req, res) => { try { const result = await pool.query(` - SELECT - t.id, - t.name, + SELECT + t.id, + t.name, + t.liga, + t.spieler_gesucht, + t.social_media, + t.trainer, + t.carousel_images, COUNT(pt.player_id) AS player_count FROM teams t LEFT JOIN player_teams pt ON pt.team_id = t.id - GROUP BY t.id + GROUP BY t.id, t.liga, t.spieler_gesucht, t.social_media, t.trainer, t.carousel_images ORDER BY t.name ASC `); res.json(result.rows); } catch (err) { - console.error(err); + console.error("Fehler beim Abrufen der Teams:", err); res.status(500).send("Fehler beim Abrufen der Teams"); } }); -//Teams anlegen - -app.post("/api/teams", async (req, res) => { - const { name } = req.body; - - if (!name) { - return res.status(400).send("Teamname ist erforderlich"); - } +//Update Team +app.put("/api/teams/:id", async (req, res) => { + const { name, liga, spieler_gesucht, social_media, trainer, carousel_images } = req.body; + const { id } = req.params; try { const result = await pool.query( - "INSERT INTO teams (name) VALUES ($1) RETURNING *", - [name] + `UPDATE teams + SET name = $1, liga = $2, spieler_gesucht = $3, social_media = $4, trainer = $5, carousel_images = $6 + WHERE id = $7 RETURNING *`, + [name, liga, spieler_gesucht, social_media, trainer, carousel_images, id] + ); + + if (result.rowCount === 0) return res.status(404).send("Team nicht gefunden"); + + res.json(result.rows[0]); + } catch (err) { + console.error("Fehler beim Aktualisieren des Teams:", err); + res.status(500).send("Fehler beim Aktualisieren des Teams"); + } +}); + + + + + +//Teams anlegen + +app.post("/api/teams", async (req, res) => { + const { name, liga, spieler_gesucht, social_media, trainer, carousel_images } = req.body; + + if (!name) return res.status(400).send("Teamname ist erforderlich"); + + try { + const result = await pool.query( + `INSERT INTO teams (name, liga, spieler_gesucht, social_media, trainer, carousel_images) + VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, + [name, liga, spieler_gesucht, social_media, trainer, carousel_images] ); res.status(201).json(result.rows[0]); } catch (err) { if (err.code === "23505") { - // 23505 = Unique violation return res.status(400).send("Ein Team mit diesem Namen existiert bereits"); } - console.error("Fehler beim Anlegen des Teams:", err); res.status(500).send("Fehler beim Anlegen des Teams"); }