class Pitch(db.Model): __tablename__ = 'pitch' id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String(255)) category = db.Column(db.String(255)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('users.id')) def save_pitch(self): ''' Function that saves pitches ''' db.session.add(self) db.session.commit() @classmethod def get_all_pitches(cls): ''' Function that queries the databse and returns all the pitches ''' return Pitch.query.all() @classmethod def get_pitches_by_category(cls, category_id): ''' Function that queries the databse and returns pitches based on the category ''' return Pitch.query.filter_by(category_id=category_id)
class Post(db.Model): id = db.Column(db.Integer, primary_key = True) title = db.Column(db.String(), nullable=False) data_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) category = db.Column(db.String(), nullable = False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Pitch', backref='author', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key = True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) # def get_reset_token(self, expires_sec=1800): # s = Serializer(current_app.config['SECRET_KEY'], expires_sec) # return s.dumps({'user_id':self.id}).decode('utf-8') # def verify_reset_token() def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class Pitch(db.Model): #table name id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Pitch('{self.title}')"
class User(db.Model,UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), index=True, unique=True, nullable=False) email = db.Column(db.String(100),unique=True, index=True, nullable=False) image_file = db.Column(db.String(20),nullable= False,default='default.jpg') password= db.Column(db.String(60),nullable=False) posts = db.relationship('Post', backref= 'author',lazy= True) def get_reset_token(self,expires_sec=1800): s = Serializer(app.config['SECRET_KEY'],expires_sec) return s.dumps({'user.id'}).decode('utf-8') @staticmethod def verify_reset_token(token): s = Serializer(app.config['SECRET_KEY']) try: user_id = s.loads(token)['user_id'] except: return None return User.query.get(user_id) def __repr__(self): return f"User('{self.username}','{self.email}','{self.image_file}')"