class Like(db.Model): id = db.Column(db.Integer, primary_key=True) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) author_id = db.Column(db.Integer, db.ForeignKey('user.id')) post_id = db.Column(db.Integer, db.ForeignKey('post.id')) def __repr__(self): return '<Like {}>'.format(self.body)
class Message(db.Model): id = db.Column(db.Integer, primary_key=True) sender_id = db.Column(db.Integer, db.ForeignKey('user.id')) recipient_id = db.Column(db.Integer, db.ForeignKey('user.id')) body = db.Column(db.String(140)) image = db.Column(db.String(20)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) def __repr__(self): return '<Message {}>'.format(self.body)
class Story(db.Model): id = db.Column(db.Integer, primary_key=True) story_image = db.Column(db.String(20)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) def __repr__(self): return '<Story {}>'.format(self.body)
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) body = db.Column(db.String(140)) post_image = db.Column(db.String(20)) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) comments = db.relationship('Comment', backref='post', lazy='dynamic') likes = db.relationship('Like', backref='post', lazy='dynamic') def __repr__(self): return '<Post {}>'.format(self.body)
from facebook import db, login from datetime import datetime from flask_login import UserMixin from werkzeug.security import generate_password_hash, check_password_hash import jwt from time import time from facebook import app followers = db.Table( 'followers', db.Column('follower_id', db.Integer, db.ForeignKey('user.id')), db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))) class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) f_name = db.Column(db.String(64), index=True, nullable=False) l_name = db.Column(db.String(64), index=True, nullable=False) username = db.Column(db.String(128), index=True, nullable=False) dob = db.Column(db.DateTime, nullable=True, index=True) gender = db.Column(db.String(6), index=True, nullable=True) email = db.Column(db.String(120), index=True, unique=True, nullable=False) password_hash = db.Column(db.String(128)) cover_image = db.Column(db.String(20), default='default.jpeg') profile_image = db.Column(db.String(20), default='default.jpg') story_image = db.Column(db.String(20)) about_me = db.Column(db.String(140), default='No Bio') last_seen = db.Column(db.DateTime, default=datetime.utcnow) school = db.Column(db.String(140), default="--add data--") hometown = db.Column(db.String(140), default="--add data--") location = db.Column(db.String(140), default="--add data--")