class Client(db.Model):
    __tablename__ = 'clients'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String, nullable=False, unique=True)
    publisher = db.Column(db.Boolean, nullable=False)
    subscriber = db.Column(db.Boolean, nullable=False)
Beispiel #2
0
class Topic(db.Model):
    __tablename__ = 'topics'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String, nullable=False, unique=True)

    def __init__(self, *args, **kwargs):
        self.messages = []

        super().__init__(*args, **kwargs)
class Subscription(db.Model):
    __tablename__ = 'subscriptions'

    client_id = db.Column(db.ForeignKey('clients.id',
                                        ondelete='CASCADE',
                                        onupdate='CASCADE'),
                          nullable=False,
                          primary_key=True)
    topic_id = db.Column(db.ForeignKey('topics.id',
                                       ondelete='CASCADE',
                                       onupdate='CASCADE'),
                         nullable=False,
                         primary_key=True)
Beispiel #4
0
class ReadMessage(db.Model):
    __tablename__ = 'read_messages'

    client_id = db.Column(db.ForeignKey('clients.id', ondelete='CASCADE', onupdate='CASCADE'), nullable=False, primary_key=True)
    message_id = db.Column(db.ForeignKey('messages.id', ondelete='CASCADE', onupdate='CASCADE'), nullable=False, primary_key=True)
Beispiel #5
0
class Message(db.Model):
    __tablename__ = 'messages'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    topic_id = db.Column(db.ForeignKey('topics.id', ondelete='CASCADE', onupdate='CASCADE'), nullable=False)
    message = db.Column(db.String, nullable=False)