diff options
author | Christopher Ng <chrng8@gmail.com> | 2024-08-21 10:31:21 -0700 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2024-08-27 14:33:39 -0700 |
commit | 71e653c0bc0f365d4dbd863e797308334b307532 (patch) | |
tree | dce81062fa5eb3219c4d27461b89c777e683a11a /apps | |
parent | a740e60afc4bc9d77ccb1c68095e3468ffc5db30 (diff) | |
download | nextcloud-server-71e653c0bc0f365d4dbd863e797308334b307532.tar.gz nextcloud-server-71e653c0bc0f365d4dbd863e797308334b307532.zip |
perf(files): Do not block files page load with server-side favorites retrieval
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/lib/Controller/ViewController.php | 15 | ||||
-rw-r--r-- | apps/files/tests/Controller/ViewControllerTest.php | 64 |
2 files changed, 16 insertions, 63 deletions
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index aa9aa81a814..e3d4c0a6aa0 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -8,7 +8,6 @@ namespace OCA\Files\Controller; use OC\Files\FilenameValidator; -use OCA\Files\Activity\Helper; use OCA\Files\AppInfo\Application; use OCA\Files\Event\LoadAdditionalScriptsEvent; use OCA\Files\Event\LoadSearchPlugins; @@ -54,7 +53,6 @@ class ViewController extends Controller { private IUserSession $userSession, private IAppManager $appManager, private IRootFolder $rootFolder, - private Helper $activityHelper, private IInitialState $initialState, private ITemplateManager $templateManager, private UserConfig $userConfig, @@ -146,18 +144,6 @@ class ViewController extends Controller { $userId = $this->userSession->getUser()->getUID(); - // Get all the user favorites to create a submenu - try { - $userFolder = $this->rootFolder->getUserFolder($userId); - $favElements = $this->activityHelper->getFavoriteNodes($userId, true); - $favElements = array_map(fn (Folder $node) => [ - 'fileid' => $node->getId(), - 'path' => $userFolder->getRelativePath($node->getPath()), - ], $favElements); - } catch (\RuntimeException $e) { - $favElements = []; - } - // If the file doesn't exists in the folder and // exists in only one occurrence, redirect to that file // in the correct folder @@ -187,7 +173,6 @@ class ViewController extends Controller { $this->initialState->provideInitialState('storageStats', $storageInfo); $this->initialState->provideInitialState('config', $this->userConfig->getConfigs()); $this->initialState->provideInitialState('viewConfigs', $this->viewConfig->getConfigs()); - $this->initialState->provideInitialState('favoriteFolders', $favElements); // File sorting user config $filesSortingConfig = json_decode($this->config->getUserValue($userId, 'files', 'files_sorting_configs', '{}'), true); diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php index e3ac7737d00..c1bc27d42b5 100644 --- a/apps/files/tests/Controller/ViewControllerTest.php +++ b/apps/files/tests/Controller/ViewControllerTest.php @@ -8,7 +8,6 @@ namespace OCA\Files\Tests\Controller; use OC\Files\FilenameValidator; -use OCA\Files\Activity\Helper; use OCA\Files\Controller\ViewController; use OCA\Files\Service\UserConfig; use OCA\Files\Service\ViewConfig; @@ -26,7 +25,7 @@ use OCP\IRequest; use OCP\IURLGenerator; use OCP\IUser; use OCP\IUserSession; -use OCP\Share\IManager; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; /** @@ -35,38 +34,21 @@ use Test\TestCase; * @package OCA\Files\Tests\Controller */ class ViewControllerTest extends TestCase { - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */ - private $request; - /** @var IURLGenerator|\PHPUnit\Framework\MockObject\MockObject */ - private $urlGenerator; - /** @var IL10N */ - private $l10n; - /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ - private $config; - /** @var IEventDispatcher */ - private $eventDispatcher; - /** @var ViewController|\PHPUnit\Framework\MockObject\MockObject */ - private $viewController; - /** @var IUser|\PHPUnit\Framework\MockObject\MockObject */ - private $user; - /** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */ - private $userSession; - /** @var IAppManager|\PHPUnit\Framework\MockObject\MockObject */ - private $appManager; - /** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */ - private $rootFolder; - /** @var Helper|\PHPUnit\Framework\MockObject\MockObject */ - private $activityHelper; - /** @var IInitialState|\PHPUnit\Framework\MockObject\MockObject */ - private $initialState; - /** @var ITemplateManager|\PHPUnit\Framework\MockObject\MockObject */ - private $templateManager; - /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */ - private $shareManager; - /** @var UserConfig|\PHPUnit\Framework\MockObject\MockObject */ - private $userConfig; - /** @var ViewConfig|\PHPUnit\Framework\MockObject\MockObject */ - private $viewConfig; + private IRequest&MockObject $request; + private IURLGenerator&MockObject $urlGenerator; + private IL10N&MockObject $l10n; + private IConfig&MockObject $config; + private IEventDispatcher $eventDispatcher; + private IUser&MockObject $user; + private IUserSession&MockObject $userSession; + private IAppManager&MockObject $appManager; + private IRootFolder&MockObject $rootFolder; + private IInitialState&MockObject $initialState; + private ITemplateManager&MockObject $templateManager; + private UserConfig&MockObject $userConfig; + private ViewConfig&MockObject $viewConfig; + + private ViewController&MockObject $viewController; protected function setUp(): void { parent::setUp(); @@ -85,7 +67,6 @@ class ViewControllerTest extends TestCase { ->method('getUser') ->willReturn($this->user); $this->rootFolder = $this->getMockBuilder('\OCP\Files\IRootFolder')->getMock(); - $this->activityHelper = $this->createMock(Helper::class); $this->initialState = $this->createMock(IInitialState::class); $this->templateManager = $this->createMock(ITemplateManager::class); $this->userConfig = $this->createMock(UserConfig::class); @@ -104,7 +85,6 @@ class ViewControllerTest extends TestCase { $this->userSession, $this->appManager, $this->rootFolder, - $this->activityHelper, $this->initialState, $this->templateManager, $this->userConfig, @@ -162,18 +142,6 @@ class ViewControllerTest extends TestCase { $policy->addAllowedFrameDomain('\'self\''); $expected->setContentSecurityPolicy($policy); - $this->activityHelper->method('getFavoriteFilePaths') - ->with($this->user->getUID()) - ->willReturn([ - 'item' => [], - 'folders' => [ - '/test1', - '/test2/', - '/test3/sub4', - '/test5/sub6/', - ], - ]); - $this->assertEquals($expected, $this->viewController->index('MyDir', 'MyView')); } |