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, id=id): self.id = str(uuid.uuid4()) # instead of an integer for user.id, makes a complex user.id 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): id = db.Column(db.Integer, primary_key=True) public_id = db.Column(db.String(50), unique=True) name = db.Column(db.String(50)) password = db.Column(db.String(80)) admin = db.Column(db.Boolean) def __repr__(self): return f"Todo('{self.public_id}' , '{self.name}', '{self.password}', {self.admin})"
class users(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) password = db.Column(db.String(60), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) image_file = db.Column(db.String(20), nullable=False, default='default.jpg') api_key = db.relationship('apikeys', backref='owner', lazy=True) #list? not obj def __repr__(self): return f"users('{self.username}', '{self.email}, '{self.image_file}')"
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 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 Todo(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String(100)) status = db.Column(db.Boolean) def __repr__(self): return f"User('{self.username}')"
class apikeys(db.Model): key = db.Column(db.String(36), primary_key=True, nullable=False, default='') expiration = db.Column(db.Integer, nullable=False, default=-1) user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False, default='-1') active = db.Column(db.Boolean, default=False) def __repr__(self): return f"apikeys('{self.key}', '{self.expiration}, '{self.user_id}', '{self.active}')"
class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(50)) complete = db.Column(db.Boolean) user_id = db.Column(db.Integer) def __repr__(self): return f"Todo('{self.id}' , '{self.text}', '{self.complete}', {self.user_id})"
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 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 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)