21 lines
		
	
	
		
			733 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			733 B
		
	
	
	
		
			Python
		
	
	
	
	
	
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)
 |