示例#1
0
    def get_role(self, admin_token, role_id):
        self.__validate_token(admin_token)

        drole = db_api.role_get(role_id)
        if not drole:
            raise fault.ItemNotFoundFault("The role could not be found")
        return roles.Role(drole.id, drole.desc)
示例#2
0
    def create_role_ref(self, admin_token, user_id, roleRef):
        self.__validate_token(admin_token)
        duser = db_api.user_get(user_id)

        if not duser:
            raise fault.ItemNotFoundFault("The user could not be found")
            
        if not isinstance(roleRef, roles.RoleRef):
            raise fault.BadRequestFault("Expecting a Role Ref")

        if roleRef.role_id == None:
            raise fault.BadRequestFault("Expecting a Role Id")
            
        drole = db_api.role_get(roleRef.role_id)
        if drole == None:
            raise fault.ItemNotFoundFault("The role not found")
            
        if roleRef.tenant_id == None:
            raise fault.BadRequestFault("Expecting a Tenant Id")
        
        dtenant = db_api.tenant_get(roleRef.tenant_id)
        if dtenant == None:
            raise fault.ItemNotFoundFault("The tenant not found")

        drole_ref = db_models.UserRoleAssociation()
        drole_ref.user_id = duser.id
        drole_ref.role_id = drole.id
        drole_ref.tenant_id = dtenant.id
        user_role_ref = db_api.user_role_add(drole_ref)
        roleRef.role_ref_id = user_role_ref.id
        return roleRef
示例#3
0
    def create_role(self, admin_token, role):
        self.__validate_token(admin_token)

        if not isinstance(role, roles.Role):
            raise fault.BadRequestFault("Expecting a Role")

        if role.role_id == None:
            raise fault.BadRequestFault("Expecting a Role Id")

        if db_api.role_get(role.role_id) != None:
            raise fault.RoleConflictFault(
                "A role with that id already exists")
        drole = db_models.Role()
        drole.id = role.role_id
        drole.desc = role.desc
        db_api.role_create(drole)
        return role