Пример #1
0
class User(Model):

    # Basic details
    id = Column(db.Integer, primary_key=True)
    email = Column(db.String(255), unique=True)
    username = Column(db.String(15), unique=True)
    full_name = Column(db.String(50))
    password_hash = Column(db.String(255))

    # Statuses
    joined_date = Column(db.DateTime, default=datetime.utcnow)

    facts_created = relationship("Fact", backref="author", lazy=True)

    @property
    def password(self):
        raise AttributeError("Password: Write-Only field")

    @password.setter
    def password(self, password):
        self.password_hash = bcrypt.generate_password_hash(password).decode(
            "utf-8")

    def check_password(self, password):
        return bcrypt.check_password_hash(self.password_hash, password)

    def __repr__(self):
        return f"<User '{ self.username }'>"
Пример #2
0
class User(db.Model):
  user_id = db.Column(db.Integer, primary_key=True, nullable=False)
  user_name = db.Column(db.String(60), nullable=False)
  nick_name = db.Column(db.String(20), unique=True)
  user_email = db.Column(db.String(40), nullable=False)
  message_boxes = db.relationship('Box', secondary=boxes, lazy='subquery',
    backref=db.backref('members', lazy=True))
  messages = db.relationship('Message', backref='member', lazy=True)
Пример #3
0
class Role(Model):
    """ Role Model for storing role related details """

    __tablename__ = "role"

    id = Column(db.Integer, primary_key=True)
    name = Column(db.String(20), unique=True)
    description = Column(db.String(50))

    def __repr__(self):
        return f"<{ self.name } - { self.description }>"
Пример #4
0
class Fact(Model):
    """ Fact model for storing fact related stuff *shrug* """

    # Basic details
    id = Column(db.Integer, primary_key=True)
    public_id = Column(db.String(15))
    author_id = Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
    planet = Column(db.String(15))

    # Fact content
    title = Column(db.String(50), nullable=True)
    content = Column(db.Text)

    created_at = Column(db.DateTime, default=datetime.utcnow)
    updated_at = Column(db.DateTime, default=datetime.utcnow)

    def __repr__(self):
        return f"<Fact '{self.public_id}'>"
Пример #5
0
class Box(db.Model):
    box_id = db.Column(db.Integer, primary_key=True, nullable=False)
    box_name = db.Column(db.String(100), nullable=False)
    messages = db.relationship('Message', backref='message_box', lazy=True)
Пример #6
0
class Message(db.Model):
    message_id = db.Column(db.Integer, primary_key=True, nullable=False)
    message_content = db.Column(db.String(255), nullable=False)
    created_on = db.Column(db.DateTime, server_default=db.func.now())
    member_id = db.Column(db.Integer, db.ForeignKey('user.user_id'))
    box_id = db.Column(db.Integer, db.ForeignKey('box.box_id'))