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'))