from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from Context.common import common_db from . import Schemas from . import Crud from Utils.SqlAlchemyUtils import QueryParams, query_common from .Models import EditItemType router = APIRouter(tags=["修改项类型"]) @router.post("/edit_item_type/add", summary="添加修改项类型", response_model=Schemas.EditItemTypeAddRes) def edit_item_type_add(req: Schemas.EditItemTypeAddReq, db: Session = Depends(common_db.get_db)): item = Crud.edit_item_type_add(db, req) return Schemas.EditItemTypeAddRes(**item.to_dict()) @router.post("/edit_item_type/delete", summary="删除修改项类型") def edit_item_type_delete(req: Schemas.EditItemTypeDeleteReq, db: Session = Depends(common_db.get_db)): Crud.edit_item_type_delete(db, req.id) return "删除成功" @router.post("/edit_item_type/update", summary="更新修改项类型", response_model=Schemas.EditItemTypeUpdateRes) def edit_item_type_update(req: Schemas.EditItemTypeUpdateReq, db: Session = Depends(common_db.get_db)): item = Crud.edit_item_type_update(db, req) return Schemas.EditItemTypeUpdateRes(**item.to_dict()) @router.post("/edit_item_type/get", summary="获取修改项类型", response_model=Schemas.EditItemTypeGetRes) def edit_item_type_get(req: Schemas.EditItemTypeGetReq, db: Session = Depends(common_db.get_db)): item = Crud.edit_item_type_get(db, req.id) if not item: raise HTTPException(detail="未查询到信息", status_code=404) return Schemas.EditItemTypeGetRes(**item.to_dict()) @router.post("/edit_item_type/query", summary="查询修改项类型", response_model=Schemas.EditItemTypeQueryRes) def edit_item_type_query(req: Schemas.EditItemTypeQueryReq, db: Session = Depends(common_db.get_db)): count, query = Crud.edit_item_type_query(db, req) items = [Schemas.EditItemTypeInfo(**item.to_dict()) for item in query] return Schemas.EditItemTypeQueryRes(count=count, items=items) @router.post("/edit_item_type/query_common", summary="通用查询修改项类型", response_model=Schemas.EditItemTypeQueryRes) def edit_item_type_query_common(req: QueryParams, db: Session = Depends(common_db.get_db)): count, query = query_common(db, EditItemType, req) items = [Schemas.EditItemTypeInfo(**item.to_dict()) for item in query] return Schemas.EditItemTypeQueryRes(count=count, items=items) #########