-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathuser.py
24 lines (19 loc) · 1.07 KB
/
user.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# This file contains setup of the User class for the flask-login extension.
from werkzeug.security import check_password_hash, generate_password_hash
from flask_mongoengine import MongoEngine, Document
from flask_login import UserMixin
import jwt
db = MongoEngine()
# While UserMixin does allow us to inherit the required class attributes, I decided to implement them for clarity of code.
# User is a DynamicDocument, to allow more accessible update schemes.
class User(UserMixin, db.DynamicDocument):
meta = {'collection': 'User'}
display_name = db.StringField(max_length=50)
email = db.StringField(max_length=50)
password = db.StringField()
# A required attribute from flask-login to ensure the login.required decorators operate functionally. As auth here is very simple, all users are considered authenticated if they pass login.
is_authenticated = True
# As required by flask-login. For our purposes, all users are active users.
is_active = True
# As required by flask-login. For our purposes, there are no anonymous users.
is_anonymous = False