class AuthException(Exception):
"""
- Authentication error.
+ Authentication error, because token, user password not recognized
"""
def __init__(self, message, http_code=HTTPStatus.UNAUTHORIZED):
super(AuthException, self).__init__(message)
self.http_code = http_code
+class AuthExceptionUnauthorized(AuthException):
+ """
+ Authentication error, because not having rights to make this operation
+ """
+ pass
+
+
class AuthconnException(Exception):
"""
Common and base class Exception for all authconn exceptions.
super().__init__(message, http_code)
+class AuthconnConflictException(AuthconnException):
+ """
+ The operation has conflicts.
+ """
+ def __init__(self, message, http_code=HTTPStatus.CONFLICT):
+ super().__init__(message, http_code)
+
+
class Authconn:
"""
Abstract base class for all the Auth backend connector plugins.
"""
raise AuthconnNotImplementedException("Should have implemented this")
- def get_role_list(self):
+ 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 update_role(self, role, new_name):
+ """
+ Change the name of a role
+ :param role: role name or id to be changed
+ :param new_name: new name
+ :return: None
+ """
+ raise AuthconnNotImplementedException("Should have implemented this")
+
def create_project(self, project):
"""
Create a project.