Coverage for app\schemas\trust.py: 100%
33 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 pydantic import BaseModel
2from typing import Optional, Dict, Any, List
3from datetime import datetime
5class InferenceLogBase(BaseModel):
6 school_id: str
7 module_id: Optional[str] = None
8 video_id: Optional[str] = None
9 frame_timestamp: Optional[float] = None
10 confidence: float
11 is_valid: bool
12 keypoints: Optional[Dict[str, Any]] = None
13 metadata_json: Optional[Dict[str, Any]] = None
15class InferenceLogCreate(InferenceLogBase):
16 pass
18class InferenceLog(InferenceLogBase):
19 id: str
20 timestamp: datetime
21 created_at: datetime
23 class Config:
24 from_attributes = True
26class JudgementReviewBase(BaseModel):
27 inference_id: str
28 original_verdict: str
29 corrected_verdict: str
30 correction_reason: Optional[str] = None
32class JudgementReviewCreate(JudgementReviewBase):
33 pass
35class JudgementReview(JudgementReviewBase):
36 id: str
37 reviewer_id: str
38 reviewed_at: datetime
40 class Config:
41 from_attributes = True