aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksander Piskun <oleksandr2088@icloud.com>2025-05-09 13:07:33 +0300
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2025-05-09 10:37:38 +0000
commit9a8ecb13519766f4179f94822aed083679c37702 (patch)
treeea6dc5067cbe8a1c7aba9be206f00bd4716f2a69
parentb6326db3dcd5d66e7af02c33bcb35eba4c1306f4 (diff)
downloadnextcloud-server-backport/52699/stable31.tar.gz
nextcloud-server-backport/52699/stable31.zip
fix(webhooks_listener): correctly set userId from eventbackport/52699/stable31
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
-rw-r--r--apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php3
-rw-r--r--apps/webhook_listeners/lib/Listener/WebhooksEventListener.php1
2 files changed, 3 insertions, 1 deletions
diff --git a/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php b/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php
index 997e8931703..962c1a38337 100644
--- a/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php
+++ b/apps/webhook_listeners/lib/BackgroundJobs/WebhookCall.php
@@ -74,7 +74,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(),
];