From 4df94de1d965c56c1845173f8f024623329a9ab7 Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Thu, 3 Oct 2024 11:34:59 +0900 Subject: [PATCH] Fix mfaAltered not working --- app/controllers/api/account.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index bee6a0181c..6a78a2f137 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -3658,6 +3658,7 @@ App::patch('/v1/account/mfa') ->inject('queueForEvents') ->inject('queueForMails') ->action(function (bool $mfa, ?\DateTime $requestTimestamp, Request $request, Response $response, Document $user, Document $project, Document $session, Locale $locale, Database $dbForProject, Event $queueForEvents, Mail $queueForMails) { + $mfaAltered = $user->getAttribute('mfa') !== $mfa; $user->setAttribute('mfa', $mfa); $user = $dbForProject->withRequestTimestamp($requestTimestamp, fn () => $dbForProject->updateDocument('users', $user->getId(), $user)); @@ -3683,7 +3684,7 @@ App::patch('/v1/account/mfa') $queueForEvents->setParam('userId', $user->getId()); // If MFA Changes then we need to send a email - if ($mfa !== $user->getAttribute('mfa') && !empty($user->getAttribute('email'))) { + if ($mfaAltered && !empty($user->getAttribute('email'))) { $domain = $request->getHostname(); $protocol = $request->getProtocol();