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