class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) password = db.Column(db.String(100)) role = db.Column(db.String(10), index=True) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) @property def is_admin(self): return self.role == 'admin' def __repr__(self): return '<User {}>'.format(self.username)
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True) password = db.Column(db.String(128)) role = db.Column(db.String(10), index=True) pictures = db.relationship('Picture', backref='user') @property def is_user(self): return self.role == 'user' def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) def __repr__(self): return '<User {}>'.format(self.username)
class EbayCategories(db.Model): __tablename__ = 'ebay_categories' id = db.Column(db.Integer, primary_key=True) category_name = db.Column('categoryname', db.String(50), nullable=False) category_level = db.Column('categorylevel', db.Integer, nullable=False) category_id = db.Column('categoryid', db.Integer, unique=True, nullable=False) categoryparent_id = db.Column('categoryparentid', db.Integer) def __repr__(self): return '<category_name={} category_id={}>'.format( self.category_name, self.category_id)
class FavoriteSearches(db.Model): __tablename__ = 'favorite_searches' id = db.Column(db.Integer, primary_key=True) user_id = db.Column( db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), index=True ) query_name = db.Column(db.String(50), nullable=False) user_query = db.Column(db.String(100), nullable=False) chosen_categoryid = db.Column(db.Integer, nullable=False) filter_request = db.Column(db.Text, nullable=False) date_of_creation = db.Column( db.DateTime, nullable=False, default=datetime.now(), ) statistic_status = db.Column(db.Boolean, nullable=True) statistic_start_date = db.Column(db.DateTime, nullable=True) user = relationship('User', backref='favorite_searches') def __repr__(self): return '<user_id={} query={} filter_request={}>'.format( self.user_id, self.user_query, self.filter_request)
class StatisticItems(db.Model): __tablename__ = 'statistic_items' id = db.Column(db.Integer, primary_key=True) query_id = db.Column( db.Integer, db.ForeignKey('favorite_searches.id', ondelete='CASCADE'), index=True, nullable=False, ) item_id = db.Column(db.String(50), nullable=False) item_name = db.Column(db.String(200), nullable=True) item_current_price = db.Column(db.String(10), nullable=False) end_time = db.Column(db.DateTime, nullable=False) final_price = db.Column(db.Integer, nullable=True) item_url = db.Column(db.String(200), nullable=False) bids = db.Column(db.Integer, nullable=True) favorite_searches = relationship( 'FavoriteSearches', backref='statistic_items', ) def __repr__(self): return '<query_id={} end_time={} final_price={}>'.format( self.query_id, self.end_time, self.final_price)
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50), index=True, unique=True) password = db.Column(db.String(128)) email = db.Column(db.String(120), unique=True, nullable=True) role = db.Column(db.String(10)) session_id = db.Column(db.String(50), nullable=True) session_id_status = db.Column(db.Boolean, nullable=True) hard_expiration_time = db.Column(db.DateTime, nullable=True) token = db.Column(db.String(100), nullable=True) token_status = db.Column(db.Boolean, nullable=True) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) @property def is_admin(self): return self.role == 'admin' def __repr__(self): return '<User name={} id={}>'.format(self.username, self.id)