From 34777911d33acbec9f7a509409f0eeeed5f6aa51 Mon Sep 17 00:00:00 2001 From: huangzhuang_3rd Date: Thu, 13 Aug 2026 00:46:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20V1=20-=20DAG=E7=BC=96=E6=8E=92/?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E7=B3=BB=E7=BB=9F/Agent=E5=BE=AA=E7=8E=AF/?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93RAG/Webhook=20+=20=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AF=8C=E4=B8=8A=E4=B8=8B=E6=96=87=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/schemas/webhook.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 backend/app/schemas/webhook.py diff --git a/backend/app/schemas/webhook.py b/backend/app/schemas/webhook.py new file mode 100644 index 0000000..399178c --- /dev/null +++ b/backend/app/schemas/webhook.py @@ -0,0 +1,24 @@ +"""Webhook schemas.""" +from pydantic import BaseModel, Field +from typing import Optional, List +from datetime import datetime + + +class WebhookCreate(BaseModel): + url: str = Field(..., min_length=1, max_length=500) + events: str = '["task_completed","review_pending","budget_alert"]' + secret: Optional[str] = None + project_id: Optional[int] = None + + +class WebhookResponse(BaseModel): + id: int + project_id: Optional[int] = None + url: str + events: str + secret: Optional[str] = None + is_active: bool + tenant_id: int + created_at: datetime + + model_config = {"from_attributes": True}