Files
leaudit-platform-backend/fastapi_modules/fastapi_leaudit/controllers/rbacController.py
T
2026-04-29 22:25:06 +08:00

28 lines
1.1 KiB
Python

"""RBAC 路由控制器。"""
from typing import Any
from fastapi import Depends
from fastapi_common.fastapi_common_security.security import verify_access_token
from fastapi_common.fastapi_common_web.controller import BaseController
from fastapi_common.fastapi_common_web.domain.responses import Result
from fastapi_modules.fastapi_leaudit.domian.vo.rbacVo import RbacUserRoutesVO
from fastapi_modules.fastapi_leaudit.services import IRbacService
from fastapi_modules.fastapi_leaudit.services.impl.rbacServiceImpl import RbacServiceImpl
class RbacController(BaseController):
"""RBAC 路由控制器。"""
def __init__(self):
super().__init__(prefix="/rbac", tags=["RBAC"])
self.RbacService: IRbacService = RbacServiceImpl()
@self.router.get("/user/routes", response_model=Result[RbacUserRoutesVO])
async def GetCurrentUserRoutes(payload: dict[str, Any] = Depends(verify_access_token)):
"""获取当前登录用户可访问的前端路由树。"""
Data = await self.RbacService.GetCurrentUserRoutes(UserId=int(payload["user_id"]))
return Result.success(data=Data)