Save `archive` into database and into proper indexes.

    Attr:
        archive (obj): Instance of the :class:`.DBArchive`.

    Returns:
        obj: :class:`.DBArchive` without data.

    Raises:
        InvalidType: When the `archive` is not instance of :class:`.DBArchive`.
        UnindexablePublication: When there is no index (property) which can be
                                used to index `archive` in database.

def save_archive(archive):
    """
    Save `archive` into database and into proper indexes.

    Attr:
        archive (obj): Instance of the :class:`.DBArchive`.

    Returns:
        obj: :class:`.DBArchive` without data.

    Raises:
        InvalidType: When the `archive` is not instance of :class:`.DBArchive`.
        UnindexablePublication: When there is no index (property) which can be
                                used to index `archive` in database.
    """
    _assert_obj_type(archive, obj_type=DBArchive)

    _get_handler().store_object(archive)

    return archive.to_comm(light_request=True)