| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- from typing import Optional, List, Dict
- from pydantic import BaseModel
- from datetime import datetime
- from app.models.backup import BackupType
- class BackupRecordBase(BaseModel):
- filename: str
- backup_type: BackupType
- content_types: Optional[str] = None
- file_size: Optional[int] = None
- class BackupRecordCreate(BackupRecordBase):
- file_path: str
- class BackupRecord(BackupRecordBase):
- id: int
- created_at: datetime
- class Config:
- from_attributes = True
- class BackupRecordList(BaseModel):
- total: int
- items: List[BackupRecord]
- class BackupSettingsBase(BaseModel):
- auto_backup_enabled: bool
- backup_time: str # "HH:MM"
- class BackupSettingsUpdate(BackupSettingsBase):
- pass
- class BackupSettings(BackupSettingsBase):
- id: int
- last_backup_at: Optional[datetime] = None
- updated_at: datetime
- class Config:
- from_attributes = True
- class RestorePreviewResponse(BaseModel):
- csv_headers: List[str]
- db_columns: List[str]
- class RestoreRequest(BaseModel):
- restore_type: str # "APPLICATIONS", "USERS", "MAPPINGS"
- field_mapping: Dict[str, str] # csv_header -> db_column
- password: str
- captcha_id: str
- captcha_code: str
|