From fbe2609f7b9561b207ba96f8fa1721e6a6da763d Mon Sep 17 00:00:00 2001 From: Darshan Date: Sat, 10 May 2025 10:34:44 +0530 Subject: [PATCH] update: simplify setting events context param. --- .../Collections/Attributes/Action.php | 20 +++++++++++++------ .../Collections/Attributes/Delete.php | 9 ++++----- .../Collections/Documents/Action.php | 8 ++++++++ .../Collections/Documents/Create.php | 8 ++++---- .../Collections/Documents/Delete.php | 8 ++++---- .../Collections/Documents/Update.php | 8 ++++---- .../Databases/Collections/Indexes/Action.php | 8 ++++++++ .../Databases/Collections/Indexes/Create.php | 4 ++-- .../Databases/Collections/Indexes/Delete.php | 4 ++-- 9 files changed, 50 insertions(+), 27 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php index 954e997872..095b679223 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php @@ -204,6 +204,14 @@ abstract class Action extends UtopiaAction : Exception::COLUMN_NOT_AVAILABLE; } + /** + * Get the correct collections context for Events queue. + */ + final protected function getCollectionsEventsContext(): string + { + return $this->isCollectionsAPI() ? 'collection' : 'table'; + } + /** * Get the proper column/attribute type based on set context. */ @@ -407,11 +415,11 @@ abstract class Action extends UtopiaAction $queueForEvents ->setContext('database', $db) ->setParam('databaseId', $databaseId) + ->setParam('collectionId', $collection->getId()) + ->setParam('tableId', $collection->getId()) ->setParam('attributeId', $attribute->getId()) ->setParam('columnId', $attribute->getId()) - ->setParam('tableId', $collection->getId()) - ->setParam('collectionId', $collection->getId()) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setContext($this->getCollectionsEventsContext(), $collection); $response->setStatusCode(SwooleResponse::STATUS_CODE_CREATED); @@ -608,11 +616,11 @@ abstract class Action extends UtopiaAction $queueForEvents ->setContext('database', $db) ->setParam('databaseId', $databaseId) + ->setParam('collectionId', $collection->getId()) + ->setParam('tableId', $collection->getId()) ->setParam('attributeId', $attribute->getId()) ->setParam('columnId', $attribute->getId()) - ->setParam('tableId', $collection->getId()) - ->setParam('collectionId', $collection->getId()) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setContext($this->getCollectionsEventsContext(), $collection); return $attribute; } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php index 81bc77a9ba..cf5b7766b3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php @@ -145,13 +145,12 @@ class Delete extends Action $queueForEvents ->setContext('database', $db) ->setParam('databaseId', $databaseId) - ->setPayload($response->output($attribute, $model)) - ->setParam('attributeId', $attribute->getId()) - ->setParam('columnId', $attribute->getId()) ->setParam('collectionId', $collection->getId()) ->setParam('tableId', $collection->getId()) - // set proper context - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setParam('attributeId', $attribute->getId()) + ->setParam('columnId', $attribute->getId()) + ->setPayload($response->output($attribute, $model)) + ->setContext($this->getCollectionsEventsContext(), $collection); $response->noContent(); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php index a5b8fc5805..01ee2d9f84 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php @@ -127,4 +127,12 @@ abstract class Action extends UtopiaAction ? Exception::DOCUMENT_MISSING_PAYLOAD : Exception::ROW_MISSING_PAYLOAD; } + + /** + * Get the correct collections context for Events queue. + */ + final protected function getCollectionsEventsContext(): string + { + return $this->isCollectionsAPI() ? 'collection' : 'table'; + } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php index a8f1561f84..bd59c9ee35 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php @@ -309,11 +309,11 @@ class Create extends Action $queueForEvents ->setParam('databaseId', $databaseId) ->setContext('database', $database) - ->setParam('rowId', $document->getId()) - ->setParam('documentId', $document->getId()) - ->setParam('tableId', $collection->getId()) ->setParam('collectionId', $collection->getId()) + ->setParam('tableId', $collection->getId()) + ->setParam('documentId', $document->getId()) + ->setParam('rowId', $document->getId()) ->setPayload($response->getPayload(), sensitive: $relationships) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setContext($this->getCollectionsEventsContext(), $collection); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php index 66e1b37320..c218e713bf 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php @@ -164,11 +164,11 @@ class Delete extends Action $queueForEvents ->setParam('databaseId', $databaseId) ->setContext('database', $database) - ->setParam('rowId', $document->getId()) - ->setParam('documentId', $document->getId()) - ->setParam('tableId', $collection->getId()) ->setParam('collectionId', $collection->getId()) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection) + ->setParam('tableId', $collection->getId()) + ->setParam('documentId', $document->getId()) + ->setParam('rowId', $document->getId()) + ->setContext($this->getCollectionsEventsContext(), $collection) ->setPayload($response->output($document, $this->getResponseModel()), sensitive: $relationships); $response->noContent(); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php index 5bee2ee761..17da8e552d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php @@ -297,11 +297,11 @@ class Update extends Action $queueForEvents ->setParam('databaseId', $databaseId) ->setContext('database', $database) - ->setParam('rowId', $document->getId()) - ->setParam('documentId', $document->getId()) - ->setParam('tableId', $collection->getId()) ->setParam('collectionId', $collection->getId()) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection) + ->setParam('tableId', $collection->getId()) + ->setParam('documentId', $document->getId()) + ->setParam('rowId', $document->getId()) + ->setContext($this->getCollectionsEventsContext(), $collection) ->setPayload($response->getPayload(), sensitive: $relationships); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Action.php index 93459440f0..c1e3f61114 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Action.php @@ -152,4 +152,12 @@ abstract class Action extends UtopiaAction ? Exception::ATTRIBUTE_NOT_AVAILABLE : Exception::COLUMN_NOT_AVAILABLE; } + + /** + * Get the correct collections context for Events queue. + */ + final protected function getCollectionsEventsContext(): string + { + return $this->isCollectionsAPI() ? 'collection' : 'table'; + } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php index 014627e0a8..c18ab69b10 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php @@ -221,9 +221,9 @@ class Create extends Action ->setContext('database', $db) ->setParam('databaseId', $databaseId) ->setParam('indexId', $index->getId()) - ->setParam('tableId', $collection->getId()) ->setParam('collectionId', $collection->getId()) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setParam('tableId', $collection->getId()) + ->setContext($this->getCollectionsEventsContext(), $collection); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php index f86cf7b11f..a208e059f6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php @@ -118,8 +118,8 @@ class Delete extends Action ->setParam('indexId', $index->getId()) ->setParam('tableId', $collection->getId()) ->setParam('collectionId', $collection->getId()) - ->setPayload($response->output($index, $this->getResponseModel())) - ->setContext($this->isCollectionsAPI() ? 'collection' : 'table', $collection); + ->setContext($this->getCollectionsEventsContext(), $collection) + ->setPayload($response->output($index, $this->getResponseModel())); $response->noContent(); }