Files
innotexBoard/backend/app/api/endpoints/system.py
2026-01-16 18:40:39 +01:00

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()