fix 优雅停止

This commit is contained in:
jxxghp
2023-06-08 09:52:18 +08:00
parent a99cd77b68
commit e3a12e856a
8 changed files with 78 additions and 31 deletions

View File

@ -1,6 +1,6 @@
from fastapi import APIRouter
from app.api.endpoints import login, users, sites, messages, webhooks, subscribes, media
from app.api.endpoints import login, users, sites, messages, webhooks, subscribes, media, douban
api_router = APIRouter()
api_router.include_router(login.router, tags=["login"])
@ -10,3 +10,4 @@ api_router.include_router(messages.router, prefix="/messages", tags=["messages"]
api_router.include_router(webhooks.router, prefix="/webhooks", tags=["webhooks"])
api_router.include_router(subscribes.router, prefix="/subscribes", tags=["subscribes"])
api_router.include_router(media.router, prefix="/media", tags=["media"])
api_router.include_router(douban.router, prefix="/douban", tags=["douban"])

View File

@ -0,0 +1,28 @@
from typing import List
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from app import schemas
from app.chain.douban_sync import DoubanSyncChain
from app.db import get_db
from app.db.models.user import User
from app.db.userauth import get_current_active_superuser
router = APIRouter()
@router.get("/sync", response_model=schemas.Response)
async def sync_douban(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_active_superuser)):
"""
查询所有订阅
"""
if not current_user:
raise HTTPException(
status_code=400,
detail="需要授权",
)
DoubanSyncChain().process()
return {"success": True}

View File

@ -88,3 +88,35 @@ async def seerr_subscribe(request: Request, background_tasks: BackgroundTasks,
username=user_name)
return {"success": True}
@router.get("/refresh", response_model=schemas.Response)
async def refresh_subscribes(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_active_superuser)):
"""
刷新所有订阅
"""
if not current_user:
raise HTTPException(
status_code=400,
detail="需要授权",
)
SubscribeChain().refresh()
return {"success": True}
@router.get("/search", response_model=schemas.Response)
async def search_subscribes(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_active_superuser)):
"""
搜索所有订阅
"""
if not current_user:
raise HTTPException(
status_code=400,
detail="需要授权",
)
SubscribeChain().search(state='R')
return {"success": True}