import express from 'express' import { parsePortalSession } from '../middleware/session.js' import { neueAnsichtFuerSession } from '../services/kundenansicht/schalter.js' /* VORÜBERGEHENDE MESSUNG (2026-10-29), wird nach der Klärung wieder entfernt: Am iPhone (App vom Home-Bildschirm) steht die Leiste der neuen Kundenansicht zu hoch. Die Seite (public/neu/diag-hoehe.js) schickt Bildschirmwerte, keine Inhalte; hier wird je Meldung eine Zeile „[diag-hoehe] …“ ins Log geschrieben. Nur für Kunden-Sitzungen, die die neue Ansicht sehen (Pilot), nicht für die Mitarbeiter-Kundenansicht. Ohne Appwrite-Abfrage (der signierte Cookie reicht), höchstens MAX_JE_STUNDE Zeilen je Kunde und Stunde, höchstens MAX_BYTES je Zeile. */ export const MAX_BYTES = 4000 export const MAX_JE_STUNDE = 400 const zaehler = new Map() // customerId -> { stunde, n } const router = express.Router() router.post('/', (req, res) => { const session = parsePortalSession(req) if (!session || session.viewAs || !neueAnsichtFuerSession(session)) return res.status(204).end() const stunde = Math.floor(Date.now() / 3600000) const stand = zaehler.get(session.customerId) const z = stand && stand.stunde === stunde ? stand : { stunde, n: 0 } z.n += 1 zaehler.set(session.customerId, z) if (z.n > MAX_JE_STUNDE) return res.status(204).end() const zeile = JSON.stringify(req.body && typeof req.body === 'object' ? req.body : {}) if (zeile.length > MAX_BYTES) return res.status(204).end() console.log(`[diag-hoehe] ${String(session.customerId).slice(0, 6)} ${zeile}`) return res.status(204).end() }) export default router