From 53d8e2b0c3e07598a5d2c22f30f71ed16abed1bb Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Thu, 19 Dec 2024 16:43:05 +0530 Subject: [PATCH 1/3] chore: optimise webhooks payload --- src/Appwrite/Event/Webhook.php | 12 ++++++++++++ src/Appwrite/Platform/Workers/Webhooks.php | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Event/Webhook.php b/src/Appwrite/Event/Webhook.php index 125c9a78d5..6457c53e68 100644 --- a/src/Appwrite/Event/Webhook.php +++ b/src/Appwrite/Event/Webhook.php @@ -14,4 +14,16 @@ class Webhook extends Event ->setQueue(Event::WEBHOOK_QUEUE_NAME) ->setClass(Event::WEBHOOK_CLASS_NAME); } + + public function trigger(): string|bool + { + /** Filter out context and trim project to keep the payload small */ + $this->context = []; + $this->project = [ + '$id' => $this->project->getId(), + '$internalId' => $this->project->getAttribute('internalId'), + ]; + + return parent::trigger(); + } } diff --git a/src/Appwrite/Platform/Workers/Webhooks.php b/src/Appwrite/Platform/Workers/Webhooks.php index ba0bdaa6a3..271c4c00f0 100644 --- a/src/Appwrite/Platform/Workers/Webhooks.php +++ b/src/Appwrite/Platform/Workers/Webhooks.php @@ -56,9 +56,10 @@ class Webhooks extends Action $events = $payload['events']; $webhookPayload = json_encode($payload['payload']); - $project = new Document($payload['project']); $user = new Document($payload['user'] ?? []); + $project = new Document($payload['project']); + $project = $dbForPlatform->getDocument('projects', $project->getId()); $log->addTag('projectId', $project->getId()); foreach ($project->getAttribute('webhooks', []) as $webhook) { From d03d3c05b4d1c9331029981e345912d81504875e Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Thu, 19 Dec 2024 16:52:10 +0530 Subject: [PATCH 2/3] chore: optimise webhooks payload --- src/Appwrite/Event/Webhook.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Appwrite/Event/Webhook.php b/src/Appwrite/Event/Webhook.php index 6457c53e68..e4c4f5e210 100644 --- a/src/Appwrite/Event/Webhook.php +++ b/src/Appwrite/Event/Webhook.php @@ -3,6 +3,7 @@ namespace Appwrite\Event; use Utopia\Queue\Connection; +use Utopia\Database\Document; class Webhook extends Event { @@ -19,10 +20,10 @@ class Webhook extends Event { /** Filter out context and trim project to keep the payload small */ $this->context = []; - $this->project = [ + $this->project = new Document([ '$id' => $this->project->getId(), '$internalId' => $this->project->getAttribute('internalId'), - ]; + ]); return parent::trigger(); } From 6ec640cfd5905e42455f0468eec477a1c53d50ec Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Thu, 19 Dec 2024 16:56:17 +0530 Subject: [PATCH 3/3] chore: linter --- src/Appwrite/Event/Webhook.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Event/Webhook.php b/src/Appwrite/Event/Webhook.php index e4c4f5e210..954e8df1fd 100644 --- a/src/Appwrite/Event/Webhook.php +++ b/src/Appwrite/Event/Webhook.php @@ -2,8 +2,8 @@ namespace Appwrite\Event; -use Utopia\Queue\Connection; use Utopia\Database\Document; +use Utopia\Queue\Connection; class Webhook extends Event {