Implement backup functionality with UI and backend support

Co-authored-by: Koha9 <36852125+Koha9@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-12-04 23:21:26 +00:00
parent 7b14445387
commit b483edae74
7 changed files with 489 additions and 7 deletions
+24
View File
@@ -144,6 +144,30 @@ class ScheduleSettings(BaseModel):
autoWatch: bool
class BackupSettingsPayload(BaseModel):
enabled: bool
retention_count: int
@app.get("/api/backup/settings")
async def get_backup_settings():
server_config.load()
return {
"enabled": server_config.backup_enabled,
"retention_count": server_config.backup_retention_count
}
@app.put("/api/backup/settings")
async def save_backup_settings(settings: BackupSettingsPayload):
server_config.set_backup(
enabled=settings.enabled,
retention_count=settings.retention_count
)
logger.info(f"Backup settings updated. Enabled: {settings.enabled}, Retention: {settings.retention_count}")
return {"status": "success", "message": "Backup settings saved"}
@app.get("/api/schedule")
async def get_schedule():
next_run = get_next_run_time()