feat: Initialize event and payload properties in Event class and optimize bulk document queue triggering

This commit is contained in:
ArnabChatterjee20k
2025-08-05 11:52:58 +05:30
parent 59026a17dc
commit 7334efbf3a
2 changed files with 11 additions and 7 deletions
+2
View File
@@ -383,6 +383,8 @@ class Event
{
$this->params = [];
$this->sensitive = [];
$this->event = '';
$this->payload = [];
return $this;
}
@@ -295,17 +295,19 @@ abstract class Action extends UtopiaAction
*/
final protected function triggerQueuesForBulkDocuments(string $event, Document $database, Document $collection, array $documents, Event $queueForEvents, Event $queueForRealtime, Event $queueForFunctions, Event $queueForWebhooks)
{
$queueForEvents
->setEvent($event)
->setParam('databaseId', $database->getId())
->setContext('database', $database)
->setParam('collectionId', $collection->getId())
->setParam('tableId', $collection->getId())
->setContext($this->getCollectionsEventsContext(), $collection);
foreach ($documents as $document) {
$queueForEvents
->setEvent($event)
->setParam('databaseId', $database->getId())
->setContext('database', $database)
->setParam('collectionId', $collection->getId())
->setParam('tableId', $collection->getId())
->setParam('documentId', $document->getId())
->setParam('rowId', $document->getId())
->setPayload($document->getArrayCopy())
->setContext($this->getCollectionsEventsContext(), $collection);
->setPayload($document->getArrayCopy());
$queueForRealtime
->from($queueForEvents)