summaryrefslogtreecommitdiffstats
path: root/modules/user/models.py
diff options
context:
space:
mode:
authorTeddy Wing2015-01-31 17:55:01 -0500
committerTeddy Wing2015-01-31 17:55:01 -0500
commitf5115419d305c743a8df615c4cf16dcb07642062 (patch)
tree6b5d488707ef270ccef2cd241a8694dd99c3aabf /modules/user/models.py
parente15643dd00d14e271d389a9a27f3fd0ae130981e (diff)
downloadedu-net-f5115419d305c743a8df615c4cf16dcb07642062.tar.bz2
Add database & user models
* Database courtesy of Flask-SQLAlchemy * User models from Flask-User
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)