This commit is contained in:
cay 2026-04-06 13:37:44 +01:00
parent 6a11af504c
commit 0d68978d4e

38
app.js
View File

@ -26,6 +26,7 @@ const carddeckRoutes = require("./routes/carddeck");
const arenaRoutes = require("./routes/arena");
const { registerArenaHandlers } = require("./sockets/arena");
const { registerChatHandlers } = require("./sockets/chat");
const boosterRoutes = require("./routes/booster");
const compression = require("compression");
@ -152,10 +153,10 @@ app.get("/api/building/:id", requireLogin, async (req, res) => {
upgradeCost: nextLevel[0]
? `${nextLevel[0].wood} Holz, ${nextLevel[0].stone} Stein, ${nextLevel[0].gold} Gold`
: "Max Level erreicht",
upgradeWood: nextLevel[0]?.wood ?? null,
upgradeStone: nextLevel[0]?.stone ?? null,
upgradeGold: nextLevel[0]?.gold ?? null,
upgradeRequiredPoints: nextLevel[0]?.required_points ?? null, // NEU
upgradeWood: nextLevel[0]?.wood ?? null,
upgradeStone: nextLevel[0]?.stone ?? null,
upgradeGold: nextLevel[0]?.gold ?? null,
upgradeRequiredPoints: nextLevel[0]?.required_points ?? null, // NEU
});
} catch (err) {
console.error(err);
@ -191,7 +192,9 @@ app.post("/api/building/:id/upgrade", requireLogin, async (req, res) => {
);
if (!levelData) {
return res.status(400).json({ error: "Maximales Level bereits erreicht" });
return res
.status(400)
.json({ error: "Maximales Level bereits erreicht" });
}
// Punkte prüfen
@ -211,11 +214,23 @@ app.post("/api/building/:id/upgrade", requireLogin, async (req, res) => {
return res.status(400).json({ error: "Keine Währungsdaten gefunden" });
}
if (currency.wood < levelData.wood || currency.stone < levelData.stone || currency.gold < levelData.gold) {
if (
currency.wood < levelData.wood ||
currency.stone < levelData.stone ||
currency.gold < levelData.gold
) {
return res.status(400).json({
error: "Nicht genügend Ressourcen",
required: { wood: levelData.wood, stone: levelData.stone, gold: levelData.gold },
current: { wood: currency.wood, stone: currency.stone, gold: currency.gold },
required: {
wood: levelData.wood,
stone: levelData.stone,
gold: levelData.gold,
},
current: {
wood: currency.wood,
stone: currency.stone,
gold: currency.gold,
},
});
}
@ -234,7 +249,11 @@ app.post("/api/building/:id/upgrade", requireLogin, async (req, res) => {
res.json({
success: true,
newLevel: nextLevel,
cost: { wood: levelData.wood, stone: levelData.stone, gold: levelData.gold },
cost: {
wood: levelData.wood,
stone: levelData.stone,
gold: levelData.gold,
},
});
} catch (err) {
console.error(err);
@ -326,6 +345,7 @@ app.use("/api/blackmarket", blackmarket);
app.use("/api/mine", mineRoute);
app.use("/api", carddeckRoutes);
app.use("/arena", arenaRoutes);
app.use("/api", boosterRoutes);
/* ========================
404 Handler