"""系统级权限查询API""" from __future__ import annotations from fastapi import APIRouter, Depends from app.core.deps import require_roles from app.core.api_permissions import SYSTEM_PERMISSIONS, SYSTEM_MODULE_LABELS from app.models.user import UserRole router = APIRouter(prefix="/system-permissions", tags=["system-permissions"]) @router.get( "", summary="获取系统级权限定义", description="返回管理后台所有系统级操作的权限定义,仅 ADMIN 可访问", ) async def list_system_permissions( _=Depends(require_roles([UserRole.ADMIN.value])), ) -> dict: permissions_list = [ { "permission_key": key, "module": config["module"], "module_label": SYSTEM_MODULE_LABELS.get(config["module"], config["module"]), "action": config["action"], "description": config["description"], "roles": config["roles"], } for key, config in SYSTEM_PERMISSIONS.items() ] return { "permissions": permissions_list, "module_labels": SYSTEM_MODULE_LABELS, }