Files
HangmanLab.Backend/db/models/WebhookSetting.py
2025-03-17 13:54:53 +00:00

27 lines
1007 B
Python

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,
}