first commit
This commit is contained in:
49
backend/app/schemas/backup.py
Normal file
49
backend/app/schemas/backup.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from datetime import datetime
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class BackupResponse(BaseModel):
|
||||
id: int
|
||||
router_id: int
|
||||
router_name: str | None = None
|
||||
file_path: str
|
||||
file_name: str
|
||||
backup_type: str
|
||||
checksum: str | None = None
|
||||
file_size: int | None = None
|
||||
created_at: datetime
|
||||
|
||||
model_config = {'from_attributes': True}
|
||||
|
||||
|
||||
class BackupDiffLine(BaseModel):
|
||||
type: Literal['context', 'added', 'removed', 'modified']
|
||||
left_number: int | None = None
|
||||
right_number: int | None = None
|
||||
left_text: str = ''
|
||||
right_text: str = ''
|
||||
|
||||
|
||||
class BackupDiffStats(BaseModel):
|
||||
added: int = 0
|
||||
removed: int = 0
|
||||
modified: int = 0
|
||||
context: int = 0
|
||||
|
||||
|
||||
class BackupDiffResponse(BaseModel):
|
||||
left_backup_id: int
|
||||
right_backup_id: int
|
||||
left_file_name: str | None = None
|
||||
right_file_name: str | None = None
|
||||
diff_text: str
|
||||
diff_html: str | None = None
|
||||
stats: BackupDiffStats | None = None
|
||||
lines: list[BackupDiffLine] = []
|
||||
|
||||
|
||||
class BulkActionRequest(BaseModel):
|
||||
action: Literal['download', 'delete']
|
||||
backup_ids: list[int]
|
||||
Reference in New Issue
Block a user