Return list of :class:`.DBArchive` which match all properties that are
    set (``not None``) using AND operator to all of them.

    Example:
        result = storage_handler.search_publications(
            DBArchive(isbn="azgabash")
        )

    Args:
        query (obj): :class:`.DBArchive` with `some` of the properties set.

    Returns:
        list: List of matching :class:`.DBArchive` or ``[]`` if no match \
              was found.

    Raises:
        InvalidType: When the `query` is not instance of :class:`.DBArchive`.

def search_archives(query):
    """
    Return list of :class:`.DBArchive` which match all properties that are
    set (``not None``) using AND operator to all of them.

    Example:
        result = storage_handler.search_publications(
            DBArchive(isbn="azgabash")
        )

    Args:
        query (obj): :class:`.DBArchive` with `some` of the properties set.

    Returns:
        list: List of matching :class:`.DBArchive` or ``[]`` if no match \
              was found.

    Raises:
        InvalidType: When the `query` is not instance of :class:`.DBArchive`.
    """
    _assert_obj_type(query, name="query", obj_type=DBArchive)

    return _get_handler().search_objects(query)