feat(dashboard): add system summary endpoint and monthly media statistics

This commit is contained in:
jxxghp
2026-06-28 17:49:09 +08:00
parent 2a89bfd25c
commit 9b1bdb0cb2
8 changed files with 190 additions and 8 deletions
+29
View File
@@ -4,6 +4,8 @@ from pydantic import BaseModel
class Statistic(BaseModel):
"""媒体库数量统计。"""
# 电影
movie_count: Optional[int] = 0
# 电视剧数量
@@ -12,9 +14,17 @@ class Statistic(BaseModel):
episode_count: Optional[int] = 0
# 用户数量
user_count: Optional[int] = 0
# 本月新增电影数量
movie_count_month: Optional[int] = 0
# 本月新增电视剧数量
tv_count_month: Optional[int] = 0
# 本月新增剧集数量
episode_count_month: Optional[int] = 0
class Storage(BaseModel):
"""仪表板存储空间统计。"""
# 总存储空间
total_storage: Optional[float] = 0.0
# 已使用空间
@@ -22,6 +32,8 @@ class Storage(BaseModel):
class ProcessInfo(BaseModel):
"""仪表板进程运行信息。"""
# 进程ID
pid: Optional[int] = 0
# 进程名称
@@ -39,6 +51,8 @@ class ProcessInfo(BaseModel):
class DownloaderInfo(BaseModel):
"""仪表板下载器汇总信息。"""
# 下载速度
download_speed: Optional[float] = 0.0
# 上传速度
@@ -52,6 +66,8 @@ class DownloaderInfo(BaseModel):
class ScheduleInfo(BaseModel):
"""仪表板后台服务信息。"""
# ID
id: Optional[str] = None
# 名称
@@ -62,3 +78,16 @@ class ScheduleInfo(BaseModel):
status: Optional[str] = None
# 下次执行时间
next_run: Optional[str] = None
class DashboardSystemInfo(BaseModel):
"""仪表板系统摘要信息。"""
# 主机名称
hostname: str
# 操作系统名称
operating_system: str
# MoviePilot 运行时间,单位秒
runtime: int
# MoviePilot 后端版本
version: str