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 |
||
|---|---|---|
| .. | ||
| activityLog.js | ||
| adminAlerts.js | ||
| auth.js | ||
| escapeHtml.js | ||
| helcim.js | ||
| memberNumber.js | ||
| mongoose.js | ||
| oidc-mongodb-adapter.ts | ||
| oidc-provider.ts | ||
| resend.js | ||
| schemas.js | ||
| slack.ts | ||
| tickets.js | ||
| validateBody.js | ||