| 123456789101112131415161718192021222324252627282930313233 |
- from pydantic import BaseModel
- from typing import Optional, Dict, List, Any
- from datetime import datetime
- # Request schema for mapping
- class ImportMapping(BaseModel):
- start_row: int = 1
- # Mapping from database field (key) to Excel column index/name (value)
- # e.g. {"mobile": "A", "name": "B", "english_name": "C"} or {"mobile": 0, "name": 1}
- mapping: Dict[str, Any]
- class ImportLogBase(BaseModel):
- filename: str
- total_count: int
- success_count: int
- fail_count: int
- result_data: Optional[List[Dict[str, Any]]] = None
- class ImportLogCreate(ImportLogBase):
- created_by: int
- class ImportLog(ImportLogBase):
- id: int
- created_at: datetime
- created_by: Optional[int]
- class Config:
- from_attributes = True
- class ImportPreview(BaseModel):
- headers: List[str]
- preview_data: List[List[Any]] # First few rows
|