44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
const db = require("../database/database");
|
|
const auth = require("../middleware/auth");
|
|
|
|
router.get("/", auth, async (req, res) => {
|
|
const userId = req.session.user.id;
|
|
|
|
try {
|
|
const [items] = await db.query(
|
|
`
|
|
SELECT
|
|
items.id,
|
|
items.name,
|
|
items.icon,
|
|
items.equip_slot,
|
|
item_levels.level,
|
|
user_inventory.amount
|
|
FROM user_inventory
|
|
JOIN items ON items.id=user_inventory.item_id
|
|
LEFT JOIN item_levels ON item_levels.id=user_inventory.item_level_id
|
|
WHERE user_inventory.user_id=?
|
|
`,
|
|
[userId],
|
|
);
|
|
|
|
// Gekaufte Seiten laden
|
|
const [ownedPages] = await db.query(
|
|
`SELECT COUNT(*) as total FROM user_inventory_pages WHERE user_id = ?`,
|
|
[userId],
|
|
);
|
|
|
|
// Seite 1 ist immer kostenlos
|
|
const totalPages = Math.max(1, ownedPages[0].total);
|
|
|
|
res.json({ items, totalPages });
|
|
} catch (err) {
|
|
console.error("Inventory Fehler:", err);
|
|
res.status(500).json({ error: "DB Fehler" });
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|