Coverage for rfpy/web/serial/scoremodels.py: 100%
18 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
1from typing import Optional
2from pydantic import BaseModel, ConfigDict
5class AttrModel(BaseModel):
6 model_config = ConfigDict(from_attributes=True)
9class QuestionScore(AttrModel):
10 question_id: int
11 issue_id: int
12 scoreset_id: Optional[str] = None
13 score: Optional[float] = None
16class SectionScore(AttrModel):
17 section_id: int
18 issue_id: int
19 question_count: int
20 questions_scored: int
21 score: Optional[float] = None
24class ScoreSummary(AttrModel):
25 subsections: list[SectionScore]
26 questions: list[QuestionScore]