Files
server/users/permissions.py
T

28 lines
788 B
Python

# api/permissions.py
from loguru import logger
from ninja import Router
from users.models import Menu
from users.permission import build_menu_tree, get_user_permissions
router = Router(tags=['perms'])
# ========== 用户专属接口 ==========
@router.get("/menus/", summary="获取当前用户菜单树")
def get_user_menu_tree(request):
menus = Menu.objects.filter(
roles__users__id=request.auth.id,
menu_type__in=[0, 1],
status=True
).order_by('order_num')
tree_menus = build_menu_tree(list(menus))
logger.info(tree_menus)
return tree_menus
@router.get("/permissions/", summary="获取当前用户按钮权限")
def get_user_permissions_api(request):
perms = get_user_permissions(request.auth.id)
return {"permissions": perms}