aboutsummaryrefslogtreecommitdiff
path: root/app/models.py
diff options
context:
space:
mode:
authorGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-18 14:42:23 +0000
committerGertjan van den Burg <gertjanvandenburg@gmail.com>2019-03-18 14:42:23 +0000
commitca0586953fa0da443ab54eb960bf90a8fbdeed7d (patch)
treed85e112174f050a2271d39060dbfe640fd10722a /app/models.py
parentinitial commit (diff)
downloadAnnotateChange-ca0586953fa0da443ab54eb960bf90a8fbdeed7d.tar.gz
AnnotateChange-ca0586953fa0da443ab54eb960bf90a8fbdeed7d.zip
add registration
Diffstat (limited to 'app/models.py')
-rw-r--r--app/models.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/app/models.py b/app/models.py
index 9d11ffb..b607748 100644
--- a/app/models.py
+++ b/app/models.py
@@ -1,11 +1,15 @@
import datetime
+from flask_login import UserMixin
+
+from werkzeug.security import generate_password_hash, check_password_hash
from app import db
+from app import login
-class User(db.Model):
+class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(), unique=True, nullable=False)
@@ -17,6 +21,12 @@ class User(db.Model):
def __repr__(self):
return "<User %r>" % self.username
+ def set_password(self, password):
+ self.password_hash = generate_password_hash(password)
+
+ def check_password(self, password):
+ return check_password_hash(self.password_hash, password)
+
class Dataset(db.Model):
id = db.Column(db.Integer, primary_key=True)
@@ -57,3 +67,8 @@ class Annotation(db.Model):
def __repr__(self):
return "<Annotation %r>" % self.id
+
+
+@login.user_loader
+def load_user(_id):
+ return User.query.get(int(_id))