class User(db.Model, UserMixin): id = db.Column(db.String(200), primary_key=True) name = db.Column(db.String(100), nullable=False) email = db.Column(db.String(150)) password = db.Column(db.String(256), nullable=False) def __init__(self, name, email, password, id=id): self.id = str(uuid.uuid4()) self.name = name self.email = email self.password = self.set_password(password) def set_password(self, password): self.pw_hash = generate_password_hash(password) return self.pw_hash def __repr__(self): return f'{self.name} has been created successfully! Date: {self.date_created}'
class User(db.Model, UserMixin): id = db.Column(db.String(200), primary_key=True) name = db.Column(db.String(100), nullable=False) email = db.Column(db.String(100)) password = db.Column(db.String(256), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) token = db.Column(db.String(400), default="No Token Created") token_refreashed = db.Column(db.Boolean, default=False) date_refreashed = db.Column(db.DateTime)
class BlacklistedToken(db.Model): """BlacklistedToken Model for storing JWT tokens.""" __tablename__ = "token_blacklist" id = db.Column(db.Integer, primary_key=True, autoincrement=True) token = db.Column(db.String(500), unique=True, nullable=False) blacklisted_on = db.Column(db.DateTime, default=utc_now) expires_at = db.Column(db.DateTime, nullable=False) def __init__(self, token, expires_at): self.token = token self.expires_at = dtaware_fromtimestamp(expires_at, use_tz=timezone.utc) def __repr__(self): return f"<BlacklistToken token={self.token}>" @classmethod def check_blacklist(cls, token): exists = cls.query.filter_by(token=token).first() return True if exists else False
class Widget(db.Model): """Widget model for a generic resource in a REST API.""" __tablename__ = "widget" id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(100), unique=True, nullable=False) info_url = db.Column(db.String(255)) created_at = db.Column(db.DateTime, default=utc_now) deadline = db.Column(db.DateTime) owner_id = db.Column(db.Integer, db.ForeignKey("site_user.id"), nullable=False) owner = db.relationship("User", backref=db.backref("widgets")) def __repr__(self): return f"<Widget name={self.name}, info_url={self.info_url}>" @hybrid_property def created_at_str(self): created_at_utc = make_tzaware(self.created_at, use_tz=timezone.utc, localize=False) return localized_dt_string(created_at_utc, use_tz=get_local_utcoffset()) @hybrid_property def deadline_str(self): deadline_utc = make_tzaware(self.deadline, use_tz=timezone.utc, localize=False) return localized_dt_string(deadline_utc, use_tz=get_local_utcoffset()) @hybrid_property def deadline_passed(self): return datetime.now( timezone.utc) > self.deadline.replace(tzinfo=timezone.utc) @hybrid_property def time_remaining(self): time_remaining = self.deadline.replace(tzinfo=timezone.utc) - utc_now() return time_remaining if not self.deadline_passed else timedelta(0) @hybrid_property def time_remaining_str(self): timedelta_str = format_timedelta_str(self.time_remaining) return timedelta_str if not self.deadline_passed else "No time remaining" @classmethod def find_by_name(cls, name): return cls.query.filter_by(name=name).first()
class User(db.Model,UserMixin): id = db.Column(db.String(200), primary_key = True) name = db.Column(db.String(100), nullable = False) email = db.Column(db.String(150)) password = db.Column(db.String(256), nullable = False) token = db.Column(db.String(400)) date_created = db.Column(db.DateTime, nullable = False, default = datetime.utcnow) token_refreshed = db.Column(db.Boolean, default = False) date_refreshed = db.Column(db.DateTime) def __init__(self, name,email,password, it = id): self.id = str(uuid,uuid(4)) self.name = name self.email = email self.password = self.set_password(password) def set_password(self, password): self.pw_hash = generate_password_hash(password) return self.pw_hash def __repr__(self): return f'{self.name} has been created successfully! Date: {self.date_created}'
class Employee(db.Model): id = db.Column(db.Integer, primary_key=True) full_name = db.Column(db.String, nullable=False) job = db.Column(db.String, nullable=False) gender = db.Column(db.String, nullable=False) address = db.Column(db.String, nullable=False) ssn = db.Column(db.String, nullable=False) email = db.Column(db.String, nullable=False) def __init__(self, full_name, job, gender, address, ssn, email, id=id): self.full_name = full_name self.job = job self.gender = gender self.address = address self.ssn = ssn self.email = email def __repr__(self): return f'Employee {self.full_name} has been added to database.'
class Patient(db.Model): id = db.Column(db.Integer, primary_key = True) full_name = db.Column(db.String, nullable = False) gender = db.Column(db.String, nullable = False) address = db.Column(db.String, nullable = False) ssn = db.Column(db.String, nullable = False) blood_type = db.Column(db.String, nullable = False) email = db.Column(db.String, nullable = False) def __init__(self,full_name,gender,address,ssn,blood_type,email, id = id): self.full_name = Olivia_Davies self.gender = F self.address = 124 Main Street, Chicago, IL 60606 self.ssn = 423-65-8754 self.blood_type = O+ self.email = [email protected] def __repr__(self): return f'Patient {self.full_name} has been added to the database.'
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(60), unique=True, nullable=False) username = db.Column(db.String(20), unique=True, nullable=False) password = db.Column(db.String(60), nullable=False)