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
« 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
5class ModifyCoursesBody(BaseSchema):
6 course: Optional[str] = None
7 new_course: Optional[str] = None
8 teacher: Optional[str] = None
11class UpdateCourseBody(BaseSchema):
12 TAs: Optional[List[str]] = None
13 student_nicknames: Optional[Dict[str, Any]] = None
16class AddGradeBody(BaseSchema):
17 title: Optional[str] = None
18 content: Optional[str] = None
19 score: Optional[Any] = None
22class UpdateGradeBody(BaseSchema):
23 title: Optional[str] = None
24 new_title: Optional[str] = None
25 content: Optional[str] = None
26 score: Optional[Any] = None
29class DeleteGradeBody(BaseSchema):
30 title: Optional[str] = None
33class GetCourseScoreboardQuery(BaseSchema):
34 pids: Optional[str] = None
35 start: Optional[str] = None
36 end: Optional[str] = None