feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
@@ -23,7 +23,8 @@ class EntryModuleController(BaseController):
@self.router.get("")
async def GetEntryModules(
name: str | None = Query(None, description="模块名称模糊搜索"),
area: str | None = Query(None, description="地区筛选"),
area: str | None = Query(None, description="历史地区筛选(兼容参数,建议改用 tenant_code"),
tenant_code: str | None = Query(None, description="租户编码筛选"),
page: int = Query(1, ge=1, description="页码"),
page_size: int = Query(10, ge=1, le=200, description="每页数量"),
payload: dict = Depends(verify_access_token),
@@ -31,7 +32,13 @@ class EntryModuleController(BaseController):
"""查询入口模块列表。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "entry_module:list:read"):
return JSONResponse(status_code=403, content={"code": 403, "msg": "当前用户没有入口模块列表权限", "data": None})
data = await self.EntryModuleService.ListModules(Name=name, Area=area, Page=page, PageSize=page_size)
data = await self.EntryModuleService.ListModules(
Name=name,
Area=area,
TenantCode=tenant_code,
Page=page,
PageSize=page_size,
)
return JSONResponse(status_code=200, content={"code": 0, "msg": "success", "data": data.model_dump()})
@self.router.get("/{ModuleId}")