+ def get_role_list(self, filter_q=None):
+ """
+ Get all the roles.
+
+ :param filter_q: dictionary to filter role list by _id and/or name.
+ :return: list of roles
+ """
+ raise AuthconnNotImplementedException("Should have implemented this")
+
+ def get_role(self, _id, fail=True):
+ """
+ Get one role
+ :param _id: id or name
+ :param fail: True to raise exception on not found. False to return None on not found
+ :return: dictionary with the role information
+ """
+ filt = {BaseTopic.id_field("roles", _id): _id}
+ roles = self.get_role_list(filt)
+ if not roles:
+ if fail:
+ raise AuthconnNotFoundException("Role with {} not found".format(filt))
+ else:
+ return None
+ return roles[0]
+
+ def update_role(self, role_info):
+ """
+ Change the information of a role
+ :param role_info: full role info
+ :return: None
+ """
+ raise AuthconnNotImplementedException("Should have implemented this")
+
+ def create_project(self, project_info):