From 4497cd39044ba843837b8b85436acd803e637d4e Mon Sep 17 00:00:00 2001 From: jxxghp Date: Tue, 1 Jul 2025 11:23:20 +0800 Subject: [PATCH] add site stat api --- app/api/endpoints/site.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/app/api/endpoints/site.py b/app/api/endpoints/site.py index 33dddb8c..9dfcaa24 100644 --- a/app/api/endpoints/site.py +++ b/app/api/endpoints/site.py @@ -1,5 +1,6 @@ from typing import List, Any, Dict, Optional +from app.helper.sites import SitesHelper from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from starlette.background import BackgroundTasks @@ -21,7 +22,6 @@ from app.db.models.siteuserdata import SiteUserData from app.db.site_oper import SiteOper from app.db.systemconfig_oper import SystemConfigOper from app.db.user_oper import get_current_active_superuser -from app.helper.sites import SitesHelper from app.scheduler import Scheduler from app.schemas.types import SystemConfigKey, EventType from app.utils.string import StringUtils @@ -333,8 +333,8 @@ def read_site_by_domain( return site -@router.get("/statistic/{site_url}", summary="站点统计信息", response_model=schemas.SiteStatistic) -def read_site_by_domain( +@router.get("/statistic/{site_url}", summary="特定站点统计信息", response_model=schemas.SiteStatistic) +def read_statistic_by_domain( site_url: str, db: Session = Depends(get_db), _: schemas.TokenPayload = Depends(verify_token) @@ -349,6 +349,17 @@ def read_site_by_domain( return schemas.SiteStatistic(domain=domain) +@router.get("/statistic", summary="所有站点统计信息", response_model=List[schemas.SiteStatistic]) +def read_statistics( + db: Session = Depends(get_db), + _: schemas.TokenPayload = Depends(verify_token) +) -> Any: + """ + 获取所有站点统计信息 + """ + return SiteStatistic.list(db) + + @router.get("/rss", summary="所有订阅站点", response_model=List[schemas.Site]) def read_rss_sites(db: Session = Depends(get_db), _: schemas.TokenPayload = Depends(verify_token)) -> List[dict]: