27 lines
1007 B
Python
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,
|
|
}
|