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

1from typing import List, Optional, Dict, Any 

2from datetime import datetime 

3from pydantic import BaseModel 

4 

5class DataExportBase(BaseModel): 

6 export_type: str 

7 format: str 

8 filters: Optional[Dict[str, Any]] = None 

9 

10class DataExportCreate(DataExportBase): 

11 pass 

12 

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 

22 

23 class Config: 

24 from_attributes = True 

25 

26class DataImportBase(BaseModel): 

27 import_type: str 

28 format: str 

29 

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 

42 

43 class Config: 

44 from_attributes = True 

45 

46class PaginatedDataExport(BaseModel): 

47 items: List[DataExport] 

48 total: int 

49 page: int 

50 size: int 

51 

52class PaginatedDataImport(BaseModel): 

53 items: List[DataImport] 

54 total: int 

55 page: int 

56 size: int