from fastapi import APIRouter, Depends
|
from app.api import Response, pwd_context, get_current_user
|
from app.models.base_model import get_db
|
from app.models.user_model import UserModel
|
from app.service.resource import get_resource_tree, get_resource_info, delete_resource_info
|
|
menu_router = APIRouter()
|
|
|
@menu_router.get("/tree_select", response_model=Response)
|
async def resource_tree_select(current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
|
return Response(code=200, msg="", data=await get_resource_tree(db))
|
|
@menu_router.get("/{menuId}", response_model=Response)
|
async def resource_info(menuId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
|
|
return Response(code=200, msg="", data=await get_resource_info(db, menuId))
|
|
|
@menu_router.delete("/{menuId}", response_model=Response)
|
async def delete_resource(menuId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
|
is_edit = await delete_resource_info(db, menuId)
|
if not is_edit:
|
return Response(code=500, msg="menu delete failure", data={})
|
return Response(code=200, msg="menu delete successfully", data={})
|
|
|
@menu_router.post("/add_menu", response_model=Response)
|
async def add_dept(dept: DeptInfo, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
|
if not dept.deptName:
|
return Response(code=400, msg="The deptName cannot be empty!")
|
if dept.status not in ["0", "1"]:
|
return Response(code=400, msg="The status cannot be {}!".format(dept.status))
|
is_create = await create_dept(db, dept.deptName, dept.leader, dept.phone, dept.address, dept.status, dept.orderNum, dept.roles, dept.groups, dept.parentId)
|
if not is_create:
|
return Response(code=500, msg="dept create failure", data={})
|
return Response(code=200, msg="dept create successfully", data={})
|