from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from ...common import get_db from . import crud from . import schemas router = APIRouter(tags=["chinese_name"], prefix='/snake_name') @router.post("/add", summary="添加chinese_name", response_model=schemas.UpperCamelCaseNameAddRes) def snake_name_add(req: schemas.UpperCamelCaseNameAddReq, db: Session = Depends(get_db)): item = crud.snake_name_add(db, req) return schemas.UpperCamelCaseNameAddRes(**item.to_dict()) @router.post("/delete", summary="删除chinese_name") def snake_name_delete(req: schemas.UpperCamelCaseNameDeleteReq, db: Session = Depends(get_db)): crud.snake_name_delete(db, req) return "删除成功" @router.post("/update", summary="更新chinese_name", response_model=schemas.UpperCamelCaseNameUpdateRes) def snake_name_update(req: schemas.UpperCamelCaseNameUpdateReq, db: Session = Depends(get_db)): item = crud.snake_name_update(db, req) return schemas.UpperCamelCaseNameUpdateRes(**item.to_dict()) @router.post("/get", summary="获取chinese_name", response_model=schemas.UpperCamelCaseNameGetRes) def snake_name_get(req: schemas.UpperCamelCaseNameGetReq, db: Session = Depends(get_db)): item = crud.snake_name_get(db, req) if not item: raise HTTPException(detail="未查询到信息", status_code=404) return schemas.UpperCamelCaseNameGetRes(**item.to_full_dict()) @router.post("/query", summary="查询chinese_name", response_model=schemas.UpperCamelCaseNameQueryRes) def snake_name_query(req: schemas.UpperCamelCaseNameQueryReq, db: Session = Depends(get_db)): count, query = crud.snake_name_query(db, req) items = [schemas.UpperCamelCaseNameInfo(**item.to_full_dict(include=req.include, ex_include=req.ex_include, relation_use_id=req.relation_use_id)) for item in query] return schemas.UpperCamelCaseNameQueryRes(count=count, items=items) @router.post("/all", summary="获取所有chinese_name", response_model=schemas.UpperCamelCaseNameAllRes) def snake_name_all(req: schemas.UpperCamelCaseNameAllReq, db: Session = Depends(get_db)): query = crud.snake_name_all(db) items = [schemas.UpperCamelCaseNameInfo(**item.to_full_dict(include=req.include, ex_include=req.ex_include, relation_use_id=req.relation_use_id)) for item in query] return schemas.UpperCamelCaseNameAllRes(items=items) #########