From 7288520f38208288ecb994b3fb4fe87587e5dc98 Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 15 Nov 2022 13:30:18 +0100 Subject: [PATCH] fix: realtime console project --- app/realtime.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 90c96de21d..ac4e2d669a 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -306,7 +306,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, if ($realtime->hasSubscriber($projectId, 'user:' . $userId)) { $connection = array_key_first(reset($realtime->subscriptions[$projectId]['user:' . $userId])); [$consoleDatabase, $returnConsoleDatabase] = getDatabase($register, '_console'); - $project = Authorization::skip(fn() => $consoleDatabase->getDocument('projects', $projectId)); + $project = Authorization::skip(fn () => $consoleDatabase->getDocument('projects', $projectId)); [$database, $returnDatabase] = getDatabase($register, "_{$project->getInternalId()}"); $user = $database->getDocument('users', $userId); @@ -484,6 +484,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $server->onMessage(function (int $connection, string $message) use ($server, $register, $realtime, $containerId) { try { + $app = new App('UTC'); $response = new Response(new SwooleResponse()); $db = $register->get('dbPool')->get(); $redis = $register->get('redisPool')->get(); @@ -493,12 +494,8 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $database->setDefaultDatabase(App::getEnv('_APP_DB_SCHEMA', 'appwrite')); $database->setNamespace("_console"); $projectId = $realtime->connections[$connection]['projectId']; - - if ($projectId !== 'console') { - $project = Authorization::skip(fn() => $database->getDocument('projects', $projectId)); - $database->setNamespace("_{$project->getInternalId()}"); - } - + $project = $projectId === 'console' ? $app->getResource('console') : Authorization::skip(fn () => $database->getDocument('projects', $projectId)); + $database->setNamespace("_{$project->getInternalId()}"); /* * Abuse Check *