# Path: moira_client/client.py
# class InvalidJSONError(Exception):
#     def __init__(self, content):
#         """
# 
#         :param content: bytes response content
#         """
#         self.content = content
# 
# Path: moira_client/client.py
# class ResponseStructureError(Exception):
#     def __init__(self, msg, content):
#         """
# 
#         :param msg: str error message
#         :param content: dict response content
#         """
#         self.msg = msg
#         self.content = content


from ..client import InvalidJSONError
from ..client import ResponseStructureError

    def fetch(self, start, end):
        """
        Gets a paginated list of notifications
        :return: list of dict

        :param start
        :param end

        :raises: ResponseStructureError
        """
        params = {
            'start': start,
            'end': end
        }
        result = self._client.get(self._full_path(), params=params)
        if 'list' not in result:
            raise ResponseStructureError("list doesn't exist in response", result)

        return result['list']

    def delete_all(self):
        """
        Remove all notifications

        :return: True on success, False otherwise
        """
        try:
            result = self._client.delete(self._full_path("all"))
            return False

# Path: moira_client/client.py
# class InvalidJSONError(Exception):
#     def __init__(self, content):
#         """
# 
#         :param content: bytes response content
#         """
#         self.content = content
# 
# Path: moira_client/client.py
# class ResponseStructureError(Exception):
#     def __init__(self, msg, content):
#         """
# 
#         :param msg: str error message
#         :param content: dict response content
#         """
#         self.msg = msg
#         self.content = content


# Path: moira_client/models/notification.py
from ..client import InvalidJSONError
from ..client import ResponseStructureError


    def fetch(self, start, end):
        """
        Gets a paginated list of notifications
        :return: list of dict

        :param start
        :param end

        :raises: ResponseStructureError
        """
        params = {
            'start': start,
            'end': end
        }
        result = self._client.get(self._full_path(), params=params)
        if 'list' not in result:
            raise ResponseStructureError("list doesn't exist in response", result)

        return result['list']

    def delete_all(self):
        """
        Remove all notifications

        :return: True on success, False otherwise
        """
        try:
            result = self._client.delete(self._full_path("all"))
            return False

        except InvalidJSONError as e: