feat: add rbac-backed settings modules

This commit is contained in:
wren
2026-04-29 22:25:06 +08:00
parent b3ad4a6f33
commit 3a58f19d6c
23 changed files with 2979 additions and 7 deletions
@@ -0,0 +1,27 @@
"""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)