from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String(20), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) role = db.Column(db.Enum('Administrator', 'User'), default='User') password = db.Column(db.String(162), nullable=False) def to_dict(self): return {"id": self.id, "username": self.username, "email": self.email, "role": self.role} @staticmethod def get_editable_fields(): return {"username", "email", "role", "password"} class RevokedToken(db.Model): jti = db.Column(db.String(100), primary_key=True)