feat 部分API支持api token访问
This commit is contained in:
parent
d245fedb3f
commit
daa2b7a8cd
@ -6,7 +6,7 @@ from sqlalchemy.orm import Session
|
|||||||
from app import schemas
|
from app import schemas
|
||||||
from app.chain.dashboard import DashboardChain
|
from app.chain.dashboard import DashboardChain
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.core.security import verify_token
|
from app.core.security import verify_token, verify_uri_token
|
||||||
from app.db import get_db
|
from app.db import get_db
|
||||||
from app.db.models.transferhistory import TransferHistory
|
from app.db.models.transferhistory import TransferHistory
|
||||||
from app.scheduler import Scheduler
|
from app.scheduler import Scheduler
|
||||||
@ -34,6 +34,14 @@ def statistic(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
|||||||
return schemas.Statistic()
|
return schemas.Statistic()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/statistic2", summary="媒体数量统计(API_TOKEN)", response_model=schemas.Statistic)
|
||||||
|
def statistic2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
查询媒体数量统计信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return statistic()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/storage", summary="存储空间", response_model=schemas.Storage)
|
@router.get("/storage", summary="存储空间", response_model=schemas.Storage)
|
||||||
def storage(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
def storage(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
@ -46,6 +54,14 @@ def storage(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/storage2", summary="存储空间(API_TOKEN)", response_model=schemas.Storage)
|
||||||
|
def storage2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
查询存储空间信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return storage()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/processes", summary="进程信息", response_model=List[schemas.ProcessInfo])
|
@router.get("/processes", summary="进程信息", response_model=List[schemas.ProcessInfo])
|
||||||
def processes(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
def processes(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
@ -73,6 +89,14 @@ def downloader(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
|||||||
return schemas.DownloaderInfo()
|
return schemas.DownloaderInfo()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/downloader2", summary="下载器信息(API_TOKEN)", response_model=schemas.DownloaderInfo)
|
||||||
|
def downloader2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
查询下载器信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return downloader()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/schedule", summary="后台服务", response_model=List[schemas.ScheduleInfo])
|
@router.get("/schedule", summary="后台服务", response_model=List[schemas.ScheduleInfo])
|
||||||
def schedule(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
def schedule(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
@ -81,6 +105,14 @@ def schedule(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
|||||||
return Scheduler().list()
|
return Scheduler().list()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/schedule2", summary="后台服务(API_TOKEN)", response_model=List[schemas.ScheduleInfo])
|
||||||
|
def schedule2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
查询下载器信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return schedule()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/transfer", summary="文件整理统计", response_model=List[int])
|
@router.get("/transfer", summary="文件整理统计", response_model=List[int])
|
||||||
def transfer(days: int = 7, db: Session = Depends(get_db),
|
def transfer(days: int = 7, db: Session = Depends(get_db),
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
@ -99,9 +131,25 @@ def cpu(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
|||||||
return SystemUtils.cpu_usage()
|
return SystemUtils.cpu_usage()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/cpu2", summary="获取当前CPU使用率(API_TOKEN)", response_model=int)
|
||||||
|
def cpu2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
获取当前CPU使用率 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return cpu()
|
||||||
|
|
||||||
|
|
||||||
@router.get("/memory", summary="获取当前内存使用量和使用率", response_model=List[int])
|
@router.get("/memory", summary="获取当前内存使用量和使用率", response_model=List[int])
|
||||||
def memory(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
def memory(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
"""
|
"""
|
||||||
获取当前内存使用率
|
获取当前内存使用率
|
||||||
"""
|
"""
|
||||||
return SystemUtils.memory_usage()
|
return SystemUtils.memory_usage()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/memory2", summary="获取当前内存使用量和使用率(API_TOKEN)", response_model=List[int])
|
||||||
|
def memory2(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
获取当前内存使用率 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return memory()
|
||||||
|
@ -7,7 +7,7 @@ from app import schemas
|
|||||||
from app.chain.media import MediaChain
|
from app.chain.media import MediaChain
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.core.security import verify_token
|
from app.core.security import verify_token, verify_uri_token
|
||||||
from app.db import get_db
|
from app.db import get_db
|
||||||
from app.db.mediaserver_oper import MediaServerOper
|
from app.db.mediaserver_oper import MediaServerOper
|
||||||
from app.schemas import MediaType
|
from app.schemas import MediaType
|
||||||
@ -29,6 +29,17 @@ def recognize(title: str,
|
|||||||
return schemas.Context()
|
return schemas.Context()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/recognize2", summary="识别种子媒体信息(API_TOKEN)", response_model=schemas.Context)
|
||||||
|
def recognize2(title: str,
|
||||||
|
subtitle: str = None,
|
||||||
|
_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
根据标题、副标题识别媒体信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
# 识别媒体信息
|
||||||
|
return recognize(title, subtitle)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/recognize_file", summary="识别媒体信息(文件)", response_model=schemas.Context)
|
@router.get("/recognize_file", summary="识别媒体信息(文件)", response_model=schemas.Context)
|
||||||
def recognize(path: str,
|
def recognize(path: str,
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
@ -42,6 +53,16 @@ def recognize(path: str,
|
|||||||
return schemas.Context()
|
return schemas.Context()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/recognize_file2", summary="识别文件媒体信息(API_TOKEN)", response_model=schemas.Context)
|
||||||
|
def recognize2(path: str,
|
||||||
|
_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
根据文件路径识别媒体信息 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
# 识别媒体信息
|
||||||
|
return recognize(path)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/search", summary="搜索媒体信息", response_model=List[schemas.MediaInfo])
|
@router.get("/search", summary="搜索媒体信息", response_model=List[schemas.MediaInfo])
|
||||||
def search_by_title(title: str,
|
def search_by_title(title: str,
|
||||||
page: int = 1,
|
page: int = 1,
|
||||||
|
@ -8,7 +8,7 @@ from app import schemas
|
|||||||
from app.chain.subscribe import SubscribeChain
|
from app.chain.subscribe import SubscribeChain
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.core.security import verify_token
|
from app.core.security import verify_token, verify_uri_token
|
||||||
from app.db import get_db
|
from app.db import get_db
|
||||||
from app.db.models.subscribe import Subscribe
|
from app.db.models.subscribe import Subscribe
|
||||||
from app.db.models.user import User
|
from app.db.models.user import User
|
||||||
@ -28,7 +28,7 @@ def start_subscribe_add(title: str, year: str,
|
|||||||
mtype=mtype, tmdbid=tmdbid, season=season, username=username)
|
mtype=mtype, tmdbid=tmdbid, season=season, username=username)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/", summary="所有订阅", response_model=List[schemas.Subscribe])
|
@router.get("/", summary="查询所有订阅", response_model=List[schemas.Subscribe])
|
||||||
def read_subscribes(
|
def read_subscribes(
|
||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
@ -42,6 +42,14 @@ def read_subscribes(
|
|||||||
return subscribes
|
return subscribes
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/list", summary="查询所有订阅(API_TOKEN)", response_model=List[schemas.Subscribe])
|
||||||
|
def list_subscribes(_: str = Depends(verify_uri_token)) -> Any:
|
||||||
|
"""
|
||||||
|
查询所有订阅 API_TOKEN认证(?token=xxx)
|
||||||
|
"""
|
||||||
|
return read_subscribes()
|
||||||
|
|
||||||
|
|
||||||
@router.post("/", summary="新增订阅", response_model=schemas.Response)
|
@router.post("/", summary="新增订阅", response_model=schemas.Response)
|
||||||
def create_subscribe(
|
def create_subscribe(
|
||||||
*,
|
*,
|
||||||
|
@ -59,8 +59,7 @@ def get_token(token: str = None) -> str:
|
|||||||
if token is None:
|
if token is None:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
detail="token请求参数缺失",
|
detail="token请求参数缺失"
|
||||||
headers={"WWW-Authenticate": "Bearer"},
|
|
||||||
)
|
)
|
||||||
return token
|
return token
|
||||||
|
|
||||||
@ -72,8 +71,7 @@ def verify_uri_token(token: str = Depends(get_token)) -> str:
|
|||||||
if token != settings.API_TOKEN:
|
if token != settings.API_TOKEN:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
detail="token校验不通过",
|
detail="token校验不通过"
|
||||||
headers={"WWW-Authenticate": "Bearer"},
|
|
||||||
)
|
)
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user