From ad39ad91a095b88e1dc592bbe2e125f4cbb153e9 Mon Sep 17 00:00:00 2001 From: Tatjana Kaschperko Lindt Date: Mon, 16 Mar 2026 10:57:16 +0100 Subject: [PATCH] feat(files_external): convert to delegated settings Signed-off-by: Tatjana Kaschperko Lindt --- apps/files_external/lib/Settings/Admin.php | 16 +++++++++++++--- apps/files_external/tests/Settings/AdminTest.php | 9 ++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/apps/files_external/lib/Settings/Admin.php b/apps/files_external/lib/Settings/Admin.php index 9af0f3c61c1..b31b533bb8a 100644 --- a/apps/files_external/lib/Settings/Admin.php +++ b/apps/files_external/lib/Settings/Admin.php @@ -12,15 +12,16 @@ use OCA\Files_External\Service\BackendService; use OCA\Files_External\Service\GlobalStoragesService; use OCP\AppFramework\Http\TemplateResponse; use OCP\Encryption\IManager; -use OCP\Settings\ISettings; - -class Admin implements ISettings { +use OCP\IL10N; +use OCP\Settings\IDelegatedSettings; +class Admin implements IDelegatedSettings { public function __construct( private IManager $encryptionManager, private GlobalStoragesService $globalStoragesService, private BackendService $backendService, private GlobalAuth $globalAuth, + private IL10N $l10n, ) { } @@ -60,4 +61,13 @@ class Admin implements ISettings { public function getPriority() { return 40; } + + public function getName(): string { + return $this->l10n->t('External storage'); + } + + public function getAuthorizedAppConfig(): array { + // No app config keys require delegation for external storage. + return []; + } } diff --git a/apps/files_external/tests/Settings/AdminTest.php b/apps/files_external/tests/Settings/AdminTest.php index fd4a1949760..92eb9b89f6b 100644 --- a/apps/files_external/tests/Settings/AdminTest.php +++ b/apps/files_external/tests/Settings/AdminTest.php @@ -14,6 +14,7 @@ use OCA\Files_External\Service\GlobalStoragesService; use OCA\Files_External\Settings\Admin; use OCP\AppFramework\Http\TemplateResponse; use OCP\Encryption\IManager; +use OCP\IL10N; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; @@ -22,6 +23,7 @@ class AdminTest extends TestCase { private GlobalStoragesService&MockObject $globalStoragesService; private BackendService&MockObject $backendService; private GlobalAuth&MockObject $globalAuth; + private IL10N&MockObject $l10n; private Admin $admin; protected function setUp(): void { @@ -30,12 +32,17 @@ class AdminTest extends TestCase { $this->globalStoragesService = $this->createMock(GlobalStoragesService::class); $this->backendService = $this->createMock(BackendService::class); $this->globalAuth = $this->createMock(GlobalAuth::class); + $this->l10n = $this->createMock(IL10N::class); + $this->l10n->method('t')->willReturnCallback(function ($text) { + return $text; + }); $this->admin = new Admin( $this->encryptionManager, $this->globalStoragesService, $this->backendService, - $this->globalAuth + $this->globalAuth, + $this->l10n ); }