Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

393
Views
¿Cómo puedo crear una función de registro en firebase para el disparador auth.user().onCreate()?

Estoy tratando de iniciar sesión cada vez que se crea y elimina una cuenta.

Creé un disparador functions.auth.user().onCreate() y, según tengo entendido, devuelve un objeto de user como en los documentos: aquí y aquí .

Las funciones se implementan sin problemas, pero cuando se llama al disparador, arroja un error:

 Error: Process exited with code 16 at process.<anonymous> (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:92:22) at process.emit (events.js:314:20) at process.EventEmitter.emit (domain.js:483:12) at process.exit (internal/process/per_thread.js:168:15) at sendCrashResponse (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/logger.js:44:9) at process.<anonymous> (/layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/invoker.js:88:44) at process.emit (events.js:314:20) at process.EventEmitter.emit (domain.js:483:12) at processPromiseRejections (internal/process/promises.js:209:33) at processTicksAndRejections (internal/process/task_queues.js:98:32)

Error que no puedo entender.

Aquí está mi código

 // functions/index.js const functions = require('firebase-functions') const admin = require('firebase-admin') const { google } = require('googleapis') const { firestore } = require("firebase-admin"); exports.logging = require('./logging'); admin.initializeApp() // And other working functions

Las funciones reales

 // functions/logging.js const functions = require('firebase-functions'); const admin = require('firebase-admin'); const { firestore } = require('firebase-admin'); const authUserTrigger = functions.auth.user() exports.userSignup = authUserTrigger.onCreate((user) => { storeUser(user) }) exports.userDelete = authUserTrigger.onDelete((user) => { storeUser(user) }) async function storeUser(user) { // functions.logger.log(user.email) -> this works // Destructured original object let updatedUser = (({ displayName, email }) => ({ displayName, email }))(user); functions.logger.log('updatedUser', updatedUser ) await admin .firestore() .collection('logs') .doc('users') .collection('signup') .set({ user: {updatedUser}, // I think this is the culprint // user, This doesn't work either createTimestamp: firestore.FieldValue.serverTimestamp() }, { merge: true }) };

Gracias de antemano

EDITAR ========== @Tanay tenía razón. Necesario cambiar el set para add .

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Como dijo @Tanay, no puede usar set() en una colección en Firebase, debe ser un documento. Si desea agregar un documento a la colección con una identificación automática, puede usar add() en la colección con los datos.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!