fix: api bugs, collect bug.

This commit is contained in:
EstrellaXD
2023-08-10 19:59:01 +08:00
parent e503196146
commit 0b053c9312
6 changed files with 61 additions and 22 deletions

View File

@@ -7,6 +7,7 @@ from .download import router as download_router
from .log import router as log_router
from .program import router as program_router
from .rss import router as rss_router
from .search import router as search_router
__all__ = "v1"
@@ -19,3 +20,4 @@ v1.include_router(download_router)
v1.include_router(bangumi_router)
v1.include_router(config_router)
v1.include_router(rss_router)
v1.include_router(search_router)

View File

@@ -15,8 +15,7 @@ async def get_all_data(current_user=Depends(get_current_user)):
if not current_user:
raise UNAUTHORIZED
with TorrentManager() as manager:
resp = manager.bangumi.search_all()
return u_response(resp)
return manager.bangumi.search_all()
@router.get("/get/{bangumi_id}", response_model=Bangumi)
@@ -24,8 +23,7 @@ async def get_data(bangumi_id: str, current_user=Depends(get_current_user)):
if not current_user:
raise UNAUTHORIZED
with TorrentManager() as manager:
resp = manager.search_one(bangumi_id)
return u_response(resp)
return manager.search_one(bangumi_id)
@router.patch("/update/{bangumi_id}")

View File

@@ -6,18 +6,18 @@ from module.conf import settings
from module.models import Config
from module.security.api import get_current_user, UNAUTHORIZED
router = APIRouter(tags=["config"])
router = APIRouter(prefix="/config", tags=["config"])
logger = logging.getLogger(__name__)
@router.get("/getConfig", response_model=Config)
@router.get("/get", response_model=Config)
async def get_config(current_user=Depends(get_current_user)):
if not current_user:
raise UNAUTHORIZED
return settings.dict()
@router.post("/updateConfig")
@router.patch("/update")
async def update_config(config: Config, current_user=Depends(get_current_user)):
if not current_user:
raise UNAUTHORIZED

View File

@@ -0,0 +1,26 @@
from fastapi import APIRouter, Query, Depends
from fastapi.responses import StreamingResponse
from module.searcher import SearchTorrent
from module.security.api import get_current_user, UNAUTHORIZED
router = APIRouter(prefix="/search", tags=["search"])
@router.get("/")
async def search_torrents(
site: str = "mikan",
keywords: str = Query(None),
current_user=Depends(get_current_user),
):
if not current_user:
raise UNAUTHORIZED
if not keywords:
return []
keywords = keywords.split(" ")
with SearchTorrent() as st:
return StreamingResponse(
content=st.analyse_keyword(keywords=keywords, site=site),
media_type="application/json",
)