From 7ad4af8d912dbef80349c80333be2eaa7b55ed9e Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Sun, 25 Feb 2024 17:30:26 +0000 Subject: [PATCH] Fix misssed items in Migrations and Response filters --- src/Appwrite/Migration/Version/V20.php | 13 +++++++- src/Appwrite/Utopia/Response/Filters/V17.php | 33 ++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Migration/Version/V20.php b/src/Appwrite/Migration/Version/V20.php index 0ef899588e..67ed21a03d 100644 --- a/src/Appwrite/Migration/Version/V20.php +++ b/src/Appwrite/Migration/Version/V20.php @@ -252,6 +252,14 @@ class V20 extends Migration Console::warning("'totpBackup' from {$id}: {$th->getMessage()}"); } + // Create challenges attribute + try { + $this->createAttributeFromCollection($this->projectDB, $id, 'challenges'); + $this->projectDB->purgeCachedCollection($id); + } catch (Throwable $th) { + Console::warning("'challenges' from {$id}: {$th->getMessage()}"); + } + break; case 'projects': // Rename providers authProviders to oAuthProviders @@ -543,8 +551,11 @@ class V20 extends Migration $document->setAttribute('expire', $expire); $factors = match ($document->getAttribute('provider')) { - Auth::SESSION_PROVIDER_ANONYMOUS => ['anonymous'], + Auth::SESSION_PROVIDER_MAGIC_URL, + Auth::SESSION_PROVIDER_OAUTH2 => ['email'], Auth::SESSION_PROVIDER_PHONE => ['phone'], + Auth::SESSION_PROVIDER_ANONYMOUS => ['anonymous'], + Auth::SESSION_PROVIDER_TOKEN => ['token'], default => ['password'], }; diff --git a/src/Appwrite/Utopia/Response/Filters/V17.php b/src/Appwrite/Utopia/Response/Filters/V17.php index cf62bcf488..09cba9a720 100644 --- a/src/Appwrite/Utopia/Response/Filters/V17.php +++ b/src/Appwrite/Utopia/Response/Filters/V17.php @@ -22,6 +22,16 @@ class V17 extends Filter case Response::MODEL_TOKEN: $parsedResponse = $this->parseToken($parsedResponse); break; + case Response::MODEL_MEMBERSHIP: + $parsedResponse = $this->parseMembership($parsedResponse); + break; + case Response::MODEL_SESSION: + $parsedResponse = $this->parseSession($parsedResponse); + break; + case Response::MODEL_WEBHOOK: + $parsedResponse = $this->parseWebhook($parsedResponse); + break; + } return $parsedResponse; @@ -30,6 +40,8 @@ class V17 extends Filter protected function parseUser(array $content) { unset($content['targets']); + unset($content['mfa']); + unset($content['totp']); return $content; } @@ -45,4 +57,25 @@ class V17 extends Filter unset($content['phrase']); return $content; } + + protected function parseMembership(array $content) + { + unset($content['mfa']); + return $content; + } + + protected function parseSession(array $content) + { + unset($content['factors']); + unset($content['secret']); + return $content; + } + + protected function parseWebhook(array $content) + { + unset($content['enabled']); + unset($content['logs']); + unset($content['attempts']); + return $content; + } }