Last fixes
This commit is contained in:
parent
7b4a5a5e38
commit
b101cf0c85
137
index.js
137
index.js
@ -297,7 +297,7 @@ const uploadPlayerImage = multer({ storage: playerStorage });
|
||||
|
||||
|
||||
//Neues Bild zu den News hinzufügen
|
||||
app.post("/api/upload-news-image", upload.single("image"), (req, res) => {
|
||||
app.post("/api/upload-news-image", uploadNewsImage.single("image"), (req, res) => {
|
||||
if (!req.file) {
|
||||
return res.status(400).send("Kein Bild hochgeladen");
|
||||
}
|
||||
@ -432,7 +432,7 @@ app.get("/api/teams/:id", async (req, res) => {
|
||||
|
||||
// Spieler für dieses Team holen
|
||||
const playerResult = await pool.query(`
|
||||
SELECT p.id, p.name, p.nickname, p.position, p.jersey_number
|
||||
SELECT p.id, p.name, p.nickname, p.position, p.jersey_number, p.image_url
|
||||
FROM players p
|
||||
INNER JOIN player_teams pt ON p.id = pt.player_id
|
||||
WHERE pt.team_id = $1
|
||||
@ -464,7 +464,7 @@ app.get("/api/players", async (req, res) => {
|
||||
|
||||
|
||||
//Upload Player Image
|
||||
app.post("/api/upload-player-image", upload.single("image"), (req, res) => {
|
||||
app.post("/api/upload-player-image", uploadPlayerImage.single("image"), (req, res) => {
|
||||
if (!req.file) {
|
||||
return res.status(400).send("Kein Bild hochgeladen");
|
||||
}
|
||||
@ -473,6 +473,137 @@ app.post("/api/upload-player-image", upload.single("image"), (req, res) => {
|
||||
});
|
||||
|
||||
|
||||
//Spieler bearbeiten
|
||||
// Spieler aktualisieren
|
||||
app.put("/api/players/:id", async (req, res) => {
|
||||
const { id } = req.params;
|
||||
const {
|
||||
name,
|
||||
nickname,
|
||||
birthdate,
|
||||
position,
|
||||
jersey_number,
|
||||
favorite_food,
|
||||
status,
|
||||
image_url,
|
||||
} = req.body;
|
||||
|
||||
if (!name || !position) {
|
||||
return res.status(400).send("Name und Position sind Pflichtfelder");
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await pool.query(
|
||||
`UPDATE players
|
||||
SET
|
||||
name = $1,
|
||||
nickname = $2,
|
||||
birthdate = $3,
|
||||
position = $4,
|
||||
jersey_number = $5,
|
||||
favorite_food = $6,
|
||||
status = $7,
|
||||
image_url = $8
|
||||
WHERE id = $9
|
||||
RETURNING *`,
|
||||
[
|
||||
name,
|
||||
nickname || null,
|
||||
birthdate || null,
|
||||
position,
|
||||
jersey_number ? Number(jersey_number) : null,
|
||||
favorite_food || null,
|
||||
status || "aktiv",
|
||||
image_url || null,
|
||||
id,
|
||||
]
|
||||
);
|
||||
|
||||
if (result.rowCount === 0) {
|
||||
return res.status(404).send("Spieler nicht gefunden");
|
||||
}
|
||||
|
||||
res.json(result.rows[0]);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Aktualisieren des Spielers:", err);
|
||||
res.status(500).send("Fehler beim Aktualisieren des Spielers");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
//Einzelnen Spieler abrufen
|
||||
// Einzelnen Spieler abrufen
|
||||
app.get("/api/players/:id", async (req, res) => {
|
||||
const { id } = req.params;
|
||||
|
||||
try {
|
||||
const result = await pool.query(
|
||||
"SELECT * FROM players WHERE id = $1",
|
||||
[id]
|
||||
);
|
||||
|
||||
if (result.rowCount === 0) {
|
||||
return res.status(404).send("Spieler nicht gefunden");
|
||||
}
|
||||
|
||||
res.json(result.rows[0]);
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Abrufen des Spielers:", err);
|
||||
res.status(500).send("Fehler beim Abrufen des Spielers");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Spieler aus einem Team entfernen
|
||||
app.delete("/api/teams/:teamId/players/:playerId", async (req, res) => {
|
||||
const { teamId, playerId } = req.params;
|
||||
|
||||
try {
|
||||
const result = await pool.query(
|
||||
"DELETE FROM player_teams WHERE team_id = $1 AND player_id = $2",
|
||||
[teamId, playerId]
|
||||
);
|
||||
|
||||
if (result.rowCount === 0) {
|
||||
return res.status(404).send("Spieler nicht im Team gefunden");
|
||||
}
|
||||
|
||||
res.send("Spieler erfolgreich aus dem Team entfernt");
|
||||
} catch (err) {
|
||||
console.error("Fehler beim Entfernen des Spielers:", err);
|
||||
res.status(500).send("Fehler beim Entfernen des Spielers");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Existierenden Spieler einem Team hinzufügen
|
||||
app.post("/api/teams/:teamId/players", async (req, res) => {
|
||||
const { teamId } = req.params;
|
||||
const { playerId } = req.body;
|
||||
|
||||
if (!playerId) {
|
||||
return res.status(400).send("playerId ist erforderlich");
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await pool.query(
|
||||
"INSERT INTO player_teams (player_id, team_id) VALUES ($1, $2)",
|
||||
[playerId, teamId]
|
||||
);
|
||||
res.status(201).send("Spieler erfolgreich dem Team zugeordnet");
|
||||
} catch (err) {
|
||||
if (err.code === "23505") {
|
||||
return res.status(400).send("Spieler ist bereits im Team");
|
||||
}
|
||||
console.error("Fehler beim Hinzufügen des Spielers zum Team:", err);
|
||||
res.status(500).send("Fehler beim Hinzufügen des Spielers");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Server starten
|
||||
app.listen(port, () => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user