37 lines
1.8 KiB
Python
37 lines
1.8 KiB
Python
from fastapi import APIRouter,Depends,HTTPException
|
|
from Teachers.schema import *
|
|
from Teachers.database import *
|
|
from Teachers.model.tea_model import *
|
|
from Teachers.dao.tea_dao import *
|
|
from Teachers.schema.tea_request import TeaRequest,NewTeaRequest
|
|
from Teachers.schema.tea_response import TeaResponse
|
|
|
|
tea_api = APIRouter()
|
|
|
|
@tea_api.post('/tea',response_model=TeaResponse,summary='新增老师',description='输入新增的老师信息,除去姓名外可以为空')
|
|
def add_tea(tea: NewTeaRequest,db=Depends(get_db)):
|
|
r = add_tea_dao(tea.model_dump(),db)
|
|
if not r:
|
|
raise HTTPException(status_code=500,detail='添加失败!')
|
|
return TeaResponse(totals=1,data=tea.model_dump())
|
|
@tea_api.get('/tea',response_model=TeaResponse,summary='查询老师',description='任意选择输入的信息数量,不输入则查询全部老师')
|
|
def get_tea(t:TeaRequest=Depends(),db=Depends(get_db)): #开启会话窗口
|
|
r = get_tea_dao(t.model_dump(),db=db)
|
|
if not r:
|
|
raise HTTPException(status_code=404,detail='老师不存在')
|
|
return TeaResponse(totals=len(r), data=r)
|
|
@tea_api.delete('/tea/{id}',summary='删除老师',description='输入删除的老师id')
|
|
def delete_tea(id:int|None,db=Depends(get_db)):
|
|
r = delete_tea_dao(id,db)
|
|
if not r:
|
|
raise HTTPException(status_code=500,detail='删除失败!')
|
|
return {'detail':'删除成功!'}
|
|
|
|
@tea_api.put('/tea/{id}',summary='修改老师信息',description='输入更改的信息,老师的姓名和性别不能为空,其余可以为空')
|
|
def update_tea(id:int,tea:NewTeaRequest,db=Depends(get_db)):
|
|
t = tea.model_dump(exclude_unset= True)
|
|
r = update_tea_dao(id=id,update_data=t,db=db)
|
|
if not r:
|
|
raise HTTPException(status_code=404,detail='老师不存在')
|
|
return {'detail':'修改成功'}
|