class UserRole(db.Model): user_id = db.Column(db.Integer(), db.ForeignKey('user.id'), primary_key=True) role_id = db.Column(db.Integer(), db.ForeignKey('role.id'), primary_key=True)
class Grade(db.Model): id = db.Column(db.Integer, primary_key=True) assignment = db.Column(db.String(20), nullable=False) course = db.Column(db.String(20), nullable = False) user = db.Column(db.String(20), nullable=False)#student for whom the grade is posted grade = db.Column(db.Integer(), nullable=False) points = db.Column(db.Integer(), nullable=False) total_points = db.Column(db.Integer(), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) teacher = db.Column(db.String(20), nullable=False)#grader user_id = db.Column(db.Integer, nullable=False) def __repr__(self): return "Grade({}, {})".format(self.assignment, self.grade) def __repr__(self): #return "News({}, {})".format(self.title, self.content) d = { "Assignment": str(self.assignment), "Course": str(self.course), "Id": str(self.id), "Grade": str(self.grade) } #print("sending format") return "{}".format(d)
class Item(db.Model): id = db.Column(db.Integer(), primary_key=True) titles = db.Column(db.String(100), nullable=False) price = db.Column(db.Integer(), nullable=False) isActive = db.Column(db.Boolean(), default=True) def __repr__(self): return self.titles
class User(db.Model, UserMixin): id = db.Column(db.Integer(), primary_key=True) password = db.Column(db.String(30), nullable=False) email = db.Column(db.String(30), nullable=False) image_file = db.Column(db.Text, nullable=False, default='default.jpg') group = db.Column(db.Integer, db.ForeignKey('group.id')) posts = db.relationship('Post', backref='author', lazy=True) joined_group = db.Column(db.Integer()) def __repr__(self): return f"User('{self.id}', '{self.image_file}')"
class Grade(db.Model): id = db.Column(db.Integer, primary_key=True) assignment = db.Column(db.String(20), nullable=False) user = db.Column(db.String(20), nullable=False)#student for whom the grade is posted grade = db.Column(db.Integer(), nullable=False) points = db.Column(db.Integer(), nullable=False) total_points = db.Column(db.Integer(), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) teacher = db.Column(db.String(20), nullable=False)#grader user_id = db.Column(db.Integer, nullable=False) def __repr__(self): return "Grade({}, {})".format(self.assignment, self.grade)
class Grade(db.Model): id = db.Column(db.Integer, primary_key=True) assignment = db.Column(db.String(20), nullable=False) student = db.Column(db.String(20), nullable=False) grade = db.Column(db.Integer(), nullable=False) points = db.Column(db.Integer(), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) reviewedornot = db.Column(db.Boolean, default=False) course = db.Column(db.String(20), nullable=False) quirk = db.Column(db.String(20), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return "Grade({}, {})".format(self.assignment, self.grade)
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') @staticmethod def verify_reset_token(token): s = Serializer(current_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}')"
class Group(db.Model): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(10000000000000000000000)) group_id = db.Column(db.String(50), default=str(secrets.token_hex(8))) members = db.relationship('User', backref='member', lazy=True) def __repr__(self): return (f"<Group>{self.id}")
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer(), primary_key=True) username = db.Column(db.String(20), nullable=False, unique=True) email = db.Column(db.String(50), nullable=False, unique=True) avatar = db.Column(db.String(20), nullable=False, default='default.jpg') password = db.Column(db.String(20), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) def get_reset_token(self, expires_sec=600): token = TimedJSONWebSignatureSerializer(app.config['SECRET_KEY'], expires_sec) return token.dumps({'user_id': self.id}).decode('utf-8') @staticmethod def verify_token_reset(token): s = TimedJSONWebSignatureSerializer(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 self.username
class User(db.Model, UserMixin): id = db.Column(db.Integer(), primary_key=True) username = db.Column(db.String(30), unique=True, nullable=False) email = db.Column(db.String(100), unique=True, nullable=False) password = db.Column(db.String(150), nullable=False) image_file = db.Column(db.String(60), nullable=True, default='default.jpg') creation_time = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) posts = db.relationship('Post', backref='author', lazy=True) def reset_token(self, expires_sec=1800): s = Serializer(current_app.config['SECRET_KEY'], ) return s.dumps({"user_id": self.id}).decode('utf-8') @staticmethod def verify_token(token): s = Serializer(current_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}')" def setHashedPassword(self, password): self.password = bcrypt.generate_password_hash( password=password).decode('utf-8') def checkHashedPassword(self, password): return bcrypt.check_password_hash(self.password, password=password)
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='defualt.jpg') password = db.Column(db.String(60), nullable=False) posts = db.relationship('Post', backref='author', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')" def generate_token(self, expire_time=3600): # generate a timed token using project secret key. serializer = Serializer(current_app.config['SECRET_KEY'], expires_in=expire_time) return serializer.dumps({'user_id': self.id}) # return the generetated token @staticmethod def verify_auth_token(token): serializer = Serializer(current_app.config['SECRET_KEY']) # if token is invalid or expired return None try: data = serializer.loads(token) except BadSignature as bad_token: return None except SignatureExpired as expired_token: return None return User.query.get(data['user_id'])
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, 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 Hostel_Attributes(db.Model): id = db.Column(db.Integer(), unique=True, nullable=False, primary_key=True) condition = db.Column(db.String(20), nullable=False) Intensity = db.Column(db.String(20), nullable=False) belongs_to = db.Column(db.Integer, db.ForeignKey('hostel.id'), nullable=False) def __repr__(self): return f"Hostel_Attributes( '{ self.id }', 'Condition:{ self.condition }','Intensity:{ self.Intensity }')"
class Hostel(db.Model): id = db.Column(db.Integer(), unique=True, nullable=False, primary_key=True) name = db.Column(db.String(50), unique=True, nullable=False) phone = db.Column(db.Integer(), nullable=False) cat = db.Column(db.String, nullable=False) email = db.Column(db.String, nullable=False) image = db.Column(db.String(60), nullable=False, default='def_hostel_image.jpg') price_range = db.Column(db.Integer(), nullable=False) location = db.Column(db.String(100), nullable=False) distance = db.Column(db.String(50), nullable=False) rating = db.Column(db.Integer(), default=None) attributes = db.relationship('Hostel_Attributes', backref='which_hostel', lazy=True) def __repr__(self): return f"Hostel( 'name:{ self.name }', 'id:{ self.id }','phone:{ self.phone }','image:{ self.image }')"
class Post(db.Model): __tablename__ = "posts" id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) def __repr__(self): return self.title
class PostMetadata(db.Model): id = db.Column(db.Integer, primary_key=True) post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # emotion = db.Column(db.Boolean(), nullable=True) emotion = db.Column(db.Integer(), nullable=False, default=-1) post_comment = db.Column(db.Text(), nullable=True) comment_img = db.Column(db.String(20), nullable=True) date_commented = db.Column(db.DateTime, nullable=False, default=datetime.now()) def __repr__(self): return f"PostMetadata('{self.id}','{self.emotion}', '{self.post_comment}', '{self.post_id}','{self.user_id}', '{self.date_commented}')"
class Post(db.Model): id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text(), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # Since user_id Column of User table is foreign key for Post table, # we can use post.author to access the owner / writer of the post. def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class Report(db.Model): '''Website issue reports made by readers.''' #attributes id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(128), nullable=False) email = db.Column(db.String(128), nullable=False) content = db.Column(db.String(5000), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) def __repr__(self): '''Self-representation method.''' return f"Report {self.id}: {self.date_posted} {self.title}"
class Post(db.Model): '''Blog posts model.''' #attributes id = db.Column(db.Integer(), primary_key=True) title = db.Column(db.String(256), nullable=False) content = db.Column(db.String(50000), nullable=False) tags = db.Column(db.String(256), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) #relationships user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): '''Self-representation method.''' return f"Post {self.id}:({self.date_posted} {self.title})"
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) phone = db.Column(db.Integer(), nullable=True) birth_date = db.Column(db.DateTime, nullable=True) firstname = db.Column(db.String(20), nullable=True) surname = db.Column(db.String(20), nullable=True) sex = db.Column(db.String(6), nullable=True) posts = db.relationship('Post', backref='author', lazy=True) def __repr__(self): return f"User('{self.username}', '{self.email}', '{self.image_file}')"
class User(db.Model, UserMixin): '''User account details.''' #attributes id = db.Column(db.Integer(), primary_key=True) username = db.Column(db.String(32), nullable=False, unique=True) real_name = db.Column(db.String(128), nullable=False) email_personal = db.Column(db.String(128), nullable=False) email_company = db.Column(db.String(128), nullable=False) profile_img = db.Column(db.String(32), nullable=False, default='default.png') password = db.Column(db.String(60), nullable=False) #relationships posts = db.relationship('Post', backref='author', lazy=True) #methods #this is for resetting the password, copied from a tutorial project #thank you to Corey Schafer at coreyMS.com for his excellent tutorials on Flask! def get_reset_token(self, expires_in=1800): '''Creates a token with user.id payload that expires in 30 minutes.''' serializer = Serializer(current_app.config['SECRET_KEY'], expires_in) return serializer.dumps({'user_id': self.id}).decode('utf-8') @staticmethod def verify_reset_token(token): '''Verifys that the token is within time limit, returns user.id payload.''' serializer = Serializer(current_app.config['SECRET_KEY']) try: user_id = serializer.loads(token)['user_id'] except: return None return User.query.get(user_id) def get_name(self): '''Return real name for blog titles.''' return self.real_name def __repr__(self): '''self-representation method.''' return f"User({self.username}, {self.email_company}, {self.profile_img})"
class UserRoles(db.Model): __tablename__ = 'user_roles' id = db.Column(db.Integer(), primary_key=True) user_id = db.Column(db.Integer(), db.ForeignKey('users.id', ondelete='CASCADE')) role_id = db.Column(db.Integer(), db.ForeignKey('roles.id', ondelete='CASCADE'))
class Role(db.Model): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(50), unique=True)
class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(50), unique=True)