Ejemplo n.º 1
0
class UserRoleController:

    def __init__(self, connection):
        self.connection = connection
        from models.user import User
        from models.role import Role
        from models.user_role import UserRole
        self.user = User(connection)
        self.role = Role(connection)
        self.user_role = UserRole(connection)

    def find_by_user_id(self, user_id):
        user_roles = self.user_role.find({'user_id': user_id})
        print user_roles
        ids = [ user_role['role_id'] for user_role in user_roles ]
        if ADMIN_ROLE_ID in ids:
            params = {}
        else:
            ids = [ user_role['role_id'] for user_role in user_roles if user_role['is_admin'] ]
            params = {'ids': ids}
        print params
        return self.role.find(params)

    def find_by_role_id(self, role_id):
        user_roles = self.user_role.find({'role_id': role_id})
        print user_roles
        ids = [row['user_id'] for row in user_roles]
        params = {'ids': ids}
        print params
        return self.user.find(params)
Ejemplo n.º 2
0
class UserRoleController:
    def __init__(self, connection):
        self.connection = connection
        from models.user import User
        from models.role import Role
        from models.user_role import UserRole
        self.user = User(connection)
        self.role = Role(connection)
        self.user_role = UserRole(connection)

    def find_by_user_id(self, user_id):
        user_roles = self.user_role.find({'user_id': user_id})
        print user_roles
        ids = [user_role['role_id'] for user_role in user_roles]
        if ADMIN_ROLE_ID in ids:
            params = {}
        else:
            ids = [
                user_role['role_id'] for user_role in user_roles
                if user_role['is_admin']
            ]
            params = {'ids': ids}
        print params
        return self.role.find(params)

    def find_by_role_id(self, role_id):
        user_roles = self.user_role.find({'role_id': role_id})
        print user_roles
        ids = [row['user_id'] for row in user_roles]
        params = {'ids': ids}
        print params
        return self.user.find(params)
Ejemplo n.º 3
0
def role_revoke(id, role):
    role = Role.find(role)
    user = User.find(id).roles
    old_roles = [(lambda y: y.name)(x) for x in user]
    if role.name in old_roles:
        db.table('roles_users').where('user_id', id).where('role_id', role).delete()

    user_old = User.find(id)
    updated_user = User.find(id).roles
    updated_roles = [(lambda y: y.name)(x) for x in updated_user]

    encoded = {'email': user_old.email,
               'name': user_old.name,
               'weight': user_old.weight,
               'role': updated_roles}

    data = jwt.encode(encoded, key=key, algorithm='HS256')
    user_old.token = data;
    save = user_old.save()
    if save:
        return jsonify({
            'message': 'Access controls have been updated'
        }), 202
    else:
        return jsonify({
            'message': 'Some Tragedy has happen try again later'
        }), 404
Ejemplo n.º 4
0
import sys
sys.path.insert(0, r'../..')
from models.connection import connection
from models.role import Role
role = Role(connection)

print role.find({'id': '3867c370-552f-43b8-bed9-6aa00ffc41b4'})
print role.find({
    'ids': [
        '435a6417-6c1f-4d7c-87dd-e8f6c0effc7a',
        'ffffffff-ffff-ffff-ffff-ffffffffffff'
    ]
})
print role.find({'ids': []})
print role.find({})
print role.create({'id': '333', 'name': '333'})

#print role.create({'id':'ffffffff-ffff-ffff-ffff-ffffffffffff', 'name':'admin'})
#print role.create({'id':'435a6417-6c1f-4d7c-87dd-e8f6c0effc7a', 'name':'public'})
#print role.create({'id':'3867c370-552f-43b8-bed9-6aa00ffc41b4', 'name':'Awesome Role'})
Ejemplo n.º 5
0
import sys
sys.path.insert(0, r'../..')
from models.connection import connection
from models.role import Role
role = Role(connection)

print role.find({'id':'3867c370-552f-43b8-bed9-6aa00ffc41b4'})
print role.find({'ids':['435a6417-6c1f-4d7c-87dd-e8f6c0effc7a', 'ffffffff-ffff-ffff-ffff-ffffffffffff']})
print role.find({'ids':[]})
print role.find({})
print role.create({'id':'333', 'name':'333'})

#print role.create({'id':'ffffffff-ffff-ffff-ffff-ffffffffffff', 'name':'admin'})
#print role.create({'id':'435a6417-6c1f-4d7c-87dd-e8f6c0effc7a', 'name':'public'})
#print role.create({'id':'3867c370-552f-43b8-bed9-6aa00ffc41b4', 'name':'Awesome Role'})