From 73d3e2ee1b3faef6c2dfb57aae90365fba7bef7d Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 16 Aug 2023 16:26:32 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=9F=A5=E8=AF=A2Release=20Api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/system.py | 15 ++++++++++++++- app/schemas/response.py | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index 9cfb5235..e18cdb1e 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -24,7 +24,7 @@ router = APIRouter() @router.get("/env", summary="查询系统环境变量", response_model=schemas.Response) def get_setting(_: schemas.TokenPayload = Depends(verify_token)): """ - 查询系统环境变量 + 查询系统环境变量,包括当前版本号 """ info = settings.dict( exclude={"SECRET_KEY", "SUPERUSER_PASSWORD", "API_TOKEN"} @@ -153,3 +153,16 @@ def nettest(url: str, }) else: return schemas.Response(success=False, message="网络连接失败!") + + +@router.get("/versions", summary="查询Github所有Release版本", response_model=schemas.Response) +def latest_version(_: schemas.TokenPayload = Depends(verify_token)): + """ + 查询Github所有Release版本 + """ + version_res = RequestUtils().get_res(f"https://api.github.com/repos/jxxghp/MoviePilot/releases") + if version_res: + ver_json = version_res.json() + if ver_json: + return schemas.Response(success=True, data=ver_json) + return schemas.Response(success=False) diff --git a/app/schemas/response.py b/app/schemas/response.py index 0cb40f77..b42e7ce1 100644 --- a/app/schemas/response.py +++ b/app/schemas/response.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import Optional, Union from pydantic import BaseModel @@ -9,4 +9,4 @@ class Response(BaseModel): # 消息文本 message: Optional[str] = None # 数据 - data: Optional[dict] = {} + data: Optional[Union[dict, list]] = {}