class Title(db.Model): asin = db.Column(db.VARCHAR(255), primary_key=True) title = db.Column(db.VARCHAR(255), nullable=True) def __init__(self, asin, title): self.asin = asin self.title = title def __repr__(self): return f'<AsinTitle {self.asin}>' def serialize(self): return {'title': self.title, 'asin': self.asin}
class Phone(db.Model): id = db.Column(db.Integer, primary_key=True) country_code = db.Column(db.VARCHAR(255)) entity_id = db.Column(db.CHAR(255), db.ForeignKey('entity.id')) area_code = db.Column(db.VARCHAR(255)) digits = db.Column(db.VARCHAR(255)) is_primary = db.Column(db.Boolean) @property def serialize(self): return { 'id': self.id, 'digits': f'{self.area_code}{self.digits}', 'phone_type': '', 'is_primary': self.is_primary }
class Users(db.Model): id = db.Column(db.VARCHAR(100), nullable=False) # Starts with B name = db.Column(db.VARCHAR(100), nullable=False) email = db.Column(db.VARCHAR(100), primary_key=True) password = db.Column(db.VARCHAR(100), nullable=False) def __init__(self, name, email, password): self.name = name self.email = email self.password = password self.id = "B" for i in range(13): self.id += string.printable[randint(0, 36)].upper() def __repr__(self): return f'<User {self.user}>'
class Meals(db.Model): __table_name__ = "meals" id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False) name = db.Column(db.VARCHAR(200), index=True, nullable=False) category = db.Column(db.VARCHAR(200), index=True, nullable=False) def __init__(self, name: str, category: str): self.name = name self.category = category def __repr__(self): return "<model #{}: {} @ {}>".format(self.id, self.name, self.category)
class User(db.Model): __table_name__ = "user" id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False) username = db.Column(db.VARCHAR(200), index=True, nullable=False) password = db.Column(db.VARCHAR(200), index=True, nullable=False) def __init__(self, username: str, password: str): self.username = username self.password = password def __repr__(self): return "<User #{}: {} @ {}>".format(self.id, self.username, self.password)
class Reviews(db.Model): id = db.Column(db.Integer, nullable=False, primary_key=True) asin = db.Column(db.VARCHAR(100)) helpful = db.Column(db.VARCHAR(100)) overall = db.Column(db.Integer) reviewText = db.Column(db.VARCHAR(255)) reviewTime = db.Column(db.Date) reviewerID = db.Column(db.VARCHAR(100)) reviewerName = db.Column(db.VARCHAR(100)) summary = db.Column(db.VARCHAR(255)) unixReviewTime = db.Column(db.Integer) # init only with summary and reviewText for now def __init__(self, asin, summary, reviewText, reviewerID, reviewerName): self.asin = asin self.summary = summary self.reviewerID = reviewerID self.reviewerName = reviewerName self.helpful = "[0, 0]" self.overall = 0 now = datetime.now() self.reviewTime = now.strftime("%Y-%-m-%-d") self.reviewText = reviewText self.unixReviewTime = int(now.timestamp()) def serialize(self): return { 'id': self.id, 'asin': self.asin, 'helpful': self.helpful, 'overall': self.overall, 'reviewText': self.reviewText, 'reviewTime': self.reviewTime, 'reviewerID': self.reviewerID, 'reviewerName': self.reviewerName, 'summary': self.summary, 'unixReviewTime': self.unixReviewTime } def __repr__(self): return f'<Review {self.id}>'
class Day(db.Model): id = db.Column(db.Integer, primary_key=True) day = db.Column(db.VARCHAR(20)) daytimes = db.relationship('DayTime', backref='day', lazy=True)
class Content(db.Model): c_id = db.Column(db.Integer, primary_key=True) rolemodel = db.Column(db.String(50), nullable=False) history = db.Column(db.VARCHAR(10000), nullable=False) resources = db.Column(db.VARCHAR(5000)) pictures = db.Column(db.VARCHAR(5000))