"""User model.""" from flask_login import UserMixin from app import db class User(UserMixin, db.Model): __tablename__ = "users" id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(64), unique=True, nullable=False, index=True) password_hash = db.Column(db.String(256), nullable=False) role = db.Column(db.String(20), nullable=False, default="user") # "admin" | "user" is_active = db.Column(db.Boolean, default=True, nullable=False) def is_admin(self) -> bool: return self.role == "admin" def __repr__(self) -> str: return f""