Website-Analyse für webklar.com: Sie-Fassung des Banners, fester Messdienst-Eintrag, Auswertung fürs WOMS
- Messskript: data-variant="eigen" zeigt eine eigene Banner-Fassung (Sie-Form, WEBklar misst selbst, BANNER_VERSION_EIGEN 2026-10-17); Kunden-Websites bleiben bei der Fassung 2026-10-02. - config.analyse.eigeneWebsite: fester Schlüssel und Domains von webklar.com; ensureEigeneWebsite zieht den Eintrag im Messdienst täglich nach (aktiv: false schaltet ab). Kein Kunde, kein Abo, keine Tickets. - /api/admin/analyse-eigen (jeder Mitarbeiter): Kennzahlen 7/30/90 Tage und Heatmap-Link auf webklar.com. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f3f8ac3777
commit
9ed295946c
10 files changed
+294
-20
No files matched your search
@@ -0,0 +1,34 @@
|
||||
// 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
|
||||
Reference in new issue
Block a user