a función @node js onWrite no funciona correctamente en la función de Google Cloud

Tengo esta función de nodo js que intenta actualizar el índice de Algolia una vez que se realiza una adición / actualización / eliminación a las listas de nodos

exports.indexlisting_algolia = 
    functions.database.ref('/Listings/{listingId}').onWrite((snapshot, context) => {
   const index = algolia.initIndex('Listings');
   // var firebaseObject = snapshot.data;
   var firebaseObject = snapshot.data.val();
   console.log("test ",firebaseObject)

   firebaseObject.objectID = context.params.listingId;


  return index.saveObject(firebaseObject).then(
  () => 
   snapshot.data.adminRef.parent.child('last_index_timestamp').set(
      Date.parse(event.timestamp)));
  });

este es mi error thraceback

TypeError: no se puede leer la propiedad 'val' de undefined en exports.indexlisting_algolia.functions.database.ref.onWrite (/user_code/index.js:807:40) en Object. (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:112:27) en next (nativo) en /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28:71 en __awaiter (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:24:12) en cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:82:36) en / var / tmp / worker / worker.js: 733: 24 en process._tickDomainCallback (internal / process / next_tick.js: 135: 7)

line 807 es esta función

var firebaseObject = snapshot.data.val();

Qué estoy haciendo mal y cómo puedo solucionar est

Respuestas a la pregunta(1)

Su respuesta a la pregunta