diff --git a/backend/app/models/webhook.py b/backend/app/models/webhook.py new file mode 100644 index 0000000..2d30618 --- /dev/null +++ b/backend/app/models/webhook.py @@ -0,0 +1,15 @@ +"""Webhook config model.""" +from sqlalchemy import Column, String, Integer, Text, Boolean, ForeignKey +from app.models.base import Base, TimestampMixin, TenantMixin + + +class WebhookConfig(Base, TimestampMixin, TenantMixin): + """Webhook subscription for external integrations.""" + __tablename__ = "webhook_configs" + + id = Column(Integer, primary_key=True, autoincrement=True) + project_id = Column(Integer, ForeignKey("projects.id"), nullable=True) + url = Column(String(500), nullable=False) + events = Column(Text, default="[]") # JSON: ["task_completed","review_pending","budget_alert"] + secret = Column(String(200), nullable=True) + is_active = Column(Boolean, default=True)