2022-09-16 03:52:08 +00:00
|
|
|
from core.utils import list_to_tree
|
2022-09-19 10:02:37 +00:00
|
|
|
from dbhelper.menu import del_menu, get_menu, get_tree_menu, insert_menu, put_menu
|
2022-09-16 09:37:24 +00:00
|
|
|
from schemas import MenuIn, MenuRead, Response
|
2022-09-11 10:34:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
async def menu_add(data: MenuIn) -> Response[MenuRead]:
|
2022-09-12 07:11:12 +00:00
|
|
|
return Response(data=await insert_menu(data))
|
2022-09-12 15:22:18 +00:00
|
|
|
|
|
|
|
|
2022-09-16 09:37:24 +00:00
|
|
|
async def menu_arr() -> Response:
|
2022-09-16 03:52:08 +00:00
|
|
|
menus = await get_tree_menu()
|
2022-09-19 10:02:37 +00:00
|
|
|
try:
|
|
|
|
data = list_to_tree(menus)
|
|
|
|
except KeyError:
|
|
|
|
return Response(code=400, msg="菜单根节点丢失")
|
|
|
|
return Response(data=data)
|
2022-09-12 15:22:18 +00:00
|
|
|
|
|
|
|
|
|
|
|
async def menu_del(pk: int) -> Response:
|
2022-09-19 10:02:37 +00:00
|
|
|
if await get_menu({"pid": pk}) is not None:
|
|
|
|
return Response(code=400, msg="请先删除子节点")
|
2022-09-12 15:22:18 +00:00
|
|
|
if await del_menu(pk) == 0:
|
|
|
|
return Response(code=400, msg="菜单不存在")
|
|
|
|
return Response()
|
2022-09-13 08:53:31 +00:00
|
|
|
|
|
|
|
|
|
|
|
async def menu_put(pk: int, data: MenuIn) -> Response:
|
|
|
|
"""更新菜单"""
|
|
|
|
if await put_menu(pk, data) == 0:
|
|
|
|
return Response(code=400, msg="菜单不存在")
|
|
|
|
return Response()
|