add: webhook

This commit is contained in:
h z
2025-03-17 13:54:53 +00:00
parent acb1e2260f
commit 864b78641b
23 changed files with 473 additions and 43 deletions

View File

@@ -0,0 +1,26 @@
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,
}