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
|
//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) {
|
if (!req.file) {
|
||||||
return res.status(400).send("Kein Bild hochgeladen");
|
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
|
// Spieler für dieses Team holen
|
||||||
const playerResult = await pool.query(`
|
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
|
FROM players p
|
||||||
INNER JOIN player_teams pt ON p.id = pt.player_id
|
INNER JOIN player_teams pt ON p.id = pt.player_id
|
||||||
WHERE pt.team_id = $1
|
WHERE pt.team_id = $1
|
||||||
@ -464,7 +464,7 @@ app.get("/api/players", async (req, res) => {
|
|||||||
|
|
||||||
|
|
||||||
//Upload Player Image
|
//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) {
|
if (!req.file) {
|
||||||
return res.status(400).send("Kein Bild hochgeladen");
|
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
|
// Server starten
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user