Ejemplo n.º 1
0
Archivo: models.py Proyecto: idjaw/yams
class yamsBoxGroup(BaseDashboardUnitWithText):
    __tablename__ = "yams_box_group"

    # boxgroups are associated with a single yamsBoxGroupPanel
    yams_box_panel_id = db.Column(db.Integer,
                                  db.ForeignKey('yams_box_panel.id'))

    def __repr__(self):
        return "<yamsBoxGroup %r : %r %r>" % self.id, self.active, self.last_updated
Ejemplo n.º 2
0
class UserContact(db.Model):

    __tablename__ = "user_contact"

    _id = db.Column("id", db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    first_name = db.Column(db.String(50), default="", unique=True)
    last_name = db.Column(db.String(50), default="", unique=True)
    description = db.Column(db.String(500))

    # string because ext. #
    phone_number = db.Column(db.String(50))
    skype_handle = db.Column(db.String(100))
    google_handle = db.Column(db.String(100))
    email_address = db.Column(db.String(200), unique=True)
Ejemplo n.º 3
0

class UnixPermission(Enum):
    READ = 1
    WRITE = 2
    EXECUTE = 4
    NONE = 0
    READ_WRITE = READ + WRITE
    READ_EXECUTE = READ + EXECUTE
    ALL = READ + WRITE + EXECUTE

# users have multiple groups, groups can have multiple people
uid_gid_association = db.Table(
    'mapping_user_group',
    db.metadata,
    db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('group_id', db.Integer, db.ForeignKey('group.id'))
)

# groups can have multiple roles, permissions have multiple groups
gid_rid_association = db.Table(
    'mapping_group_role',
    db.metadata,
    db.Column('group_id', db.Integer, db.ForeignKey('group.id')),
    db.Column('role_id', db.Integer, db.ForeignKey('role.id'))
)


class BaseUser(db.Model):
    __abstract__ = True
Ejemplo n.º 4
0
Archivo: models.py Proyecto: idjaw/yams
 def owner_group_id(cls):
     return db.Column(db.Integer, db.ForeignKey("group.id"))
Ejemplo n.º 5
0
Archivo: models.py Proyecto: idjaw/yams
 def owner_user_id(cls):
     return db.Column(db.Integer, db.ForeignKey("user.id"))
Ejemplo n.º 6
0
Archivo: models.py Proyecto: idjaw/yams

# display is currently:

# yamsPanel ~= row
#   inside a yamsPanel is a yamsBoxGroup
#       inside a yamsBoxGroup is N yamsBox

# yamsPanels/rows are ordered vertically.
# yamsBoxes are ordered positionally in their group "horizontally"

# a yamsBox is potentially many to many to a yamsBoxGroup  (if not, we'd have duplicate rows to present the same content).
# e.g. linking Github and AWS in 'deploy' group, or AWS and Netflix
yamsbox_yamsboxgroup_association = db.Table(
    'mapping_yams_box__yams_box_group', db.metadata,
    db.Column('yams_box_id', db.Integer, db.ForeignKey('yams_box.id')),
    db.Column('yams_box_group_id', db.Integer,
              db.ForeignKey('yams_box_group.id')))


class BaseDashboardUnit(db.Model):
    __abstract__ = True

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    active = db.Column(db.Boolean, nullable=False, default=True)
    last_updated = db.Column(db.DateTime, default=datetime.utcnow)

    @declared_attr
    def owner_user_id(cls):
        return db.Column(db.Integer, db.ForeignKey("user.id"))
Ejemplo n.º 7
0
# try to use Flask-SQLAlchemy before heading down this path
#from sqlalchemy.ext.declarative import declarative_base
#Base = declarative_base()


class UnixPermission:
    READ = 1
    WRITE = 2
    EDIT = 4
    READ_WRITE = READ + WRITE
    ALL = READ + WRITE + EDIT


uid_gid_association = db.Table(
    'gid_uid_mapping', db.metadata,
    db.Column('uid', db.Integer, db.ForeignKey('user.id')),
    db.Column('gid', db.Integer, db.ForeignKey('group.id')))


class User(db.Model):
    __tablename__ = "user"

    _id = db.Column("id", db.Integer, primary_key=True)
    usercontact_id = db.relationship("UserContact",
                                     uselist=False,
                                     backref="user")

    password_hash = db.Column(db.String(255), nullable=False)

    active = db.Column(db.Boolean, nullable=False, default=False)
    super_admin = db.Column(db.Boolean, default=False)