From 31ac43fd7a4f16295562aab8826bcb6929fbcc17 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Wed, 25 Feb 2026 16:57:20 +0100
Subject: [PATCH] fix: enable bidirectional sync pairs (int<->prod, dev<->int)

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

diff --git a/app/routers/sync_data.py b/app/routers/sync_data.py
index a51b47b..2fcc930 100644
--- a/app/routers/sync_data.py
+++ b/app/routers/sync_data.py
@@ -11,7 +11,7 @@
 router = APIRouter()
 
 # Only adjacent-environment sync paths are allowed (data flows down)
-_VALID_SYNC_PAIRS = {("prod", "int"), ("int", "dev")}
+_VALID_SYNC_PAIRS = {("prod", "int"), ("int", "dev"), ("int", "prod"), ("dev", "int")}
 
 
 def _sse_line(payload: dict) -> str:
@@ -68,7 +68,7 @@
     if (from_env, to_env) not in _VALID_SYNC_PAIRS:
         raise HTTPException(
             status_code=400,
-            detail=f"Invalid sync path '{from_env} -> {to_env}'. Only adjacent pairs are allowed: prod->int, int->dev.",
+            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),

--
Gitblit v1.3.1