from typing import List from sqlalchemy.orm import Session from app.models.grade import Grade from app.schemas.grade import GradeCreate, GradeUpdate from app.services.base import CRUDBase class CRUDGrade(CRUDBase[Grade, GradeCreate, GradeUpdate]): def get_by_student(self, db: Session, *, student_id: int) -> List[Grade]: return db.query(Grade).filter(Grade.student_id == student_id).all() def get_by_subject(self, db: Session, *, subject_id: int) -> List[Grade]: return db.query(Grade).filter(Grade.subject_id == subject_id).all() def get_by_student_and_subject(self, db: Session, *, student_id: int, subject_id: int) -> List[Grade]: return db.query(Grade).filter( Grade.student_id == student_id, Grade.subject_id == subject_id ).all() grade_service = CRUDGrade(Grade)