Backup & Restore Management Page
Create an Angular page for managing database backups, restores, and scheduled backups.
Backend Endpoints Needed
The following endpoints should be created (or already exist in src/infra/backup_scheduler.rs):
GET /admin/backups — List all backups
POST /admin/backups — Create a manual backup
GET /admin/backups/{id} — Get backup details
POST /admin/backups/{id}/restore — Restore from backup
DELETE /admin/backups/{id} — Delete a backup
GET /admin/backups/schedule — Get backup schedule config
PUT /admin/backups/schedule — Update backup schedule
UI Requirements
Backup List
- Table: Name, timestamp, size, file count, status (completed/failed/running)
- Actions: Restore button, Delete button, Download button
- Sort: By date (default descending)
- Filter: By status or date range
Create Backup
- Manual Trigger: "Create Backup Now" button
- Progress: Show progress indicator during backup creation
- Result: Show backup summary on completion
Scheduled Backups
- Enable/Disable: Toggle for scheduled backups
- Interval: Cron expression or preset (hourly, daily, weekly, monthly)
- Retention: Number of backups to keep
- Next Backup: Show countdown to next scheduled backup
Restore
- Confirmation: Modal with backup details + warning
- Dry Run: Option to preview what will be restored
- Progress: Progress bar during restore
- Result: Summary of restored files/records
Acceptance Criteria
Parent Epic
#290
Backup & Restore Management Page
Create an Angular page for managing database backups, restores, and scheduled backups.
Backend Endpoints Needed
The following endpoints should be created (or already exist in
src/infra/backup_scheduler.rs):UI Requirements
Backup List
Create Backup
Scheduled Backups
Restore
Acceptance Criteria
Parent Epic
#290