// Admin-API (WOMS): Auswertung der Website-Analyse fuer WEBklars eigene Website (webklar.com). Jeder Mitarbeiter darf lesen. import { Router } from 'express' import { requireAppwriteTeam } from '../../middleware/appwriteStaff.js' import { eigeneAuswertung, eigenerHeatmapLink, gueltigerPfad } from '../../services/analyseEigen.js' const router = Router() router.use(requireAppwriteTeam) router.get('/', async (req, res) => { const range = String(req.query.range || '30') if (!['7', '30', '90'].includes(range)) return res.status(400).json({ error: 'Ungültiger Zeitraum (7, 30 oder 90 Tage)' }) try { res.json(await eigeneAuswertung(Number(range))) } catch (err) { // 404: Messdienst kennt die Website noch nicht (Eintrag entsteht beim Start bzw. im Tagesjob) if (err.status === 404) return res.status(409).json({ error: 'Die Messung für webklar.com ist noch nicht eingerichtet.' }) console.error('[admin-analyse-eigen] Auswertung:', err.status || '', err.message) res.status(503).json({ error: 'Auswertung gerade nicht erreichbar' }) } }) router.post('/heatmap-link', (req, res) => { const { path, vp } = req.body || {} if (!gueltigerPfad(path)) return res.status(400).json({ error: 'Ungültiger Pfad' }) if (!['m', 't', 'd'].includes(vp)) return res.status(400).json({ error: 'Ungültige Ansicht' }) try { res.json({ url: eigenerHeatmapLink({ path, vp }) }) } catch (err) { console.error('[admin-analyse-eigen] Heatmap-Link:', err.status || '', err.message) res.status(503).json({ error: 'Der Heatmap-Link konnte gerade nicht erstellt werden.' }) } }) export default router