diff --git a/.gitignore b/.gitignore index bb236fc..c748ea6 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ library/data/*.toc library/data/*.csv library/data/*.seg library/data/MAIN_WRITELOCK -library/data/files/*.pdf +library/files/*.pdf + diff --git a/library/application/models/usermodel.py b/library/application/models/usermodel.py new file mode 100644 index 0000000..82c16b0 --- /dev/null +++ b/library/application/models/usermodel.py @@ -0,0 +1,21 @@ +from app import db +from flask_login import UserMixin + + +class User(UserMixin, db.Model): + """User model class for a user in the library""" + + __tablename__ = "users" + + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(150), unique=True, nullable=False) + email = db.Column(db.String(150), unique=True, nullable=False) + password = db.Column(db.String(300), nullable=False, unique=False) + resethash = db.Column(db.String(300), nullable=True, unique=True) + resettime = db.Column(db.DateTime) + # active = db.Column(db.Boolean, default=False) + tutor = db.Column(db.Boolean, default=False) + admin = db.Column(db.Boolean, default=False) + + def __repr__(self): + return "" % self.email diff --git a/library/deploydb.py b/library/deploydb.py new file mode 100644 index 0000000..30dbab8 --- /dev/null +++ b/library/deploydb.py @@ -0,0 +1,22 @@ +from app import create_app, db +from flask_migrate import upgrade, migrate, init, stamp + + +def deploy(): + """Run deployment of database.""" + + # This model is required for flask_migrate to make the table + from usermodel import User # noqa: F401 + + app = create_app() + app.app_context().push() + db.create_all() + + # migrate database to latest revision + init() + stamp() + migrate() + upgrade() + + +deploy() diff --git a/library/files/files_here b/library/files/files_here new file mode 100644 index 0000000..e69de29 diff --git a/library/forms/registerform.py b/library/forms/registerform.py index d1d6795..28b3bc9 100644 --- a/library/forms/registerform.py +++ b/library/forms/registerform.py @@ -24,7 +24,7 @@ class RegisterForm(FlaskForm): validators.InputRequired(), Email(), Length(6, 64), - ] + ], ) password = PasswordField(