Esempio n. 1
0
class RoleController:
    def __init__(self, connection):
        self.connection = connection
        from models.role import Role
        from models.user_role import UserRole
        self.role = Role(connection)
        self.user_role = UserRole(connection)
        from token_controller import TokenController
        self.token_controller = TokenController(connection)
        from user_role_controller import UserRoleController
        self.user_role_controller = UserRoleController(connection)

    def is_admin(self, user_id):
        row = self.user_role.find({
            'user_id': user_id,
            'role_id': ADMIN_ROLE_ID
        })
        if len(row) > 0: return True
        else: return False

    # only the admin can create a role
    def create(self, access_token, params):
        rows = self.token_controller.find(access_token)
        user_id = rows[0]['user_id']
        if not self.is_admin(user_id): raise Exception("not permitted")
        self.role.create(params)
        return True

    def update(self, access_token, params):
        raise Exception("not supported")

    def delete(self, access_token, params):
        raise Exception("not supported")

    """
    1. find all roles if I'm the admin
    2. find only roles where I'm the role admin
    """

    def find_all(self, access_token, params=None):
        rows = self.token_controller.find(access_token)
        user_id = rows[0]['user_id']
        return self.user_role_controller.find_by_user_id(user_id)

    def find_one(self, access_token, params):
        raise Exception("not supported")
Esempio n. 2
0
class RoleController:

    def __init__(self, connection):
        self.connection = connection
        from models.role import Role
        from models.user_role import UserRole
        self.role = Role(connection)
        self.user_role = UserRole(connection)
        from token_controller import TokenController
        self.token_controller = TokenController(connection)
        from user_role_controller import UserRoleController
        self.user_role_controller = UserRoleController(connection)

    def is_admin(self, user_id):
        row = self.user_role.find({'user_id': user_id, 'role_id': ADMIN_ROLE_ID})
        if len(row) > 0:  return True
        else: return False

    # only the admin can create a role
    def create(self, access_token, params):
        rows = self.token_controller.find(access_token)
        user_id = rows[0]['user_id']
        if not self.is_admin(user_id):  raise Exception("not permitted")
        self.role.create(params)
        return True

    def update(self, access_token, params):
        raise Exception("not supported")

    def delete(self, access_token, params):
        raise Exception("not supported")

    """
    1. find all roles if I'm the admin
    2. find only roles where I'm the role admin
    """
    def find_all(self, access_token, params=None):
        rows = self.token_controller.find(access_token)
        user_id = rows[0]['user_id']
        return self.user_role_controller.find_by_user_id(user_id)

    def find_one(self, access_token, params):
        raise Exception("not supported")
Esempio n. 3
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'})
Esempio 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'})