diff --git a/app/config/collections/common.php b/app/config/collections/common.php index c93310617e..2c80ba9ec7 100644 --- a/app/config/collections/common.php +++ b/app/config/collections/common.php @@ -2055,8 +2055,8 @@ return [ 'filters' => ['topicSearch'], ], ], - // Mongodb do not allow two fulltext indexes on the same field in a single collection - // https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/text-index-restrictions/ + // Mongodb do not allow two fulltext indexes on the same field in a single collection + // https://www.mongodb.com/docs/manual/core/indexes/index-types/index-text/text-index-restrictions/ 'indexes' => [ // [ // '$id' => ID::custom('_key_name'), diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index fcce0c3a63..e3bdac2fe5 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -1069,7 +1069,7 @@ App::post('/v1/account/sessions/anonymous') 'accessedAt' => DateTime::now(), ]); $user->removeAttribute('$sequence'); - 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/api/users.php b/app/controllers/api/users.php index 3376f4857c..b514af680a 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -852,7 +852,6 @@ App::get('/v1/users/:userId/memberships') $memberships = array_map(function ($membership) use ($dbForProject, $user) { $team = $dbForProject->getDocument('teams', $membership->getAttribute('teamId')); - $membership ->setAttribute('teamName', $team->getAttribute('name')) ->setAttribute('userName', $user->getAttribute('name')) diff --git a/app/init/database/filters.php b/app/init/database/filters.php index 98a37ec4ad..c211b9e147 100644 --- a/app/init/database/filters.php +++ b/app/init/database/filters.php @@ -73,7 +73,7 @@ Database::addFilter( $attributes = $database->find('attributes', [ Query::equal('collectionInternalId', [$document->getSequence()]), Query::equal('databaseInternalId', [$document->getAttribute('databaseInternalId')]), - Query::limit($database->getLimitForAttributes()), + Query::limit(PHP_INT_MAX), ]); foreach ($attributes as $attribute) { diff --git a/app/init/registers.php b/app/init/registers.php index c69c991c8b..daffe3ed82 100644 --- a/app/init/registers.php +++ b/app/init/registers.php @@ -13,10 +13,9 @@ use Utopia\Cache\Adapter\Redis as RedisCache; use Utopia\CLI\Console; use Utopia\Config\Config; use Utopia\Database\Adapter\MariaDB; -use Utopia\Database\Adapter\MySQL; use Utopia\Database\Adapter\Mongo; +use Utopia\Database\Adapter\MySQL; use Utopia\Database\Adapter\SQL; -use Utopia\Mongo\Client as MongoClient; use Utopia\Database\PDO; use Utopia\Domains\Validator\PublicDomain; use Utopia\DSN\DSN; @@ -25,6 +24,7 @@ use Utopia\Logger\Adapter\LogOwl; use Utopia\Logger\Adapter\Raygun; use Utopia\Logger\Adapter\Sentry; use Utopia\Logger\Logger; +use Utopia\Mongo\Client as MongoClient; use Utopia\Pools\Group; use Utopia\Pools\Pool; use Utopia\Queue; @@ -196,7 +196,7 @@ $register->set('pools', function () { //throw new Exception(Exception::GENERAL_SERVER_ERROR, "Missing value for DSN connection in {$key}"); continue; } - + $dsn = new DSN($dsn); $dsnHost = $dsn->getHost(); $dsnPort = $dsn->getPort(); @@ -216,7 +216,7 @@ $register->set('pools', function () { * * Resource assignment to an adapter will happen below. */ - + $resource = match ($dsnScheme) { 'mysql', 'mariadb' => function () use ($dsnHost, $dsnPort, $dsnUser, $dsnPass, $dsnDatabase) { @@ -234,7 +234,7 @@ $register->set('pools', function () { try { $mongo = new MongoClient($dsnDatabase, $dsnHost, (int)$dsnPort, $dsnUser, $dsnPass, true); @$mongo->connect(); - + return $mongo; } catch (\Throwable $e) { throw new Exception(Exception::GENERAL_SERVER_ERROR, "MongoDB connection failed: " . $e->getMessage()); @@ -262,7 +262,7 @@ $register->set('pools', function () { 'mysql' => new MySQL($resource()), 'mongodb' => new Mongo($resource()), default => null - }; + }; $adapter->setDatabase($dsn->getPath()); return $adapter; @@ -292,7 +292,7 @@ $register->set('pools', function () { Config::setParam('pools-' . $key, $config); } - + return $group; }); @@ -312,7 +312,7 @@ $register->set('db', function () { try { $mongo = new MongoClient($dbScheme, $dbHost, (int)$dbPort, $dbUser, $dbPass, true); @$mongo->connect(); - + return $mongo; } catch (\Throwable $e) { throw new Exception(Exception::GENERAL_SERVER_ERROR, "MongoDB connection failed: " . $e->getMessage()); diff --git a/app/init/resources.php b/app/init/resources.php index 6471903df2..feb197f28f 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -446,9 +446,13 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) { $database = null; return function (?Document $project = null) use ($pools, $cache, &$database) { - if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') { - $database->setTenant((int)$project->getSequence()); - return $database; + // if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') { + // $database->setTenant((int)$project->getSequence()); + // return $database; + // } + + if ($database !== null) { + $database->setTenant(null); } $adapter = new DatabasePool($pools->get('logs')); @@ -461,9 +465,11 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) { ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES); // set tenant - if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') { - $database->setTenant((int)$project->getSequence()); - } + // if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') { + // $database->setTenant((int)$project->getSequence()); + // } + + $database->setTenant(null); return $database; }; @@ -854,9 +860,9 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A } } - //@Jake, if teamInternalId is empty, return an empty document to avoid errors + // if teamInternalId is empty, return an empty document - if(empty($teamInternalId)){ + if (empty($teamInternalId)) { return new Document([]); } diff --git a/app/worker.php b/app/worker.php index 90f3368fe7..22399c8e85 100644 --- a/app/worker.php +++ b/app/worker.php @@ -184,9 +184,11 @@ Server::setResource('getLogsDB', function (Group $pools, Cache $cache) { ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES); // set tenant - if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') { - $database->setTenant((int)$project->getSequence()); - } + // if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') { + // $database->setTenant((int)$project->getSequence()); + // } + + $database->setTenant(null); return $database; }; diff --git a/composer.json b/composer.json index 5fe058a136..4897fa9a4a 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-feat-mongo-2 as 0.73.0", + "utopia-php/database": "dev-feat-mongo-tmp as 0.73.0", "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 b27d035b39..bd9d583045 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": "3856cfae7bbb5f8f66e85a87147e6f5a", + "content-hash": "15bfcee7df4809e73f10a2cb6e386b52", "packages": [ { "name": "adhocore/jwt", @@ -69,16 +69,16 @@ }, { "name": "appwrite/appwrite", - "version": "15.0.0", + "version": "15.1.0", "source": { "type": "git", "url": "https://github.com/appwrite/sdk-for-php.git", - "reference": "deb97b62e0abed8a4fd5c5d48e77365cf89867cf" + "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-for-php/zipball/deb97b62e0abed8a4fd5c5d48e77365cf89867cf", - "reference": "deb97b62e0abed8a4fd5c5d48e77365cf89867cf", + "url": "https://api.github.com/repos/appwrite/sdk-for-php/zipball/c438b3885071ac7c0329199dce5e6f6a24dd215b", + "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b", "shasum": "" }, "require": { @@ -104,10 +104,10 @@ "support": { "email": "team@appwrite.io", "issues": "https://github.com/appwrite/sdk-for-php/issues", - "source": "https://github.com/appwrite/sdk-for-php/tree/15.0.0", + "source": "https://github.com/appwrite/sdk-for-php/tree/15.1.0", "url": "https://appwrite.io/support" }, - "time": "2025-05-18T09:47:10+00:00" + "time": "2025-08-01T04:50:51+00:00" }, { "name": "appwrite/php-clamav", @@ -2624,16 +2624,16 @@ }, { "name": "symfony/http-client", - "version": "v7.3.1", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "4403d87a2c16f33345dca93407a8714ee8c05a64" + "reference": "1c064a0c67749923483216b081066642751cc2c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/4403d87a2c16f33345dca93407a8714ee8c05a64", - "reference": "4403d87a2c16f33345dca93407a8714ee8c05a64", + "url": "https://api.github.com/repos/symfony/http-client/zipball/1c064a0c67749923483216b081066642751cc2c7", + "reference": "1c064a0c67749923483216b081066642751cc2c7", "shasum": "" }, "require": { @@ -2699,7 +2699,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.1" + "source": "https://github.com/symfony/http-client/tree/v7.3.2" }, "funding": [ { @@ -2710,12 +2710,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-28T07:58:39+00:00" + "time": "2025-07-15T11:36:08+00:00" }, { "name": "symfony/http-client-contracts", @@ -3646,16 +3650,16 @@ }, { "name": "utopia-php/database", - "version": "dev-feat-mongo-2", + "version": "dev-feat-mongo-tmp", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "53a458f7f4d1afa428ecc05f21ccbdda68899944" + "reference": "a09644761f3556c87d366b75e2e67a3ddd0ca615" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/53a458f7f4d1afa428ecc05f21ccbdda68899944", - "reference": "53a458f7f4d1afa428ecc05f21ccbdda68899944", + "url": "https://api.github.com/repos/utopia-php/database/zipball/a09644761f3556c87d366b75e2e67a3ddd0ca615", + "reference": "a09644761f3556c87d366b75e2e67a3ddd0ca615", "shasum": "" }, "require": { @@ -3697,9 +3701,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/feat-mongo-2" + "source": "https://github.com/utopia-php/database/tree/feat-mongo-tmp" }, - "time": "2025-07-27T14:35:29+00:00" + "time": "2025-08-06T11:48:47+00:00" }, { "name": "utopia-php/detector", @@ -4147,16 +4151,16 @@ }, { "name": "utopia-php/migration", - "version": "0.13.3", + "version": "0.13.7", "source": { "type": "git", "url": "https://github.com/utopia-php/migration.git", - "reference": "cf6b192f78dacfa06b659646c228b203212b3c6b" + "reference": "fc25d50c3a19e701e905c56a9465143cacb02717" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/cf6b192f78dacfa06b659646c228b203212b3c6b", - "reference": "cf6b192f78dacfa06b659646c228b203212b3c6b", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/fc25d50c3a19e701e905c56a9465143cacb02717", + "reference": "fc25d50c3a19e701e905c56a9465143cacb02717", "shasum": "" }, "require": { @@ -4197,22 +4201,22 @@ ], "support": { "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/0.13.3" + "source": "https://github.com/utopia-php/migration/tree/0.13.7" }, - "time": "2025-07-23T08:02:04+00:00" + "time": "2025-07-31T15:08:29+00:00" }, { "name": "utopia-php/mongo", - "version": "0.5.0", + "version": "0.5.2", "source": { "type": "git", "url": "https://github.com/utopia-php/mongo.git", - "reference": "b7a4901f552f6383b274d5a6c84feba6357afa95" + "reference": "1c9853166a409b87bd37e15c5707558f383a4be6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/mongo/zipball/b7a4901f552f6383b274d5a6c84feba6357afa95", - "reference": "b7a4901f552f6383b274d5a6c84feba6357afa95", + "url": "https://api.github.com/repos/utopia-php/mongo/zipball/1c9853166a409b87bd37e15c5707558f383a4be6", + "reference": "1c9853166a409b87bd37e15c5707558f383a4be6", "shasum": "" }, "require": { @@ -4257,9 +4261,9 @@ ], "support": { "issues": "https://github.com/utopia-php/mongo/issues", - "source": "https://github.com/utopia-php/mongo/tree/0.5.0" + "source": "https://github.com/utopia-php/mongo/tree/0.5.2" }, - "time": "2025-07-25T04:02:37+00:00" + "time": "2025-08-04T09:49:58+00:00" }, { "name": "utopia-php/orchestration", @@ -5024,16 +5028,16 @@ "packages-dev": [ { "name": "appwrite/sdk-generator", - "version": "0.41.23", + "version": "0.41.29", "source": { "type": "git", "url": "https://github.com/appwrite/sdk-generator.git", - "reference": "188dff738ff7b9f1f9209b34ac2092b5456b1001" + "reference": "4af563f3b0879747efc8434eb8ed8bf97e75039f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/188dff738ff7b9f1f9209b34ac2092b5456b1001", - "reference": "188dff738ff7b9f1f9209b34ac2092b5456b1001", + "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/4af563f3b0879747efc8434eb8ed8bf97e75039f", + "reference": "4af563f3b0879747efc8434eb8ed8bf97e75039f", "shasum": "" }, "require": { @@ -5069,9 +5073,9 @@ "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", "support": { "issues": "https://github.com/appwrite/sdk-generator/issues", - "source": "https://github.com/appwrite/sdk-generator/tree/0.41.23" + "source": "https://github.com/appwrite/sdk-generator/tree/0.41.29" }, - "time": "2025-07-25T06:47:04+00:00" + "time": "2025-08-04T04:34:45+00:00" }, { "name": "doctrine/annotations", @@ -5490,16 +5494,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.13.3", + "version": "1.13.4", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "faed855a7b5f4d4637717c2b3863e277116beb36" + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/faed855a7b5f4d4637717c2b3863e277116beb36", - "reference": "faed855a7b5f4d4637717c2b3863e277116beb36", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", "shasum": "" }, "require": { @@ -5538,7 +5542,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.3" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" }, "funding": [ { @@ -5546,20 +5550,20 @@ "type": "tidelift" } ], - "time": "2025-07-05T12:25:42+00:00" + "time": "2025-08-01T08:46:24+00:00" }, { "name": "nikic/php-parser", - "version": "v5.5.0", + "version": "v5.6.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" + "reference": "221b0d0fdf1369c71047ad1d18bb5880017bbc56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", - "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/221b0d0fdf1369c71047ad1d18bb5880017bbc56", + "reference": "221b0d0fdf1369c71047ad1d18bb5880017bbc56", "shasum": "" }, "require": { @@ -5602,9 +5606,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.0" }, - "time": "2025-05-31T08:24:38+00:00" + "time": "2025-07-27T20:03:57+00:00" }, { "name": "phar-io/manifest", @@ -7472,16 +7476,16 @@ }, { "name": "symfony/console", - "version": "v7.3.1", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101" + "reference": "5f360ebc65c55265a74d23d7fe27f957870158a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9e27aecde8f506ba0fd1d9989620c04a87697101", - "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101", + "url": "https://api.github.com/repos/symfony/console/zipball/5f360ebc65c55265a74d23d7fe27f957870158a1", + "reference": "5f360ebc65c55265a74d23d7fe27f957870158a1", "shasum": "" }, "require": { @@ -7546,7 +7550,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.1" + "source": "https://github.com/symfony/console/tree/v7.3.2" }, "funding": [ { @@ -7557,25 +7561,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-27T19:55:54+00:00" + "time": "2025-07-30T17:13:41+00:00" }, { "name": "symfony/filesystem", - "version": "v7.3.0", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", - "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd", "shasum": "" }, "require": { @@ -7612,7 +7620,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.0" + "source": "https://github.com/symfony/filesystem/tree/v7.3.2" }, "funding": [ { @@ -7623,25 +7631,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-10-25T15:15:23+00:00" + "time": "2025-07-07T08:17:47+00:00" }, { "name": "symfony/finder", - "version": "v7.3.0", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", - "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", + "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", "shasum": "" }, "require": { @@ -7676,7 +7688,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.0" + "source": "https://github.com/symfony/finder/tree/v7.3.2" }, "funding": [ { @@ -7687,25 +7699,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-12-30T19:00:26+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.3.0", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" + "reference": "119bcf13e67dbd188e5dbc74228b1686f66acd37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", - "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/119bcf13e67dbd188e5dbc74228b1686f66acd37", + "reference": "119bcf13e67dbd188e5dbc74228b1686f66acd37", "shasum": "" }, "require": { @@ -7743,7 +7759,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.2" }, "funding": [ { @@ -7754,12 +7770,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-04T13:12:05+00:00" + "time": "2025-07-15T11:36:08+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8138,16 +8158,16 @@ }, { "name": "symfony/string", - "version": "v7.3.0", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" + "reference": "42f505aff654e62ac7ac2ce21033818297ca89ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", - "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", + "url": "https://api.github.com/repos/symfony/string/zipball/42f505aff654e62ac7ac2ce21033818297ca89ca", + "reference": "42f505aff654e62ac7ac2ce21033818297ca89ca", "shasum": "" }, "require": { @@ -8205,7 +8225,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.0" + "source": "https://github.com/symfony/string/tree/v7.3.2" }, "funding": [ { @@ -8216,12 +8236,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-20T20:19:01+00:00" + "time": "2025-07-10T08:47:49+00:00" }, { "name": "textalk/websocket", @@ -8454,7 +8478,7 @@ "aliases": [ { "package": "utopia-php/database", - "version": "dev-feat-mongo-2", + "version": "dev-feat-mongo-tmp", "alias": "0.73.0", "alias_normalized": "0.73.0.0" } diff --git a/docker-compose.yml b/docker-compose.yml index 717f7565c5..f9a96860c0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -424,6 +424,8 @@ services: volumes: - ./app:/usr/src/code/app - ./src:/usr/src/code/src + - ./vendor/utopia-php/mongo/src:/usr/src/code/vendor/utopia-php/mongo/src + - ./vendor/utopia-php/database/src:/usr/src/code/vendor/utopia-php/database/src depends_on: - redis - ${_APP_DB_HOST:-mongodb} @@ -460,6 +462,8 @@ services: - appwrite-uploads:/storage/uploads:rw - ./app:/usr/src/code/app - ./src:/usr/src/code/src + - ./vendor/utopia-php/mongo/src:/usr/src/code/vendor/utopia-php/mongo/src + - ./vendor/utopia-php/database/src:/usr/src/code/vendor/utopia-php/database/src depends_on: - redis - ${_APP_DB_HOST:-mongodb} @@ -569,6 +573,8 @@ services: volumes: - ./app:/usr/src/code/app - ./src:/usr/src/code/src + - ./vendor/utopia-php/mongo/src:/usr/src/code/vendor/utopia-php/mongo/src + - ./vendor/utopia-php/database/src:/usr/src/code/vendor/utopia-php/database/src depends_on: - redis - ${_APP_DB_HOST:-mongodb} @@ -848,6 +854,8 @@ services: volumes: - ./app:/usr/src/code/app - ./src:/usr/src/code/src + - ./vendor/utopia-php/mongo/src:/usr/src/code/vendor/utopia-php/mongo/src + - ./vendor/utopia-php/database/src:/usr/src/code/vendor/utopia-php/database/src depends_on: - redis - ${_APP_DB_HOST:-mongodb} diff --git a/src/Appwrite/Platform/Tasks/Upgrade.php b/src/Appwrite/Platform/Tasks/Upgrade.php index 00b6a514bb..327129dfdd 100644 --- a/src/Appwrite/Platform/Tasks/Upgrade.php +++ b/src/Appwrite/Platform/Tasks/Upgrade.php @@ -3,9 +3,9 @@ namespace Appwrite\Platform\Tasks; use Utopia\CLI\Console; +use Utopia\System\System; use Utopia\Validator\Boolean; use Utopia\Validator\Text; -use Utopia\System\System; class Upgrade extends Install { diff --git a/tests/e2e/General/UsageTest.php b/tests/e2e/General/UsageTest.php index b5800eac37..945b6cd79d 100644 --- a/tests/e2e/General/UsageTest.php +++ b/tests/e2e/General/UsageTest.php @@ -3,6 +3,7 @@ namespace Tests\E2E\General; use Appwrite\Platform\Modules\Compute\Specification; +use Appwrite\Tests\Retry; use CURLFile; use DateTime; use Tests\E2E\Client;