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
+24
View File
@@ -82,6 +82,11 @@ class JobCreate(BaseModel):
name: str
source_path: str
file_patterns: str = "*.bak,*.mdf"
exclude_patterns: str = ""
skip_hidden: bool = False
skip_system: bool = False
skip_readonly: bool = False
sync_deletions: bool = False
schedule_cron: str = "0 2 * * *"
keep_daily: int = 7
keep_weekly: int = 4
@@ -92,6 +97,11 @@ class JobUpdate(BaseModel):
name: Optional[str] = None
source_path: Optional[str] = None
file_patterns: Optional[str] = None
exclude_patterns: Optional[str] = None
skip_hidden: Optional[bool] = None
skip_system: Optional[bool] = None
skip_readonly: Optional[bool] = None
sync_deletions: Optional[bool] = None
schedule_cron: Optional[str] = None
is_active: Optional[bool] = None
keep_daily: Optional[int] = None
@@ -106,6 +116,11 @@ class JobResponse(BaseModel):
name: str
source_path: str
file_patterns: str
exclude_patterns: str
skip_hidden: bool
skip_system: bool
skip_readonly: bool
sync_deletions: bool
schedule_cron: str
is_active: bool
keep_daily: int
@@ -122,6 +137,7 @@ class JobResponse(BaseModel):
# --- Upload Session & Chunk Schemas ---
class UploadSessionInitRequest(BaseModel):
filename: str
client_relative_path: Optional[str] = None
file_size: int
sha256: str
chunk_size: int = 4 * 1024 * 1024
@@ -234,8 +250,16 @@ class AgentJobRegister(BaseModel):
name: str
source_path: str
file_patterns: str = "*.bak,*.mdf"
exclude_patterns: str = ""
skip_hidden: bool = False
skip_system: bool = False
skip_readonly: bool = False
sync_deletions: bool = False
schedule_cron: str = "daily"
keep_daily: int = 7
keep_weekly: int = 4
keep_monthly: int = 12
min_stable_time_seconds: int = 60
class PurgeOrphansRequest(BaseModel):
active_relative_paths: List[str]