from fastapi import APIRouter, Depends, Query from app.core.auth import get_current_admin_user import app.services.admin_dashboard_service as admin_dashboard_service router = APIRouter() @router.get("/admin/dashboard/stats") async def get_dashboard_stats(current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.get_dashboard_stats(current_user) @router.get("/admin/online-users") async def get_online_users(current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.get_online_users(current_user) @router.post("/admin/kick-user/{user_id}") async def kick_user(user_id: int, current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.kick_user(user_id, current_user) @router.get("/admin/tasks/monitor") async def monitor_tasks( task_type: str = Query('all', description="任务类型: all, transcription, summary, knowledge_base"), status: str = Query('all', description="任务状态: all, running, completed, failed"), limit: int = Query(20, ge=1, le=100, description="返回数量限制"), current_user=Depends(get_current_admin_user) ): return await admin_dashboard_service.monitor_tasks(task_type, status, limit, current_user) @router.get("/admin/system/resources") async def get_system_resources(current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.get_system_resources(current_user) @router.get("/admin/user-stats") async def get_user_stats(current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.get_user_stats(current_user) @router.post("/admin/tasks/{task_type}/{task_id}/retry") async def retry_task(task_type: str, task_id: str, current_user=Depends(get_current_admin_user)): return await admin_dashboard_service.retry_task(task_type, task_id, current_user)