Estoy tratando de implementar algunas comprobaciones de seguridad para mis activadores de funciones en la nube, pero como descubrí que mi configuración actual da como resultado un bucle infinito desde los activadores onCreate y onDelete cuando el documento no es válido. ¿Cómo haría para usar los disparadores onCreate y onDelete para la seguridad sin dar como resultado un bucle infinito o hay otra forma de lograr esto sin usar las reglas de seguridad de Firestore?
export const createEventTrigger = functions.firestore.document("events/{id}").onCreate(async (snapshot, context) => { const event = snapshot.data() as Event; const isValid = await isEventDocumentCreateValid(context, event); if (!isValid) { // Delete the document if it's invalid console.log( `Deleting invalid document for user ${getInvokerUid(context)}` ); await snapshot.ref.delete(); } }); export const deleteEventTrigger = functions.firestore.document("events/{id}").onDelete(async (snapshot, context) => { // Contents of the document as a JavaScript object const event = snapshot.data() as Event; const isValid = await isEventDocumentDeleteValid(context, event); if (!isValid) { // Add back the document if it's invalid console.log( `Adding back doc after invalid document delete for user ${getInvokerUid( context )}` ); await snapshot.ref.set(event); } });