Closed antoniobocale closed 4 months ago
I ran into a similar issue trying to access .before
and .after
on change triggers.
I think the root cause is in the _firestore_endpoint_handler
function, specifically the following statements:
if event_type == _event_type_deleted:
firestore_event_data = _typing.cast(_firestore.DocumentEventData,
old_value_snapshot)
if event_type == _event_type_created:
firestore_event_data = _typing.cast(_firestore.DocumentEventData,
value_snapshot)
if event_type in (_event_type_written, _event_type_updated):
firestore_event_data = _typing.cast(
_firestore.DocumentEventData,
Change(
before=old_value_snapshot,
after=value_snapshot,
))
They ignore the fact that _event_type can also be any of the above with the _with_auth_context
suffix.
As a workaround for local development, adding the missing event types to the if event_type ...
statements works but obviously does not work when actually trying to deploy a function. That would require a new release.
Thanks for bringing this to my attention. Investigating it now
I am trying to use the Firestore trigger
on_document_created_with_auth_context
to get user info along with the document. However, the event data I receive is of typeDocumentEventData
instead ofDocumentSnapshot
. As a result, I cannot access the document fields using theget
method. Instead, I receive the following error:Steps to Reproduce
on_document_created_with_auth_context
.get
method on the event data.Expected Behavior
The event data should be of type
DocumentSnapshot
, allowing access to document fields using theget
method, similar to the behavior of theon_document_created
trigger.Actual Behavior
The event data is of type
DocumentEventData
, which does not support theget
method, resulting in anAttributeError
.Additional Information
When using the
on_document_created
trigger, the event data is of typeDocumentSnapshot
, and I can access document fields without any issues. However, withon_document_created_with_auth_context
, the event data type isDocumentEventData
, leading to the error.Is this the intended behavior, or should the event data be of type
DocumentSnapshot
similar toon_document_created
? If not, how should this be resolved?