Repository URL to install this package:
|
Version:
1.7 ▾
|
import bcrypt
from sqlalchemy import (
Column,
Integer,
Text,
)
from .meta import Base
class User(Base):
""" The SQLAlchemy declarative model class for a User object. """
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(Text, nullable=False, unique=True)
role = Column(Text, nullable=False)
password_hash = Column(Text)
def set_password(self, pw):
pwhash = bcrypt.hashpw(pw.encode('utf8'), bcrypt.gensalt())
self.password_hash = pwhash
def check_password(self, pw):
if self.password_hash is not None:
expected_hash = self.password_hash.encode('utf8')
actual_hash = bcrypt.hashpw(pw.encode('utf8'), expected_hash)
return expected_hash == actual_hash
return False