From c0ef832784bb496744ab447029cba9fbbec1b8a2 Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Thu, 14 Nov 2024 17:15:28 +0900 Subject: [PATCH] Try and fix events --- app/controllers/api/databases.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php index b06866ce43..d14b4c60af 100644 --- a/app/controllers/api/databases.php +++ b/app/controllers/api/databases.php @@ -2844,7 +2844,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') ->alias('/v1/database/collections/:collectionId/documents', ['databaseId' => 'default']) ->desc('Create document') ->groups(['api', 'database']) - ->label('event', 'databases.[databaseId].collections.[collectionId].documents.create') + ->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].create') ->label('scope', 'documents.write') ->label('resourceType', RESOURCE_TYPE_DATABASES) ->label('audits.event', 'document.create') @@ -3063,6 +3063,12 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') throw new Exception(Exception::COLLECTION_NOT_FOUND); } + $queueForEvents + ->setParam('databaseId', $databaseId) + ->setParam('collectionId', $collection->getId()) + ->setContext('collection', $collection) + ->setContext('database', $database); + if ($isBulk) { $response ->setStatusCode(Response::STATUS_CODE_CREATED) @@ -3071,7 +3077,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') ]), Response::MODEL_BULK_OPERATION); } else { // Add $collectionId and $databaseId for all documents - $processDocument = function (Document $collection, Document $document) use (&$processDocument, $dbForProject, $database) { + $processDocument = function (Document $collection, Document $document) use (&$processDocument, $dbForProject, $database, $queueForEvents) { $document->removeAttribute('$collection'); $document->setAttribute('$databaseId', $database->getId()); $document->setAttribute('$collectionId', $collection->getId()); @@ -3102,6 +3108,9 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') } } } + + $queueForEvents + ->setParam('documentId', $document->getId()); }; $document = $documents[0]; @@ -3112,13 +3121,6 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') ->dynamic($document, Response::MODEL_DOCUMENT); } - $queueForEvents - ->setParam('databaseId', $databaseId) - ->setParam('collectionId', $collection->getId()) - ->setContext('collection', $collection) - ->setContext('database', $database) - ->setPayload($response->getPayload()); - $queueForUsage ->addMetric(str_replace(['{databaseInternalId}', '{collectionInternalId}'], [$database->getInternalId(), $collection->getInternalId()], METRIC_DATABASE_ID_COLLECTION_ID_STORAGE), 1); // per collection });