feat 支持Emby/Jellyfin登录认证

This commit is contained in:
jxxghp
2023-06-20 13:09:11 +08:00
parent 47f5942e22
commit 0776a0b235
17 changed files with 117 additions and 87 deletions

View File

@ -6,9 +6,7 @@ from fastapi import BackgroundTasks
from app import schemas
from app.chain.douban import DoubanChain
from app.core.context import MediaInfo
from app.db.models.user import User
from app.db.userauth import get_current_active_superuser
from app.db.userauth import get_current_active_user
from app.core.security import verify_token
from app.schemas import MediaType
router = APIRouter()
@ -24,7 +22,7 @@ def start_douban_chain():
@router.get("/sync", summary="同步豆瓣想看", response_model=schemas.Response)
async def sync_douban(
background_tasks: BackgroundTasks,
_: User = Depends(get_current_active_superuser)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
同步豆瓣想看
"""
@ -34,7 +32,7 @@ async def sync_douban(
@router.get("/id", summary="豆瓣ID识别", response_model=schemas.Context)
async def recognize_doubanid(doubanid: str,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
根据豆瓣ID识别媒体信息
"""
@ -44,7 +42,7 @@ async def recognize_doubanid(doubanid: str,
@router.get("/info", summary="查询豆瓣详情", response_model=schemas.MediaInfo)
async def douban_info(doubanid: str) -> Any:
async def douban_info(doubanid: str, _: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
根据豆瓣ID查询豆瓣媒体信息
"""
@ -60,7 +58,7 @@ async def douban_movies(sort: str = "R",
tags: str = "",
start: int = 0,
count: int = 30,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
浏览豆瓣电影信息
"""
@ -76,7 +74,7 @@ async def douban_tvs(sort: str = "R",
tags: str = "",
start: int = 0,
count: int = 30,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
浏览豆瓣剧集信息
"""
@ -90,7 +88,7 @@ async def douban_tvs(sort: str = "R",
@router.get("/movie_top250", summary="豆瓣电影TOP250", response_model=List[schemas.MediaInfo])
async def movie_top250(page: int = 1,
count: int = 30,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
浏览豆瓣剧集信息
"""
@ -101,7 +99,7 @@ async def movie_top250(page: int = 1,
@router.get("/tv_weekly_chinese", summary="豆瓣国产剧集周榜", response_model=List[schemas.MediaInfo])
async def tv_weekly_chinese(page: int = 1,
count: int = 30,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
中国每周剧集口碑榜
"""
@ -112,7 +110,7 @@ async def tv_weekly_chinese(page: int = 1,
@router.get("/tv_weekly_global", summary="豆瓣全球剧集周榜", response_model=List[schemas.MediaInfo])
async def tv_weekly_global(page: int = 1,
count: int = 30,
_: User = Depends(get_current_active_user)) -> Any:
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
全球每周剧集口碑榜
"""