e2fdb069ac
- Backend: DELETE /api/monitoring/events (settings:update). Optional ?olderThanDays=N – nur Events älter als N Tage löschen. Hinterlässt selbst einen Audit-Eintrag "Log geleert: X Einträge" mit User-E-Mail + IP, damit der Vorgang nachvollziehbar bleibt. - Frontend: "Log leeren"-Button öffnet Bestätigungs-Modal mit optionalem "älter als X Tage"-Filter. Roter Bestätigungs-Button. - Frontend: PageSize-Selector (10/25/50/100/200) neben dem Header. Wechsel setzt automatisch zurück auf Seite 1. Live-verifiziert: Clear löscht 10 Events, schreibt 1 Audit-Event, PageSize=5 wird in pagination respektiert. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
17 lines
963 B
TypeScript
17 lines
963 B
TypeScript
import { Router } from 'express';
|
|
import { authenticate, requirePermission } from '../middleware/auth.js';
|
|
import * as monitoringController from '../controllers/monitoring.controller.js';
|
|
|
|
const router = Router();
|
|
router.use(authenticate);
|
|
|
|
// Monitoring ist Admin-Sache: settings:read fürs Anzeigen, settings:update für Änderungen
|
|
router.get('/events', requirePermission('settings:read'), monitoringController.listEvents);
|
|
router.get('/settings', requirePermission('settings:read'), monitoringController.getMonitoringSettings);
|
|
router.put('/settings', requirePermission('settings:update'), monitoringController.updateMonitoringSettings);
|
|
router.post('/test-alert', requirePermission('settings:update'), monitoringController.testAlert);
|
|
router.post('/run-digest', requirePermission('settings:update'), monitoringController.runDigestNow);
|
|
router.delete('/events', requirePermission('settings:update'), monitoringController.clearEvents);
|
|
|
|
export default router;
|