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

188
Views
Múltiples variaciones de marcas de tiempo de Firebase

Guardo una lista de usuarios invitados a una organización, junto con la marca de tiempo que indica cuándo caduca la invitación en Firebase. Cuando extraigo la marca de tiempo de Firebase, la analizo para determinar si aún es válida o ha caducado usando:

Codigo del cliente

 const inviteStatus = invitee?.validUntil.toDate() >= Date.now() ? 'valid_invitee' : 'expired_invitee'

También incorporé una funcionalidad para generar nuevas invitaciones a través de una llamada a Firebase Cloud Functions. Una vez que se ha creado una invitación, devuelvo un nuevo objeto de invitado:

Código de funciones de Firebase

 const expiryDate = admin.firestore.Timestamp.now().toDate() expiryDate.setTime(expiryDate.getTime() + (1000 * 60 * 60 * 24 * 7)) // 7-day expiration return { invitee: { validUntil: admin.firestore.Timestamp.fromDate(expiryDate) } }

La razón por la que no devuelvo solo un objeto Date , sino que lo convierto al formato de Timestamp de tiempo de Firestore es para garantizar que el cliente siempre reciba los datos validUntil en el mismo formato, independientemente de si se lee directamente desde Firestore DB o se devuelve a través de Firebase Cloud Functions.

Sin embargo, una vez que se devuelve este objeto invitado y se ejecuta el código del cliente (consulte el primer fragmento de código), aparece el siguiente error:

TypeError no detectado: invitee.validUntil.toDate no es una función

investigando

Imprimí ambos objetos (uno extraído directamente de DB y otro devuelto a través de Cloud Functions) y noté que el objeto devuelto directamente de DB, cuando se imprime, muestra una ut en Chrome Dev Tools junto al objeto validUntil , mientras que el objeto devuelto de Cloud Funciones no muestra ut .

Objeto impreso consultado desde Firestore ingrese la descripción de la imagen aquí

Objeto impreso devuelto desde Cloud Functions ingrese la descripción de la imagen aquí

Pregunta

¿Por qué Firebase genera dos tipos diferentes de objetos de marca de tiempo donde uno se puede convertir a Date usando la función .toDate() y otro arroja un error?

¿Hay alguna manera de devolver un objeto de marca de tiempo adecuado a través de Cloud Functions en el que pueda aplicar la función .toDate() en el cliente?

about 4 years ago · Juan Pablo Isaza
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!