27 lines
1.2 KiB
Python
Raw Permalink Normal View History

2025-12-10 12:02:17 +08:00
from typing import List
from fastapi import APIRouter, Depends
from ..dependencies import AuthUser, get_current_user
from ..models import RoleName
from ..schemas import MenuItem
router = APIRouter(prefix="/api/v1/menus", tags=["menus"])
@router.get("", response_model=List[MenuItem])
async def get_menus(auth_user: AuthUser = Depends(get_current_user)) -> List[MenuItem]:
base_menus = [
MenuItem(label="EC2 实例", key="instances", path="/instances", icon="desktop"),
MenuItem(label="AWS 凭证", key="credentials", path="/credentials", icon="key"),
MenuItem(label="任务中心", key="jobs", path="/jobs", icon="tasks"),
MenuItem(label="审计日志", key="audit", path="/audit", icon="history"),
]
if auth_user.role_name == RoleName.ADMIN.value:
base_menus.insert(0, MenuItem(label="仪表盘", key="dashboard", path="/"))
base_menus.append(MenuItem(label="客户管理", key="customers", path="/customers", icon="team"))
base_menus.append(MenuItem(label="用户管理", key="users", path="/users", icon="user"))
elif auth_user.role_name == RoleName.CUSTOMER_ADMIN.value:
base_menus.append(MenuItem(label="用户管理", key="users", path="/users", icon="user"))
return base_menus