36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
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()
|