Spaces:
Build error
Build error
| from manage import crud | |
| from typing import Any, List | |
| from fastapi import APIRouter, Depends | |
| from sqlalchemy.orm import Session | |
| from utils import deps | |
| from cruds import crud_course | |
| from schemas.course import Course, CourseCreate, CourseUpdate | |
| from core import settings | |
| from models import User | |
| from fastapi import HTTPException | |
| router = APIRouter() | |
| # get course, can be called by any user (1 through 4) | |
| def get_course( | |
| current_user: User = Depends(deps.get_current_active_user), | |
| db: Session = Depends(deps.get_db), | |
| skip: int = 0, | |
| limit: int = 100, | |
| ) -> Any: | |
| course = crud_course.get_multi(db, skip=skip, limit=limit) | |
| return course | |
| # add a new course, only executed if the user is either a super admin or admin | |
| def create_course( | |
| db: Session = Depends(deps.get_db), | |
| *, | |
| obj_in: CourseCreate, | |
| current_user: User = Depends(deps.get_current_admin_or_above), | |
| ) -> Any: | |
| crud_course.create(db, obj_in=obj_in) | |
| return {"status": "success"} | |
| # get a specific course, can be called by any user (1 through 4) | |
| def get_specific_course( | |
| current_user: User = Depends(deps.get_current_active_user), | |
| db: Session = Depends(deps.get_db), | |
| *, | |
| id: int, | |
| ) -> Any: | |
| course = crud_course.get(db, id) | |
| return course | |
| # update a specific user, can be called by only admin and superadmin | |
| def update_course( | |
| db: Session = Depends(deps.get_db), | |
| *, | |
| id: int, | |
| obj_in: CourseUpdate, | |
| current_user: User = Depends(deps.get_current_admin_or_above), | |
| ) -> Any: | |
| course = crud_course.get(db, id) | |
| crud_course.update(db, db_obj=course, obj_in=obj_in) | |
| return {"status": "success"} | |
| async def delete_course( | |
| db: Session = Depends(deps.get_db), | |
| user=Depends(deps.get_current_admin_or_above), | |
| *, | |
| course_id: int, | |
| ): | |
| crud_course.remove(db=db, id=course_id) | |
| return {"msg": "success"} | |