Coverage for model/schemas/course.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2026-07-24 16:42 +0000

1from typing import Any, Dict, List, Optional 

2from .base import BaseSchema 

3 

4 

5class ModifyCoursesBody(BaseSchema): 

6 course: Optional[str] = None 

7 new_course: Optional[str] = None 

8 teacher: Optional[str] = None 

9 

10 

11class UpdateCourseBody(BaseSchema): 

12 TAs: Optional[List[str]] = None 

13 student_nicknames: Optional[Dict[str, Any]] = None 

14 

15 

16class AddGradeBody(BaseSchema): 

17 title: Optional[str] = None 

18 content: Optional[str] = None 

19 score: Optional[Any] = None 

20 

21 

22class UpdateGradeBody(BaseSchema): 

23 title: Optional[str] = None 

24 new_title: Optional[str] = None 

25 content: Optional[str] = None 

26 score: Optional[Any] = None 

27 

28 

29class DeleteGradeBody(BaseSchema): 

30 title: Optional[str] = None 

31 

32 

33class GetCourseScoreboardQuery(BaseSchema): 

34 pids: Optional[str] = None 

35 start: Optional[str] = None 

36 end: Optional[str] = None