feat: implementar Fase 2 del roadmap (Modo Replica Exacta / Mirroring)

This commit is contained in:
Carlos Tello
2026-08-14 21:50:00 -03:00
parent a72cf1480e
commit a1cafff90e
14 changed files with 421 additions and 14 deletions
+6 -1
View File
@@ -16,7 +16,8 @@ async def create_or_resume_session(
file_size: int,
sha256_full: str,
chunk_size: int = 4 * 1024 * 1024,
job_id: Optional[int] = None
job_id: Optional[int] = None,
client_relative_path: Optional[str] = None
) -> Tuple[BackupSession, List[int]]:
"""
Initializes a new upload session or resumes an existing incomplete session
@@ -63,6 +64,8 @@ async def create_or_resume_session(
# Resume existing session
received_chunks = await storage_provider.get_received_chunks(session.session_code)
session.received_chunks_count = len(received_chunks)
if client_relative_path:
session.client_relative_path = client_relative_path
await db.commit()
await db.refresh(session)
return session, received_chunks
@@ -72,6 +75,7 @@ async def create_or_resume_session(
client_id=client.id,
job_id=job_id,
filename=filename,
client_relative_path=client_relative_path or filename,
file_size=file_size,
chunk_size=chunk_size,
total_chunks=total_chunks,
@@ -242,6 +246,7 @@ async def complete_session(
session_id=session.id,
filename=session.filename,
relative_path=rel_path,
client_relative_path=session.client_relative_path or session.filename,
file_size=total_bytes,
sha256=final_sha256,
retention_tag="DAILY",