aboutsummaryrefslogtreecommitdiff
path: root/app/database.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/database.py')
-rw-r--r--app/database.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/database.py b/app/database.py
new file mode 100644
index 0000000..24e1930
--- /dev/null
+++ b/app/database.py
@@ -0,0 +1,25 @@
+from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String
+from sqlalchemy.orm import relationship, backref
+from . import db
+from flask_security.core import RoleMixin, UserMixin
+
+class User(db.Model, UserMixin):
+ id = Column(String, primary_key=True)
+ email = Column(String, unique=True, nullable=False)
+ password = Column(String, nullable=False)
+ pref_name = Column(String, nullable=False)
+ last_login = Column(DateTime, nullable=False)
+ fs_uniquifier = Column(String, unique=True, nullable=False)
+ active = Column(Boolean, nullable=False)
+ roles = relationship('Role', secondary='roles_users',backref=backref('users', lazy='dynamic'))
+
+class Role(db.Model, RoleMixin):
+ id = Column(String, primary_key=True)
+ name = Column(String, unique=True)
+ description = Column(String)
+
+class RolesUsers(db.Model):
+ __tablename__ = "roles_users"
+ id = Column(Integer(), primary_key=True)
+ user_id = Column('user_id', String(), ForeignKey('user.id'))
+ role_id = Column('role_id', String(), ForeignKey('role.id'))