Update composer dependencies and Docker Compose configuration for MongoDB integration. Change database alias in composer.json, update package versions in composer.lock, and adjust volume mappings in Docker Compose to include MongoDB source directories. Refactor application code to set tenant to null for database connections.

This commit is contained in:
shimon
2025-08-06 15:07:04 +03:00
parent d48248c9a2
commit 779fb7bd20
12 changed files with 146 additions and 106 deletions
+2 -2
View File
@@ -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'),
+1 -1
View File
@@ -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;
-1
View File
@@ -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'))
+1 -1
View File
@@ -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) {
+8 -8
View File
@@ -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());
+14 -8
View File
@@ -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([]);
}
+5 -3
View File
@@ -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;
};
+1 -1
View File
@@ -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",
Generated
+104 -80
View File
@@ -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"
}
+8
View File
@@ -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}
+1 -1
View File
@@ -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
{
+1
View File
@@ -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;