29 lines
978 B
Python
29 lines
978 B
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
from schema.course_request import CourseRequest, CourseResponse
|
|
from database import get_db
|
|
from dao.course_dao import (
|
|
add_course_dao, get_all_courses_dao, get_course_by_id_dao
|
|
)
|
|
|
|
course_api = APIRouter()
|
|
|
|
|
|
@course_api.post('', response_model=CourseResponse, summary='添加课程')
|
|
def add_course(course: CourseRequest, db=Depends(get_db)):
|
|
d = course.model_dump()
|
|
r = add_course_dao(o=d, db=db)
|
|
if not r:
|
|
raise HTTPException(status_code=500, detail='添加失败!')
|
|
return CourseResponse(totals=1, data=d)
|
|
|
|
|
|
@course_api.get('/{course_id}', summary='按编号查课程')
|
|
def get_course(course_id: str, db=Depends(get_db)):
|
|
c = get_course_by_id_dao(course_id=course_id, db=db)
|
|
if not c:
|
|
raise HTTPException(status_code=404, detail='课程不存在')
|
|
return {
|
|
'course_id': c.course_id,
|
|
'course_name': c.course_name,
|
|
'teacher_id': c.teacher_id,
|
|
} |