Initial commit

This commit is contained in:
innotex
2026-01-16 18:40:39 +01:00
commit 9ec63a8aa2
76 changed files with 13235 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
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()