from fastapi import APIRouter, Depends from app.core.security import get_current_user, User from app.services.system import SystemService, SystemStats, BlockDevicesInfo router = APIRouter() @router.get("/stats", response_model=SystemStats) async def get_system_stats(current_user: User = Depends(get_current_user)): """Récupère les statistiques système (CPU, RAM, processus)""" return SystemService.get_system_stats() @router.get("/cpu") async def get_cpu(current_user: User = Depends(get_current_user)): """Récupère uniquement les statistiques CPU""" return SystemService.get_cpu_usage() @router.get("/memory") async def get_memory(current_user: User = Depends(get_current_user)): """Récupère uniquement les statistiques mémoire""" return SystemService.get_memory_usage() @router.get("/processes") async def get_processes(limit: int = 10, current_user: User = Depends(get_current_user)): """Récupère la liste des processus actifs""" return SystemService.get_top_processes(limit=limit) @router.get("/disks", response_model=BlockDevicesInfo) async def get_block_devices(current_user: User = Depends(get_current_user)): """Récupère les informations sur les disques et partitions avec lsblk""" return SystemService.get_block_devices()