summaryrefslogtreecommitdiff
path: root/app/tables/user.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/tables/user.py')
-rw-r--r--app/tables/user.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/tables/user.py b/app/tables/user.py
new file mode 100644
index 0000000..d384fdb
--- /dev/null
+++ b/app/tables/user.py
@@ -0,0 +1,25 @@
+from app import db, login_manager
+from flask_login import UserMixin
+from werkzeug.security import generate_password_hash, check_password_hash
+
+@login_manager.user_loader
+def get_user(user_id):
+ return User.query.get(user_id)
+
+class User(db.Model, UserMixin):
+ __tablename__ = 'users'
+ id = db.Column(db.Integer, primary_key=True)
+ username = db.Column(db.String(80), unique=True, nullable=False)
+ password = db.Column(db.String(80))
+ email = db.Column(db.String(120), unique=True, nullable=False)
+
+ def __init__(self, username, password, email):
+ self.username = username
+ self.password = generate_password_hash(password)
+ self.email = email
+
+ def __repr__(self):
+ return f'<User {self.username}>'
+
+ def verify_password(self, pwd):
+ return check_password_hash(self.password, pwd)