from sqlalchemy import Column, String, Integer, ForeignKey, UniqueConstraint, Boolean from db.models import Base class WebhookSetting(Base): __tablename__ = 'webhook_setting' id = Column(Integer, primary_key=True, autoincrement=True) path_id = Column(Integer, ForeignKey('path.id'), nullable=False) webhook_id = Column(Integer, ForeignKey('webhook.id'), nullable=False) recursive = Column(Boolean, default=False) additional_header = Column(String(500), nullable=True) enabled = Column(Boolean, default=True) on_events = Column(Integer, default=0) __table_args__ = (UniqueConstraint('webhook_id', 'path_id', name='_webhook_path_uc'),) def to_dict(self): return { "id": self.id, "path_id": self.path_id, "webhook_id": self.webhook_id, "recursive": self.recursive, "additional_header": self.additional_header, "enabled": self.enabled, "on_events": self.on_events, }