const express = require("express"); const router = express.Router(); const db = require("../database/database"); /* ================================ GET /api/daily/status Gibt zurück welche Events der User heute schon erledigt hat Response: { completed: [1, 3] } ← Array der erledigten event_ids ================================ */ router.get("/daily/status", async (req, res) => { if (!req.session?.user) return res.status(401).json({ error: "Nicht eingeloggt" }); const userId = req.session.user.id; try { const [rows] = await db.query( "SELECT event_id FROM daily_completions WHERE user_id = ?", [userId] ); res.json({ completed: rows.map(r => r.event_id) }); } catch (err) { console.error(err); res.status(500).json({ error: "DB Fehler" }); } }); /* ================================ POST /api/daily/complete Markiert ein Daily als erledigt Body: { eventId: 1 } Response: { success: true } oder { error: "bereits erledigt" } ================================ */ router.post("/daily/complete", async (req, res) => { if (!req.session?.user) return res.status(401).json({ error: "Nicht eingeloggt" }); const userId = req.session.user.id; const eventId = req.body?.eventId; if (!eventId) return res.status(400).json({ error: "eventId fehlt" }); try { // Prüfen ob heute schon erledigt const [[existing]] = await db.query( "SELECT id FROM daily_completions WHERE user_id = ? AND event_id = ?", [userId, eventId] ); if (existing) { return res.status(409).json({ error: "bereits erledigt" }); } await db.query( "INSERT INTO daily_completions (user_id, event_id) VALUES (?, ?)", [userId, eventId] ); res.json({ success: true }); } catch (err) { console.error(err); res.status(500).json({ error: "DB Fehler" }); } }); module.exports = router;