class User(UserMixin, database.Model): """User account model.""" __tablename__ = 'flasklogin-users' id = database.Column(database.Integer, primary_key=True) name = database.Column(database.String(100), nullable=False, unique=False) email = database.Column(database.String(40), unique=True, nullable=False) role = database.Column(database.String(40), unique=True, nullable=False) password = database.Column(database.String(200), primary_key=False, unique=False, nullable=False) enrolled = database.relationship("EduSchedu", secondary=student_identifier, backref=database.backref('enrolled'), lazy='dynamic') approlled = database.relationship("ApptSchedu", secondary=student_appt, backref=database.backref('approlled'), lazy='dynamic') def avatar(self, size): digest = md5(self.email.lower().encode('utf-8')).hexdigest() return 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format( digest, size) def set_password(self, password): self.password = generate_password_hash(password, method='sha256') def check_password(self, password): return self.password def __repr__(self): return "%s" % (self.name)
class Registration(database.Model): def __init__(self, user, tour, date, paid): self.user = user self.tour = tour self.date = date self.isPaid = paid __tablename__ = 'registrations' id = database.Column(database.Integer, primary_key=True) tour_id = database.Column(database.Integer, database.ForeignKey('tours.id'), nullable=False) tour = database.relationship('Tour', backref=database.backref('registrations', lazy='dynamic')) user_id = database.Column(database.Integer, database.ForeignKey('users.id'), nullable=False) user = database.relationship('User', backref=database.backref('registrations', lazy='dynamic')) date = database.Column(database.DateTime) isPaid = database.Column(database.Boolean) def __repr__(self): return '<Registration \'{}\'>'.format(self.id)
class User(database.Model, UserMixin): id = database.Column(database.Integer, primary_key=True) name = database.Column(database.String(255)) last_name = database.Column(database.String(255)) email = database.Column(database.String(255), unique=True) password_hash = database.Column(database.String(255)) active = database.Column(database.Boolean(), default=False) roles = database.relationship( 'Role', secondary=roles_users, ) seances_and_users = database.relationship( 'Seance', secondary=seances_and_users, cascade="all,delete", backref=database.backref('users_on_seance', passive_deletes=True) ) def __str__(self): return "{} {}".format(self.name, self.last_name) 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 push_user_to_database_and_set_role(self): from app import user_datastore user_datastore.create_user(name=self.name, last_name=self.last_name, email=self.email, password_hash=self.password_hash, active=False) user_datastore.add_role_to_user(self.email, 'user')
class Notification(database.Model): def __init__(self, to_user, subject_, message, date_): self.to_user_id = to_user self.subject = subject_ self.message = message self.date = date_ self.read = 0 __tablename__ = 'notification' id = database.Column(database.Integer, primary_key=True) to_user_id = database.Column(database.Integer, database.ForeignKey('users.id'), nullable=False) to_user = database.relationship('User', backref=database.backref('notification', lazy='dynamic')) date = database.Column(database.DateTime, nullable=False) message = database.Column(database.Text) read = database.Column(database.Integer) subject = database.Column(database.Text) def __repr__(self): return '<Notification \'{}\'>'.format(self.id)
class User(database.Model, UserMixin): id = database.Column(database.Integer, primary_key=True) email = database.Column(database.String(100), unique=True) password = database.Column(database.String(255)) active = database.Column(database.Boolean) roles = database.relationship( 'Role', secondary=user_role_relation_database, backref=database.backref('users'), lazy='dynamic' )
class EduSchedu(database.Model): __tablename__ = 'classes' id = database.Column(database.Integer, primary_key=True) time = database.Column(TIME(), nullable=False) dow = database.Column(database.Integer, default='') classname = database.Column(database.String(100), default='') zoomlink = database.Column(database.String(500), default='') students = database.relationship("User", secondary=student_identifier, backref=database.backref('students'), lazy='dynamic')
class Tour(database.Model): def __init__(self, data): self.name = data['name'] self.place = data['place'] self.start_datetime = data['start_date'] self.end_datetime = data['end_date'] self.experience_id = data['experience'] self.tour_guide_id = data['tour_guide'] self.description = data['description'] self.price = data['price'] __tablename__ = 'tours' id = database.Column(database.Integer, primary_key=True) name = database.Column(database.String(64), index=True) place = database.Column(database.String(64)) start_datetime = database.Column(database.DateTime) end_datetime = database.Column(database.DateTime) images = database.Column(database.Text) experience_id = database.Column(database.Integer, database.ForeignKey('experiences.id')) experience = database.relationship('Experience', backref=database.backref( 'tours', lazy='dynamic')) tour_guide_id = database.Column(database.Integer, database.ForeignKey('users.id')) tour_guide = database.relationship('User', backref=database.backref( 'tours', lazy='dynamic')) description = database.Column(database.Text) price = database.Column(database.Integer) def __repr__(self): return '{}'.format(self.name)
class User(UserMixin, database.Model): def __init__(self, name, pwd, email_): self.username = name self.password = pwd self.email = email_ __tablename__ = 'users' id = database.Column(database.Integer, primary_key=True) username = database.Column(database.String(64), unique=True, index=True) password = database.Column(database.String(40), nullable=False) fullname = database.Column(database.String(64), nullable=False) avatar_src = database.Column(database.String(100)) birth = database.Column(database.Date) experience_id = database.Column(database.Integer, database.ForeignKey('experiences.id')) experience = database.relationship('Experience', backref=database.backref( 'users', lazy='dynamic')) account_type_id = database.Column(database.Integer, database.ForeignKey('roles.id')) account_type = database.relationship('Role', backref=database.backref( 'users', lazy='dynamic')) email = database.Column(database.String(100), nullable=False) phone = database.Column(database.String(11)) allowance = database.Column(database.Integer) numoftours = database.Column(database.Integer) status = database.Column(database.Integer) def __repr__(self): return '<User \'{}\'>'.format(self.username)
class Product(database.Model): __searchable__ = ["name", "price"] id = database.Column(database.Integer, primary_key=True) name = database.Column(database.String(50), unique=True, nullable=False) price = database.Column(database.Integer, nullable=False, default=0.00) rating = database.Column(database.Integer, nullable=True, default=5) description = database.Column(database.Text, nullable=False) image_file = database.Column( database.String(150), unique=False, nullable=True, default="/static/profilePics/default_" + str(random.randint(1, len(os.listdir("app/static/profilePics")) + 1)) + ".jpg") date_posted = database.Column(database.DateTime, nullable=False, default=datetime.utcnow) company_id = database.Column(database.Unicode(36), database.ForeignKey("company.id"), nullable=True) reviews = database.relationship("Review", cascade="all,delete", backref="product", lazy="dynamic") wishlist = database.relationship("User", secondary=items, backref=database.backref("wishlist", lazy="dynamic")) @staticmethod def generate_fake(): from random import seed import forgery_py seed() company_count = Company.query.count() for i in range(company_count): company = Company.query.offset(randint(0, company_count - 1)).first() product = Review(name=forgery_py.lorem_ipsum.words(randint(1, 3)), price=forgery_py.monetary.money(), description=forgery_py.lorem_ipsum.sentences( randint(1, 3)), company=company) database.session.add(product) database.session.commit()
class Post(database.Model): id = database.Column(database.Integer, primary_key=True) title = database.Column(database.String(256)) slug = database.Column(database.String(256), unique=True) body = database.Column(database.Text) creation_date = database.Column(database.DateTime, default=datetime.now()) tags = database.relationship( 'Tag', secondary=post_tag_relation_database, backref=database.backref('posts'), lazy='dynamic' ) def __init__(self, *args, **kwargs): super(Post, self).__init__(*args, **kwargs) if self.title: self.slug = slugify(self.title, 'Post') else: self.slug = slugify(str(int(time())), 'Post') # Magic method that will return the object name while using print(object) def __repr__(self): return f'<Post id: {self.id} title: {self.title}>'
class Post(database.Model): id = database.Column(database.Integer, primary_key=True) title = database.Column(database.String(140)) slug = database.Column(database.String(140), unique=True) body = database.Column(database.Text) created = database.Column(database.DateTime, default=datetime.now()) tags = database.relationship('Tag', secondary=post_tags, backref=database.backref('posts'), lazy='dynamic') def __init__(self, *args, **kwargs): super(Post, self).__init__(*args, **kwargs) self.generate_slug() def generate_slug(self): if self.title: self.slug = slugify(self.title) def __repr__(self): return '{}'.format(self.title)
class PatientService(database.Model): __tablename__ = 'patient_services' id = database.Column(database.Integer, autoincrement=True, primary_key=True, info={'label': 'ID'}) provided_service = database.Column(database.String(255), nullable=False, info={'label': 'Service Provided'}) service_date = database.Column(database.Date, nullable=False, info={'label': 'Date'}) service_name = database.Column(database.String(100), nullable=False, info={'label': 'Name of Lab Test'}) service_type = database.Column(database.Enum('Hematology', 'Microbiology', 'Chemical Pathology', 'Histopathology', 'Immunology'), nullable=False, info={'label': 'Service Type'}) provider_name = database.Column(database.String(100), nullable=False, info={'label': 'Doctor Name'}) provider_source = database.Column(database.String(150), nullable=False, info={'label': 'Name of Hospital'}) cost = database.Column(database.DECIMAL, nullable=False, info={'label': 'Cost of Services'}) patient_id = database.Column(database.Integer, database.ForeignKey('patient.id'), nullable=False, info={'label': 'Patient ID'}) patient = database.relationship(Patient, backref=database.backref("services"), lazy=True)