feat(class): improve class/id
This commit is contained in:
@@ -3,7 +3,7 @@ Schemas Pydantic pour ClassGroup.
|
||||
"""
|
||||
|
||||
from datetime import date
|
||||
from typing import Optional, List
|
||||
from typing import Optional, List, Dict
|
||||
|
||||
from pydantic import Field
|
||||
|
||||
@@ -117,6 +117,9 @@ class StudentAverage(BaseSchema):
|
||||
full_name: str
|
||||
average: Optional[float] = None
|
||||
assessment_count: int = 0
|
||||
assessment_scores: Dict[int, "AssessmentScore"] = {}
|
||||
domain_stats: Dict[int, "DomainStudentStats"] = {}
|
||||
competence_stats: Dict[int, "CompetenceStudentStats"] = {}
|
||||
|
||||
|
||||
class HistogramBin(BaseSchema):
|
||||
@@ -128,14 +131,43 @@ class HistogramBin(BaseSchema):
|
||||
count: int
|
||||
|
||||
|
||||
class AssessmentScore(BaseSchema):
|
||||
"""Score d'un élève pour une évaluation."""
|
||||
|
||||
assessment_id: int
|
||||
assessment_title: str
|
||||
score: Optional[float] = None
|
||||
max_points: float = 0.0
|
||||
score_on_20: Optional[float] = None
|
||||
|
||||
|
||||
class DomainStudentStats(BaseSchema):
|
||||
"""Statistiques d'un élève pour un domaine."""
|
||||
|
||||
domain_id: int
|
||||
evaluation_count: int = 0
|
||||
total_points_obtained: float = 0.0
|
||||
total_points_possible: float = 0.0
|
||||
|
||||
|
||||
class CompetenceStudentStats(BaseSchema):
|
||||
"""Statistiques d'un élève pour une compétence."""
|
||||
|
||||
competence_id: int
|
||||
evaluation_count: int = 0
|
||||
total_points_obtained: float = 0.0
|
||||
total_points_possible: float = 0.0
|
||||
|
||||
|
||||
class DomainStats(BaseSchema):
|
||||
"""Statistiques par domaine."""
|
||||
|
||||
id: int
|
||||
name: str
|
||||
color: str
|
||||
mean: Optional[float] = None
|
||||
elements_count: int = 0
|
||||
evaluation_count: int = 0
|
||||
total_points_obtained: float = 0.0
|
||||
total_points_possible: float = 0.0
|
||||
|
||||
|
||||
class CompetenceStats(BaseSchema):
|
||||
@@ -144,8 +176,9 @@ class CompetenceStats(BaseSchema):
|
||||
id: int
|
||||
name: str
|
||||
color: str
|
||||
mean: Optional[float] = None
|
||||
elements_count: int = 0
|
||||
evaluation_count: int = 0
|
||||
total_points_obtained: float = 0.0
|
||||
total_points_possible: float = 0.0
|
||||
|
||||
|
||||
class ClassDashboardStats(BaseSchema):
|
||||
|
||||
Reference in New Issue
Block a user