class User(UserMixin,db.Model): id = db.Column(db.Integer,primary_key = True) username = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(30), index=True, unique=True) password_hash = db.Column(db.String(128)) def __repr__(self): return '<User {}>'.format(self.username) def set_password(self,password): self.password_hash = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password_hash, password) def check_email(self, email): return True if self.email == email else False #for email ver def get_reset_password_token(self, expires_in=3600): key = Config.SECRET_KEY return jwt.encode({'reset_password': self.id, 'exp': time() + expires_in},key,algorithm='HS256').decode('utf-8') #for email ver @staticmethod def verify_reset_password_token(token): key = Config.SECRET_KEY try: id = jwt.decode(token,key,algorithms=['HS256'])['reset_password'] except: print("Token has expired or become invalidated , or something went wrong") return return User.query.get(id)
class Electives(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) password_hash = db.Column(db.String(128)) def __repr__(self): return '<Elective {}>'.format(self.username)
class Appoinment(db.Model): id = db.Column(db.Integer, primary_key=True) appoinment_date = db.Column(db.String(50), nullable=True) doctor_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) appoinment_status = db.Column(db.Integer, nullable=False, default=0)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), index=True, unique=True) email = db.Column(db.String(120), index=True, unique=True) password = db.Column(db.String(128)) semester = db.Column(db.Integer) def __repr__(self): return '<User {}>'.format(self.username)
class Users(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) # User Authentication fields email = db.Column(db.String(255), nullable=False, unique=True) username = db.Column(db.String(255), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False) # Relationships roles = db.relationship('Roles', secondary='user_roles') user_blacklist = db.relationship('UserBlocked', backref='user_blocked_urls', foreign_keys='UserBlocked.userid')
class Users(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) # User Authentication fields email = db.Column(db.String(255), nullable=False, unique=True) username = db.Column(db.String(255), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False) email_confirmed_at = db.Column(db.DateTime()) # Relationships roles = db.relationship('Roles', secondary='user_roles')
class District(db.Model): id = db.Column(db.Integer, primary_key=True) district_name = db.Column(db.String(50), nullable=False, unique=True) # doctors = db.relationship('DoctorDetails', backref='DoctorDetailsDistrict', foreign_keys='DoctorDetails.district_id') # userdetails = db.relationship('User_details', backref='UserDetailsDistrict', foreign_keys='User_details.district_id') place_details = db.relationship('Place', backref='Choose District', foreign_keys='Place.district_id') def __str__(self): return "{}".format((self.district_name))
class User(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String, nullable=False) surname = db.Column(db.String, nullable=False) rut = db.Column(db.String, nullable=False) email = db.Column(db.String, nullable=False, unique=True) age = db.Column(db.Integer, nullable=False) city = db.Column(db.String, nullable=False) password = db.Column(db.String, nullable=False) confirmPassword = db.Column(db.String, nullable=False)
class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(64), unique=True, index=True) username = db.Column(db.String(64), unique=True, index=True) password_hash = db.Column(db.String(128)) def __init__(self, email, username, password): self.email = email self.username = username self.password_hash = generate_password_hash(password) def check_password_hash(self, password): return check_password_hash(self.password_hash, password)
class CollegeRepresentative(UserProfile): designation = db.Column(db.String(30),index=True) __mapper_args__ = { "polymorphic_identity" : "collegeRepresentative" }
class User_details(db.Model): id = db.Column(db.Integer, primary_key=True) place_id = db.Column(db.Integer, db.ForeignKey('place.id'), nullable=False) gender = db.Column(db.String(50), nullable=False) age = db.Column(db.String(50), nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) address = db.Column(db.String(150), nullable=False) contact = db.Column(db.String(50), nullable=False) image = db.Column(db.String(150), nullable=True)
class Place(db.Model): id = db.Column(db.Integer, primary_key=True) district_id = db.Column(db.Integer, db.ForeignKey('district.id'), nullable=False) place_name = db.Column(db.String(50), nullable=False) hospital_place = db.relationship('Hospital', backref='Place', foreign_keys='Hospital.place_id') doctors = db.relationship('DoctorDetails', backref='DoctorPlace', foreign_keys='DoctorDetails.place_id') userdetails = db.relationship('User_details', backref='UserDetailsPlace', foreign_keys='User_details.place_id') def __str__(self): return "{}".format((self.place_name))
class Users(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) # User Authentication fields email = db.Column(db.String(255), nullable=False, unique=True) username = db.Column(db.String(255), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False) # Relationships roles = db.relationship('Roles', secondary='user_roles') doc_details = db.relationship('DoctorDetails', backref='docDetails') appoinment_to_doctor = db.relationship('Appoinment', backref='doctor_appointed', foreign_keys='Appoinment.doctor_id') appoinment_for_user = db.relationship('Appoinment', backref='user_for_appoinment', foreign_keys='Appoinment.user_id') details_of_user = db.relationship('User_details', backref='user_details', foreign_keys='User_details.user_id') user_test_result = db.relationship('Test_results', backref='test_results', foreign_keys='Test_results.user_id')
class Group(db.Model): id = db.Column(db.Integer,index=True,unique=True,primary_key = True) name = db.Column(db.String(30),index=True,unique=True) domain = db.Column(db.String(30),index=True) #WE should check for a referential integrity constarint over here owner = db.Column(db.String(30),index=True) subOwner = db.Column(db.String(30),index=True) abstract = db.Column(db.Text,index=True) groupType = db.Column(db.String(20),index=True) __mapper_args__= { "polymorphic_on" : groupType, }
class Post(db.Model): id = db.Column(db.Integer,index=True,primary_key=True) groupIdPosted = db.Column(db.Integer,db.ForeignKey("group.id"),index=True) content = db.Column(db.Text,index=True) datetime = db.Column(db.DateTime,default=datetime.utcnow) visibility = db.Column(db.String(10),index=True) owner = db.Column(db.String(10),index=True) __mapper_args__={ "polymorphic_on" : "owner" }
class Hospital(db.Model): id = db.Column(db.Integer, primary_key=True) hospital_name = db.Column(db.String(50), nullable=False) hospital_address = db.Column(db.String(50), nullable=False) hospital_contact = db.Column(db.String(50), nullable=False) hospital_email = db.Column(db.String(50), nullable=False) place_id = db.Column(db.Integer, db.ForeignKey('place.id'), nullable=False) hospital_of_doctor = db.relationship( 'DoctorDetails', backref='doctorDetails', foreign_keys='DoctorDetails.hospital_id')
class UserProfile(db.Model): id = db.Column(db.Integer,db.ForeignKey("user.id")) #Thsi will take care of usn for Students,faculty ids ... collegeId = db.Column(db.Integer,index=True,unique=True,primary_key= True) firstName = db.Column(db.String(30),index=True) lastName = db.Column(db.String(30),index=True) dob = db.column(db.Date) #Assuming only one contact.If there are more than 1 contacts we need to denormalize it and shit... contact = db.Column(db.Integer,index=True,unique=True) bio = db.Column(db.Text,index=True) interests = db.Column(db.Text,index=True) skills = db.Column(db.Text,index=True) userType = db.Column(db.String(20),index=True) __mapper_args__ = { 'polymorphic_on' : userType } def __repr__(self): return '<UserProfile {}>'.format(self.firstName)
class Poll_Result(db.Model): # Manual table name choice __tablename__ = 'result' id = db.Column(db.Integer, primary_key=True) date = db.Column(db.Date) location = db.Column(db.Text) question = db.Column(db.Text) happy_count = db.Column(db.Integer) sad_count = db.Column(db.Integer) def __init__(self, date, location, question, happy_count, sad_count): self.date = date self.location = location self.question = question self.happy_count = happy_count self.sad_count = sad_count def __repr__(self): return f"{self.location} has {self.happy_count} happy customers and {self.sad_count} sad customers"
class DoctorDetails(db.Model): id = db.Column(db.Integer, primary_key=True) place_id = db.Column(db.Integer, db.ForeignKey('place.id'), nullable=False) doctor_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) doctor_gender = db.Column(db.String(150), nullable=False) doctor_address = db.Column(db.String(150), nullable=False) doctor_contact = db.Column(db.String(50), nullable=False) doctor_specialization = db.Column(db.Integer, db.ForeignKey('specialization.id'), nullable=False) doctor_department = db.Column(db.Integer, db.ForeignKey('department.id'), nullable=False) doctor_registration = db.Column(db.String(50), nullable=False) doctor_image = db.Column(db.String(150), nullable=True) hospital_id = db.Column(db.Integer, db.ForeignKey('hospital.id'), nullable=False) doctor_status = db.Column(db.Integer, default=0)
class Whitelist_url(db.Model): id = db.Column(db.Integer, primary_key=True) white_url = db.Column(db.String(50), nullable=False, unique=True)
class Blacklist_url(db.Model): id = db.Column(db.Integer, primary_key=True) black_url = db.Column(db.String(50), nullable=False, unique=True)
class Roles(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True)
class UserRoles(db.Model): 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 UserBlocked(db.Model): id = db.Column(db.Integer, primary_key=True) black_url = db.Column(db.String(50), nullable=False, unique=False) userid = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
class Test_results(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) test_img_name = db.Column(db.String(150), nullable=False, unique=True) test_result = db.Column(db.String(150), nullable=False)
class Faculty(UserProfile): researchBody = db.Column(db.String(30),index=True) __mapper_args__ = { "polymorphic_identity" : "faculty" }
class Specialization(db.Model): id = db.Column(db.Integer, primary_key=True) specialization_name = db.Column(db.String(50), unique=True) doctor_details = db.relationship('DoctorDetails', backref='DoctorDetailsSpecialization')
class Articles(db.Model): __tablename__ = 'articles' id = db.Column(db.Integer, primary_key=True) author = db.Column(db.Text) title = db.Column(db.Text) description = db.Column(db.Text) source = db.Column(db.Text) url = db.Column(db.Text) url_to_image = db.Column(db.Text) summary = db.Column(db.Text) published_date = db.Column(db.DateTime, default=datetime.utcnow) sentiment = db.Column(db.String(20)) probability = db.Column(db.String(20)) article_type = db.Column(db.String(20))
class Usuario(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) nombre = db.Column(db.String, nullable=False) password = db.Column(db.String, nullable=False) correo = db.Column(db.String, nullable=False) direccion = db.Column(db.String, nullable=True)
class Department(db.Model): id = db.Column(db.Integer, primary_key=True) department = db.Column(db.String(50), unique=True)