'Copy all the course assets from source_course_key to dest_course_key.
Arguments:
source_course_key (CourseKey): identifier of course to copy from
dest_course_key (CourseKey): identifier of course to copy to'

@contract(source_course_key='CourseKey', dest_course_key='CourseKey')
def copy_all_asset_metadata(self, source_course_key, dest_course_key, user_id):

    source_structure = self._lookup_course(source_course_key).structure
    with self.bulk_operations(dest_course_key):
        original_structure = self._lookup_course(dest_course_key).structure
        index_entry = self._get_index_if_valid(dest_course_key)
        new_structure = self.version_structure(dest_course_key, original_structure, user_id)
        new_structure['assets'] = source_structure.get('assets', {})
        new_structure['thumbnails'] = source_structure.get('thumbnails', [])
        self.update_structure(dest_course_key, new_structure)
        if (index_entry is not None):
            self._update_head(dest_course_key, index_entry, dest_course_key.branch, new_structure['_id'])
