Coverage for app\schemas\data.py: 100%
47 statements
« prev ^ index » next coverage.py v7.3.2, created at 2026-01-15 13:39 +0300
« prev ^ index » next coverage.py v7.3.2, created at 2026-01-15 13:39 +0300
1from typing import List, Optional, Dict, Any
2from datetime import datetime
3from pydantic import BaseModel
5class DataExportBase(BaseModel):
6 export_type: str
7 format: str
8 filters: Optional[Dict[str, Any]] = None
10class DataExportCreate(DataExportBase):
11 pass
13class DataExport(DataExportBase):
14 id: str
15 file_path: str
16 file_size: int
17 status: str
18 requested_by: str
19 completed_at: Optional[datetime] = None
20 expires_at: Optional[datetime] = None
21 created_at: datetime
23 class Config:
24 from_attributes = True
26class DataImportBase(BaseModel):
27 import_type: str
28 format: str
30class DataImport(DataImportBase):
31 id: str
32 file_path: str
33 file_size: int
34 row_count: int
35 success_count: int
36 error_count: int
37 status: str
38 validation_errors: Optional[List[Dict[str, Any]]] = None
39 imported_by: str
40 completed_at: Optional[datetime] = None
41 created_at: datetime
43 class Config:
44 from_attributes = True
46class PaginatedDataExport(BaseModel):
47 items: List[DataExport]
48 total: int
49 page: int
50 size: int
52class PaginatedDataImport(BaseModel):
53 items: List[DataImport]
54 total: int
55 page: int
56 size: int