From db429a28aab091124898faf014f6946d3b58316c Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 20 Nov 2023 09:36:04 +0000 Subject: [PATCH] feat: trigger delete sessions event in account service --- app/controllers/api/account.php | 12 ++++++++++-- app/controllers/api/users.php | 5 ++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index c210b19f4f..fb5ed7c7b0 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -2307,7 +2307,7 @@ App::delete('/v1/account/sessions') ->desc('Delete sessions') ->groups(['api', 'account']) ->label('scope', 'account') - ->label('event', 'users.[userId].sessions.[sessionId].delete') + ->label('event', 'users.[userId].sessions.delete') ->label('audits.event', 'session.delete') ->label('audits.resource', 'user/{user.$id}') ->label('usage.metric', 'sessions.{scope}.requests.delete') @@ -2353,13 +2353,21 @@ App::delete('/v1/account/sessions') // Use current session for events. $queueForEvents->setPayload($response->output($session, Response::MODEL_SESSION)); } + + $queueForEvents + ->setEvent('users.[userId].sessions.[sessionId].delete') + ->setParam('userId', $user->getId()) + ->setParam('sessionId', $session->getId()) + ->setPayload($response->output($session, Response::MODEL_SESSION)) + ->trigger(); } $dbForProject->deleteCachedDocument('users', $user->getId()); $queueForEvents + ->reset() ->setParam('userId', $user->getId()) - ->setParam('sessionId', $session->getId()); + ->setPayload($response->output($session, Response::MODEL_SESSION)); $response->noContent(); }); diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 4683d15652..8ac979f69b 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -1164,12 +1164,11 @@ App::delete('/v1/users/:userId/sessions') ->setPayload($response->output($session, Response::MODEL_SESSION)) ->trigger(); } - - $queueForEvents->reset(); - + $dbForProject->deleteCachedDocument('users', $user->getId()); $queueForEvents + ->reset() ->setParam('userId', $user->getId()) ->setPayload($response->output($user, Response::MODEL_USER));