MoviePilot/app/api/endpoints/webhooks.py
2023-06-09 19:25:12 +08:00

28 lines
710 B
Python

from fastapi import APIRouter, BackgroundTasks, Request
from app import schemas
from app.chain.webhook_message import WebhookMessageChain
from app.core.config import settings
router = APIRouter()
def start_webhook_chain(message: dict):
"""
启动链式任务
"""
WebhookMessageChain().process(message)
@router.post("/", response_model=schemas.Response)
async def webhook_message(background_tasks: BackgroundTasks, token: str, request: Request):
"""
Webhook响应
"""
if token != settings.API_TOKEN:
return {"success": False, "message": "token认证不通过"}
background_tasks.add_task(start_webhook_chain, await request.json())
return {"success": True}