- Add SFTP upload support with paramiko
- Add database columns for offsite tracking (status, location, attempts, error)
- Add manual upload endpoint /api/v1/backups/offsite/{job_id}
- Add frontend button for offsite upload
- Add SFTP configuration in config.py
- Fix infinite loop in _ensure_remote_directory for relative paths
- Add upload verification and retry mechanism
- Add progress tracking and logging
21 lines
554 B
Python
21 lines
554 B
Python
"""
|
|
Backup Frontend Views
|
|
Serves HTML pages for backup system dashboard
|
|
"""
|
|
|
|
from fastapi import APIRouter, Request
|
|
from fastapi.templating import Jinja2Templates
|
|
from fastapi.responses import HTMLResponse
|
|
|
|
router = APIRouter()
|
|
templates = Jinja2Templates(directory="app/backups/templates")
|
|
|
|
|
|
@router.get("/backups", response_class=HTMLResponse)
|
|
async def backups_dashboard(request: Request):
|
|
"""Backup system dashboard page"""
|
|
return templates.TemplateResponse("index.html", {
|
|
"request": request,
|
|
"title": "Backup System"
|
|
})
|