- BackupSchedule model + schedule_service: next-run calc (hourly/daily/weekly, UTC), background scheduler loop (lifespan), run-one with retention pruning (keep newest N per stack on the destination), backup_failed notify event. - routers/schedules.py: schedules CRUD + run-now; registered in main.py. - Frontend: api/schedules.ts + Settings → Scheduled backups (list with next/last run + status, enable/disable, run-now, delete; add form with stack/destination/ frequency/time/weekday/retention/volumes). Rough-verified only (per request): py_compile, frontend tsc build, app import (95 routes), next-run math sanity. Full live run to be tested after deploy. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
520 B
Python
15 lines
520 B
Python
"""SQLModel table models. Importing this package registers all tables."""
|
|
from models.agent import Agent
|
|
from models.audit import AuditLog
|
|
from models.backup_destination import BackupDestination
|
|
from models.backup_schedule import BackupSchedule
|
|
from models.setting import Setting, Webhook
|
|
from models.stack import Stack
|
|
from models.template import Template
|
|
from models.user import User
|
|
|
|
__all__ = [
|
|
"User", "Stack", "AuditLog", "Template", "Setting", "Webhook", "Agent",
|
|
"BackupDestination", "BackupSchedule",
|
|
]
|