import uuid from app import db def generate_uuid(): return str(uuid.uuid4()) class Callback(db.Model): # Table structure __tablename__ = "callbacks" uuid = db.Column(db.String(32), primary_key=True, default=generate_uuid) name = db.Column(db.String(64) ) domain = db.Column(db.String(256) ) service = db.Column(db.String(256) ) entity = db.Column(db.String(256) ) data = db.Column(db.Text ) note = db.Column(db.Text ) active = db.Column(db.Boolean ) def __init__(self, name:str, domain:str, service:str, entity:str) -> None: self.name = name self.domain = domain self.service = service self.entity = entity self.text = "" self.note = "" self.active = True def __repr__(self) -> str: return str(self.name) + ': ' + str(self.domain) + '/' + str(self.service) @classmethod def get_callback(cls, uuid:str) -> str: result = cls.query.filter_by(uuid=uuid).first() if result is not None: return result raise KeyError("UUID {} does not exist".format(uuid)) @classmethod def get_callbacks(cls) -> str: result = cls.query.filter_by(active=True).all() if result is not None: return result return [] def save(self): db.session.add (self) db.session.commit( )