From a9731cd5bc2d5c117279582defb5c9fdaec53d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Wed, 6 Mar 2024 12:38:51 +0100 Subject: [PATCH] Fix account tests --- .env | 2 +- app/controllers/api/account.php | 14 +++++++------- app/controllers/shared/api.php | 3 +++ composer.lock | 24 ++++++++++++------------ docker-compose.yml | 4 +--- 5 files changed, 24 insertions(+), 23 deletions(-) diff --git a/.env b/.env index 4e9f33ce4f..ed0ea7f160 100644 --- a/.env +++ b/.env @@ -106,6 +106,6 @@ _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=10 _APP_PROJECT_REGIONS=default _APP_DATABASE_PROXY_SECRET=secret-key -_APP_DATABASE_PROXY_CONNECTION=mariadb://user:password@mariadb:3306/appwrite?pool_size=256 +_APP_DATABASE_PROXY_CONNECTION=mariadb://user:password@mariadb:3306/appwrite?pool_size=128 _APP_CONNECTIONS_DB_PROJECT=managed=mariadb-proxy://secret-key@database-proxy/appwrite _APP_CONNECTIONS_DB_CONSOLE=db_fra1_v14x_01=mariadb-proxy://secret-key@database-proxy/appwrite \ No newline at end of file diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 1f16a696c1..7ce05fa848 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -775,15 +775,15 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') 'accessedAt' => DateTime::now(), ]); $user->removeAttribute('$internalId'); - $userDoc = Authorization::skip(fn() => $dbForProject->createDocument('users', $user)); + $user = Authorization::skip(fn() => $dbForProject->createDocument('users', $user)); $dbForProject->createDocument('targets', new Document([ '$permissions' => [ Permission::read(Role::user($user->getId())), Permission::update(Role::user($user->getId())), Permission::delete(Role::user($user->getId())), ], - 'userId' => $userDoc->getId(), - 'userInternalId' => $userDoc->getInternalId(), + 'userId' => $user->getId(), + 'userInternalId' => $user->getInternalId(), 'providerType' => MESSAGE_TYPE_EMAIL, 'identifier' => $email, ])); @@ -1162,7 +1162,7 @@ App::post('/v1/account/tokens/magic-url') ]); $user->removeAttribute('$internalId'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); } $tokenSecret = Auth::tokenGenerator(Auth::TOKEN_LENGTH_MAGIC_URL); @@ -1401,7 +1401,7 @@ App::post('/v1/account/tokens/email') ]); $user->removeAttribute('$internalId'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); } $tokenSecret = Auth::codeGenerator(6); @@ -1813,7 +1813,7 @@ App::post('/v1/account/tokens/phone') ]); $user->removeAttribute('$internalId'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); try { $target = Authorization::skip(fn() => $dbForProject->createDocument('targets', new Document([ '$permissions' => [ @@ -1980,7 +1980,7 @@ App::post('/v1/account/sessions/anonymous') 'accessedAt' => DateTime::now(), ]); $user->removeAttribute('$internalId'); - Authorization::skip(fn() => $dbForProject->createDocument('users', $user)); + $user = Authorization::skip(fn() => $dbForProject->createDocument('users', $user)); // Create session token $duration = $project->getAttribute('auths', [])['duration'] ?? Auth::TOKEN_EXPIRATION_LOGIN_LONG; diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index ce7041cac1..2fb8448edb 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -535,6 +535,9 @@ App::shutdown() ->inject('mode') ->inject('dbForConsole') ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Event $queueForEvents, Audit $queueForAudits, Usage $queueForUsage, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, Messaging $queueForMessaging, Database $dbForProject, Func $queueForFunctions, string $mode, Database $dbForConsole) use ($parseLabel) { + if (empty($user) || $user->isEmpty() || empty($user->getInternalId())) { + $user = Authorization::skip(fn () => $dbForProject->getDocument('users', $queueForEvents->getParam('userId'))); + } $responsePayload = $response->getPayload(); diff --git a/composer.lock b/composer.lock index 7b1d614660..05feae35ee 100644 --- a/composer.lock +++ b/composer.lock @@ -1552,16 +1552,16 @@ }, { "name": "utopia-php/database", - "version": "0.49.0", + "version": "0.49.1", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "02000f01e9329b92251825fdccde023feb88a915" + "reference": "4199fe8f00f4e181c7782c4a6862845d591c1f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/02000f01e9329b92251825fdccde023feb88a915", - "reference": "02000f01e9329b92251825fdccde023feb88a915", + "url": "https://api.github.com/repos/utopia-php/database/zipball/4199fe8f00f4e181c7782c4a6862845d591c1f03", + "reference": "4199fe8f00f4e181c7782c4a6862845d591c1f03", "shasum": "" }, "require": { @@ -1603,9 +1603,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/0.49.0" + "source": "https://github.com/utopia-php/database/tree/0.49.1" }, - "time": "2024-03-01T10:44:41+00:00" + "time": "2024-03-06T11:35:53+00:00" }, { "name": "utopia-php/domains", @@ -3118,16 +3118,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.1", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -3170,9 +3170,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-02-21T19:24:10+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "phar-io/manifest", diff --git a/docker-compose.yml b/docker-compose.yml index 459826bb7d..439988fba2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -956,9 +956,7 @@ services: database-proxy: container_name: database-proxy - image: appwrite/database-proxy:0.1.3 - build: - context: . + image: appwrite/database-proxy:0.1.5 networks: - appwrite - database-proxy