diff --git a/app/api/replicas.py b/app/api/replicas.py index 772939f..e6fd0b0 100644 --- a/app/api/replicas.py +++ b/app/api/replicas.py @@ -176,6 +176,18 @@ def unsuspend_replica(replica_id: int, session: Session = Depends(get_session)): return _serialize(replica) +@router.post("/{replica_id}/reset-ts") +def reset_replica_sync_ts(replica_id: int, session: Session = Depends(get_session)): + """Reset last_sync_ts to None so the next sync fetches all master docs. Does NOT touch sync_map.""" + replica = session.get(Replica, replica_id) + if not replica: + raise HTTPException(404) + replica.last_sync_ts = None + session.add(replica) + session.commit() + return {"ok": True, "replica_id": replica_id} + + @router.post("/{replica_id}/resync") async def resync_replica(replica_id: int, session: Session = Depends(get_session)): """Wipe sync_map, reset last_sync_ts, and trigger a full resync."""