summaryrefslogtreecommitdiffstats
path: root/modules/user/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/models.py')
-rw-r--r--modules/user/models.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/user/models.py b/modules/user/models.py
new file mode 100644
index 0000000..0731a67
--- /dev/null
+++ b/modules/user/models.py
@@ -0,0 +1,32 @@
+from flask_user import UserMixin
+
+from modules.shared.models import db
+
+
+class User(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+
+ # User email information
+ email = db.Column(db.String(255), nullable=False, unique=True)
+ confirmed_at = db.Column(db.DateTime())
+
+ # User information
+ is_enabled = db.Column(db.Boolean(), nullable=False, default=False)
+ first_name = db.Column(db.String(50), nullable=False, default='')
+ last_name = db.Column(db.String(50), nullable=False, default='')
+
+ def is_active(self):
+ return self.is_enabled
+
+
+class UserAuth(db.Model, UserMixin):
+ id = db.Column(db.Integer, primary_key=True)
+ user_id = db.Column(db.Integer(), db.ForeignKey('user.id', ondelete='CASCADE'))
+
+ # User authentication information
+ username = db.Column(db.String(50), nullable=False, unique=True)
+ password = db.Column(db.String(255), nullable=False, default='')
+ reset_password_token = db.Column(db.String(100), nullable=False, default='')
+
+ # Relationships
+ user = db.relationship('User', uselist=False, foreign_keys=user_id)