From 5d0247159b125bf035285d56c2b9bb58d6bb3029 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Thu, 26 Feb 2026 14:39:34 +0100
Subject: [PATCH] feat: backup download endpoint + skip-backup sync option

---
 app/routers/sync_data.py |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/app/routers/sync_data.py b/app/routers/sync_data.py
index 2fcc930..1b41a22 100644
--- a/app/routers/sync_data.py
+++ b/app/routers/sync_data.py
@@ -29,6 +29,7 @@
     db_only: bool,
     uploads_only: bool,
     dry_run: bool = False,
+    skip_backup: bool = False,
 ) -> AsyncGenerator[str, None]:
     """Stream sync output via SSE."""
     args = ["sync", project, "--from", from_env, "--to", to_env]
@@ -38,6 +39,8 @@
         args.append("--uploads-only")
     if dry_run:
         args.append("--dry-run")
+    if skip_backup:
+        args.append("--skip-backup")
 
     mode = "db-only" if db_only else ("uploads-only" if uploads_only else "full")
     yield _sse_line({
@@ -62,6 +65,7 @@
     db_only: bool = Query(default=False),
     uploads_only: bool = Query(default=False),
     dry_run: bool = Query(default=False),
+    skip_backup: bool = Query(default=False),
     _: str = Depends(verify_token),
 ) -> StreamingResponse:
     """Sync data backward (prod->int, int->dev) with SSE streaming."""
@@ -71,7 +75,7 @@
             detail=f"Invalid sync path '{from_env} -> {to_env}'. Only adjacent pairs are allowed: prod<->int, int<->dev.",
         )
     return StreamingResponse(
-        _sync_generator(project, from_env, to_env, db_only, uploads_only, dry_run),
+        _sync_generator(project, from_env, to_env, db_only, uploads_only, dry_run, skip_backup),
         media_type="text/event-stream",
         headers={
             "Cache-Control": "no-cache",

--
Gitblit v1.3.1