diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 6399a5e61e..45799ce86f 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -133,7 +133,7 @@ App::post('/v1/projects') $databaseKeys = System::getEnv('_APP_DATABASE_KEYS', ''); $keys = explode(',', $databaseKeys); $databases = array_filter($keys, function ($value) use ($region) { - return str_contains($value, $region); + return str_contains($value, $region); }); } diff --git a/app/http.php b/app/http.php index c80fccee54..e276dac519 100644 --- a/app/http.php +++ b/app/http.php @@ -264,9 +264,15 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg $sharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_SHARED_TABLES_V1', '')); $sharedTablesV2 = \array_diff($sharedTables, $sharedTablesV1); + $region = System::getEnv('_APP_REGION', 'fra'); $cache = $app->getResource('cache'); - foreach ($sharedTablesV2 as $hostname) { + $regionDatabases = \array_filter( + $sharedTablesV2, + fn ($hostname) => \str_contains($hostname, $region) + ); + + foreach ($regionDatabases as $hostname) { $adapter = $pools ->get($hostname) ->pop() diff --git a/app/init.php b/app/init.php index 97efbcf134..de4a411933 100644 --- a/app/init.php +++ b/app/init.php @@ -1334,7 +1334,7 @@ App::setResource('project', function ($dbForConsole, $request, $console) { $project = Authorization::skip(fn () => $dbForConsole->getDocument('projects', $projectId)); - if($project->getAttribute('region') !== System::getEnv('_APP_REGION')){ + if ($project->getAttribute('region') !== System::getEnv('_APP_REGION')) { throw new Exception(Exception::GENERAL_ACCESS_FORBIDDEN, 'Project is not accessible in this region. Please make sure you are using the correct endpoint'); }