Files
Marzban/app/views/system.py
2022-11-25 03:38:42 +03:30

25 lines
786 B
Python

from app import app, jwt, utils
from app.db import crud, Session, get_db
from app.models.admin import Admin
from app.models.system import SystemStats
from fastapi import Depends
from app.models.user import UserStatus
@app.get("/system", tags=["System"], response_model=SystemStats)
def system_stats(db: Session = Depends(get_db), admin: Admin = Depends(jwt.current_user)):
mem = utils.mem_usage()
system = crud.get_system_usage(db)
total_user = crud.get_users_count(db)
users_active = crud.get_users_count(db, UserStatus.active)
return SystemStats(
mem_total=mem.total,
mem_used=mem.used,
total_user=total_user,
users_active=users_active,
incoming_bandwidth=system.uplink,
outgoing_bandwith=system.downlink,
)