Skip to content

Backup & Restore Management Page #296

@ElioNeto

Description

@ElioNeto

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

  • Backup list loads and displays correctly
  • Manual backup creation works
  • Schedule configuration displays and updates
  • Restore flow has proper confirmation
  • Error states handled for each operation
  • Loading states shown during operations
  • Responsive layout

Parent Epic

#290

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions