From b33c27f0898ce5f2e19b6237a38df181a3df8aa0 Mon Sep 17 00:00:00 2001 From: Oleksander Piskun Date: Fri, 9 May 2025 13:07:33 +0300 Subject: fix(webhooks_listener): correctly set userId from event Signed-off-by: Oleksander Piskun --- apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php | 3 ++- apps/webhook_listeners/lib/Listener/WebhooksEventListener.php | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php b/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php index efc9401f44f..e59f4f74f1a 100644 --- a/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php +++ b/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php @@ -72,7 +72,8 @@ class WebhookCall extends QueuedJob { } elseif (!$exApp['enabled']) { throw new RuntimeException('ExApp ' . $exAppId . ' is disabled.'); } - $response = $appApiFunctions->exAppRequest($exAppId, $webhookUri, $webhookListener->getUserId(), $webhookListener->getHttpMethod(), [], $options); + $userId = ($data['user'] ?? [])['uid'] ?? null; + $response = $appApiFunctions->exAppRequest($exAppId, $webhookUri, $userId, $webhookListener->getHttpMethod(), [], $options); if (is_array($response) && isset($response['error'])) { throw new RuntimeException(sprintf('Error during request to ExApp(%s): %s', $exAppId, $response['error'])); } diff --git a/apps/webhook_listeners/lib/Listener/WebhooksEventListener.php b/apps/webhook_listeners/lib/Listener/WebhooksEventListener.php index 6b40af1463e..6cd3af98368 100644 --- a/apps/webhook_listeners/lib/Listener/WebhooksEventListener.php +++ b/apps/webhook_listeners/lib/Listener/WebhooksEventListener.php @@ -41,6 +41,7 @@ class WebhooksEventListener implements IEventListener { // TODO add group membership to be able to filter on it $data = [ 'event' => $this->serializeEvent($event), + /* Do not remove 'user' from here, see BackgroundJobs/WebhookCall.php */ 'user' => (is_null($user) ? null : JsonSerializer::serializeUser($user)), 'time' => time(), ]; -- cgit v1.2.3