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

1from typing import Optional 

2from pydantic import BaseModel, ConfigDict 

3 

4 

5class AttrModel(BaseModel): 

6 model_config = ConfigDict(from_attributes=True) 

7 

8 

9class QuestionScore(AttrModel): 

10 question_id: int 

11 issue_id: int 

12 scoreset_id: Optional[str] = None 

13 score: Optional[float] = None 

14 

15 

16class SectionScore(AttrModel): 

17 section_id: int 

18 issue_id: int 

19 question_count: int 

20 questions_scored: int 

21 score: Optional[float] = None 

22 

23 

24class ScoreSummary(AttrModel): 

25 subsections: list[SectionScore] 

26 questions: list[QuestionScore]