Spaces:
Build error
Build error
| from cruds.base import CRUDBase | |
| from schemas.assignment import AssignmentCreate, AssignmentUpdate | |
| from models.assignment import Assignment | |
| from sqlalchemy.orm import Session | |
| from cruds import crud_user, crud_group | |
| from models import User | |
| from typing import Any | |
| class CRUDAssignment(CRUDBase[Assignment, AssignmentCreate, AssignmentUpdate]): | |
| def create(self, db: Session, *, obj_in: AssignmentCreate) -> Any: | |
| if obj_in.instructor: | |
| instructor = [crud_user.get(db=db, id=id) for id in obj_in.instructor] | |
| else: | |
| instructor = [] | |
| if obj_in.group: | |
| group = [crud_group.get(db=db, id=id) for id in obj_in.group] | |
| else: | |
| group = [] | |
| db_obj = Assignment( | |
| due_date=obj_in.due_date, | |
| marks=obj_in.marks, | |
| title=obj_in.title, | |
| contents=obj_in.contents, | |
| instructor=instructor, | |
| group=group, | |
| course_id=obj_in.course_id, | |
| ) | |
| db.add(db_obj) | |
| db.commit() | |
| db.refresh(db_obj) | |
| return db_obj | |
| def get_quiz_by_group_id(self, db: Session, *, group: int) -> Any: | |
| return db.query(self.model).filter(self.model.group.contains(group)).all() | |
| def get_quiz_by_instructor_id(self, db: Session, *, user: User) -> Any: | |
| return db.query(self.model).filter(self.model.instructor.contains(user)).all() | |
| crud_assignment = CRUDAssignment(Assignment) | |