From 19bd04e8c9930dcc4eef9096b64c352ab9d21ec6 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 29 Jul 2025 11:10:25 +0300 Subject: [PATCH 1/4] Skip empty queries --- app/init/resources.php | 29 ++++++++++++++++++++--------- composer.json | 2 +- composer.lock | 27 ++++++++++++++++++--------- 3 files changed, 39 insertions(+), 19 deletions(-) diff --git a/app/init/resources.php b/app/init/resources.php index 946a977aa4..06a916a58d 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -234,16 +234,18 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons Auth::$unique = $session['id'] ?? ''; Auth::$secret = $session['secret'] ?? ''; - if ($mode === APP_MODE_ADMIN) { - $user = $dbForPlatform->getDocument('users', Auth::$unique); - } else { - if ($project->isEmpty()) { - $user = new Document([]); + $user = new Document([]); + + if (!empty(Auth::$unique)){ + if ($mode === APP_MODE_ADMIN) { + $user = $dbForPlatform->getDocument('users', Auth::$unique); } else { - if ($project->getId() === 'console') { - $user = $dbForPlatform->getDocument('users', Auth::$unique); - } else { - $user = $dbForProject->getDocument('users', Auth::$unique); + if (!$project->isEmpty()) { + if ($project->getId() === 'console') { + $user = $dbForPlatform->getDocument('users', Auth::$unique); + } else { + $user = $dbForProject->getDocument('users', Auth::$unique); + } } } } @@ -849,11 +851,20 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A $teamInternalId = $p->getAttribute('teamInternalId', ''); } elseif ($path === '/v1/projects') { $teamId = $request->getParam('teamId', ''); + + if (empty($teamId)){ + return new Document([]); + } + $team = Authorization::skip(fn () => $dbForPlatform->getDocument('teams', $teamId)); return $team; } } + if (empty($teamInternalId)){ + return new Document([]); + } + $team = Authorization::skip(function () use ($dbForPlatform, $teamInternalId) { return $dbForPlatform->findOne('teams', [ Query::equal('$sequence', [$teamInternalId]), diff --git a/composer.json b/composer.json index 40740b711f..d76918fa7e 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "0.2.*", - "utopia-php/database": "0.73.*", + "utopia-php/database": "dev-cast-sequence as 0.73.2", "utopia-php/detector": "0.1.*", "utopia-php/domains": "0.8.*", "utopia-php/dsn": "0.2.1", diff --git a/composer.lock b/composer.lock index bddc8ec936..db551ed0f4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f152305ec0b90245773867cde288582d", + "content-hash": "69f5a2e965cd9c1233044629699d3d28", "packages": [ { "name": "adhocore/jwt", @@ -3493,16 +3493,16 @@ }, { "name": "utopia-php/database", - "version": "0.73.2", + "version": "dev-cast-sequence", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "68545dfd5d1ac41ca2f4f5a59719b890fcd8f480" + "reference": "749cb0606a88ad4282b182feaa7e380627126b86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/68545dfd5d1ac41ca2f4f5a59719b890fcd8f480", - "reference": "68545dfd5d1ac41ca2f4f5a59719b890fcd8f480", + "url": "https://api.github.com/repos/utopia-php/database/zipball/749cb0606a88ad4282b182feaa7e380627126b86", + "reference": "749cb0606a88ad4282b182feaa7e380627126b86", "shasum": "" }, "require": { @@ -3543,9 +3543,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/0.73.2" + "source": "https://github.com/utopia-php/database/tree/cast-sequence" }, - "time": "2025-07-29T03:23:04+00:00" + "time": "2025-07-29T05:33:45+00:00" }, { "name": "utopia-php/detector", @@ -8237,9 +8237,18 @@ "time": "2024-03-07T20:33:40+00:00" } ], - "aliases": [], + "aliases": [ + { + "package": "utopia-php/database", + "version": "dev-cast-sequence", + "alias": "0.73.2", + "alias_normalized": "0.73.2.0" + } + ], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "utopia-php/database": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { From eddc782c6efbe811b5b52211c296dfff921c8296 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 29 Jul 2025 11:24:41 +0300 Subject: [PATCH 2/4] formatting --- app/init/resources.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/init/resources.php b/app/init/resources.php index 06a916a58d..be59871dfe 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -236,7 +236,7 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons $user = new Document([]); - if (!empty(Auth::$unique)){ + if (!empty(Auth::$unique)) { if ($mode === APP_MODE_ADMIN) { $user = $dbForPlatform->getDocument('users', Auth::$unique); } else { @@ -852,7 +852,7 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A } elseif ($path === '/v1/projects') { $teamId = $request->getParam('teamId', ''); - if (empty($teamId)){ + if (empty($teamId)) { return new Document([]); } @@ -861,7 +861,7 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A } } - if (empty($teamInternalId)){ + if (empty($teamInternalId)) { return new Document([]); } From e76aba3fd478e34aaa28aab75df39e8dce065a80 Mon Sep 17 00:00:00 2001 From: fogelito Date: Thu, 31 Jul 2025 13:19:55 +0300 Subject: [PATCH 3/4] Revert composer --- composer.json | 2 +- composer.lock | 27 +++++++++------------------ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/composer.json b/composer.json index d76918fa7e..40740b711f 100644 --- a/composer.json +++ b/composer.json @@ -52,7 +52,7 @@ "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "0.2.*", - "utopia-php/database": "dev-cast-sequence as 0.73.2", + "utopia-php/database": "0.73.*", "utopia-php/detector": "0.1.*", "utopia-php/domains": "0.8.*", "utopia-php/dsn": "0.2.1", diff --git a/composer.lock b/composer.lock index db551ed0f4..bddc8ec936 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "69f5a2e965cd9c1233044629699d3d28", + "content-hash": "f152305ec0b90245773867cde288582d", "packages": [ { "name": "adhocore/jwt", @@ -3493,16 +3493,16 @@ }, { "name": "utopia-php/database", - "version": "dev-cast-sequence", + "version": "0.73.2", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "749cb0606a88ad4282b182feaa7e380627126b86" + "reference": "68545dfd5d1ac41ca2f4f5a59719b890fcd8f480" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/749cb0606a88ad4282b182feaa7e380627126b86", - "reference": "749cb0606a88ad4282b182feaa7e380627126b86", + "url": "https://api.github.com/repos/utopia-php/database/zipball/68545dfd5d1ac41ca2f4f5a59719b890fcd8f480", + "reference": "68545dfd5d1ac41ca2f4f5a59719b890fcd8f480", "shasum": "" }, "require": { @@ -3543,9 +3543,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/cast-sequence" + "source": "https://github.com/utopia-php/database/tree/0.73.2" }, - "time": "2025-07-29T05:33:45+00:00" + "time": "2025-07-29T03:23:04+00:00" }, { "name": "utopia-php/detector", @@ -8237,18 +8237,9 @@ "time": "2024-03-07T20:33:40+00:00" } ], - "aliases": [ - { - "package": "utopia-php/database", - "version": "dev-cast-sequence", - "alias": "0.73.2", - "alias_normalized": "0.73.2.0" - } - ], + "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "utopia-php/database": 20 - }, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { From 6ead087e916a4d6c789e7d9eca8d56b41cdfb5e6 Mon Sep 17 00:00:00 2001 From: fogelito Date: Thu, 31 Jul 2025 14:26:36 +0300 Subject: [PATCH 4/4] fix nesting if --- app/init/resources.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/init/resources.php b/app/init/resources.php index be59871dfe..4d1e0444c5 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -239,13 +239,11 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons if (!empty(Auth::$unique)) { if ($mode === APP_MODE_ADMIN) { $user = $dbForPlatform->getDocument('users', Auth::$unique); - } else { - if (!$project->isEmpty()) { - if ($project->getId() === 'console') { - $user = $dbForPlatform->getDocument('users', Auth::$unique); - } else { - $user = $dbForProject->getDocument('users', Auth::$unique); - } + } elseif (!$project->isEmpty()) { + if ($project->getId() === 'console') { + $user = $dbForPlatform->getDocument('users', Auth::$unique); + } else { + $user = $dbForProject->getDocument('users', Auth::$unique); } } }