class UserModel(db.Model): __tablename__ = 'user' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.Unicode()) email = db.Column(db.Unicode(), unique=True, index=True) password_hash = db.Column(db.Unicode())
class Request(db.Model): __tablename__ = 'requests' id = db.Column(db.Integer(), primary_key=True) headers = db.Column(db.Unicode()) body = db.Column(db.Unicode()) ip = db.Column(postgresql.INET())
class ShoppingListModel(db.Model): __tablename__ = 'shopping_list' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.Unicode()) description = db.Column(db.Unicode()) user_id = db.Column(None, db.ForeignKey('user.id'))
class TodoModel(db.Model): __tablename__ = 'todo' id = db.Column(db.Integer(), primary_key=True) text = db.Column(db.Unicode()) completed = db.Column(db.Boolean(), default=False) user_id = db.Column(None, db.ForeignKey('user.id'))
class CustomerDetails(db.Model): id = db.Column(db.Integer, primary_key=True) age = db.Column(db.Integer, nullable=False) job = db.Column(db.Unicode(100), nullable=False) marital = db.Column(db.Unicode(50), nullable=False) education = db.Column(db.Unicode(50), nullable=False) default = db.Column(db.Unicode(10), nullable=False) balance = db.Column(db.BigInteger, nullable=False) housing = db.Column(db.Unicode(10), nullable=False) loan = db.Column(db.Unicode(10), nullable=False) contact = db.Column(db.Unicode(10), nullable=False) day = db.Column(db.Integer, nullable=False) month = db.Column(db.Unicode(10), nullable=False) duration = db.Column(db.Integer, nullable=False) campaign = db.Column(db.Integer, nullable=False) pdays = db.Column(db.Integer, nullable=False) previous = db.Column(db.Integer, nullable=False) poutcome = db.Column(db.Unicode(10), nullable=False) y = db.Column(db.Unicode(5), nullable=False)
class ShoppingItemModel(db.Model): __tablename__ = 'shopping_item' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.Unicode()) quantity = db.Column(db.Integer()) unit = db.Column(db.Enum(Unit), nullable=False, default=Unit.kg) done = db.Column(db.Boolean(), default=False) user_id = db.Column(None, db.ForeignKey('user.id')) shopping_list_id = db.Column(None, db.ForeignKey('shopping_list.id'))
class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.Unicode(256), unique=True, index=True, nullable=False) password = db.Column(db.String(128), nullable=False) def __init__(self, username, password): self.username = username self.password = argon2.hash(password) def verify_password(self, password): return argon2.verify(password, self.password) def __repr__(self): return f'<User {self.username}>'