Commit graph

7 commits

Author SHA1 Message Date
92e7dae74c feat(admin): add restore dismissed alerts flow
Some checks failed
Test / vitest (push) Successful in 11m48s
Test / playwright (push) Failing after 9m50s
Test / visual (push) Failing after 9m19s
Test / Notify on failure (push) Successful in 2s
Admins can now surface dismissed alert types without waiting for the
underlying data to change. Adds a collapsible "Restore dismissed"
section below the active alerts with per-type checkboxes.

- ALERT_METADATA map in adminAlerts.js as the single source of truth
  for slug → title/severity; detectors refactored to reference it
- GET /api/admin/alerts/dismissed returns this admin's dismissals
  joined with metadata (title, severity, dismissedAt)
- POST /api/admin/alerts/restore deletes dismissals by alertType[],
  returns the deleted count
- AdminAlertsPanel fetches both active + dismissed; stays visible
  when either is non-empty; checkboxes + "Restore selected" button
- adminAlertRestoreSchema validates the POST body against the enum
- Auth guards test covers both new routes
2026-04-08 12:22:35 +01:00
4f7a11bcf3 feat(admin): add alert aggregator with dismissal filtering 2026-04-08 11:14:54 +01:00
0dc1b6ddbc feat(admin): add pending tag suggestions detector 2026-04-08 11:12:52 +01:00
ab3f0a8b39 feat(admin): add event alert detectors 2026-04-08 11:11:32 +01:00
4bae4b0ec3 feat(admin): add pre-registrant alert detectors 2026-04-08 11:09:39 +01:00
824364d526 feat(admin): add member onboarding alert detectors 2026-04-08 11:08:09 +01:00
d3a961f765 feat(admin): add adminAlerts module shell with thresholds and signature helper 2026-04-08 11:06:02 +01:00