Skip to content

Commit e5bfa25

Browse files
committed
fix: improve check if external storage backend is local
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent f427464 commit e5bfa25

4 files changed

Lines changed: 20 additions & 8 deletions

File tree

apps/files_external/lib/Controller/GlobalStoragesController.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
namespace OCA\Files_External\Controller;
2929

3030
use OCA\Files_External\NotFoundException;
31+
use OCA\Files_External\Service\BackendService;
3132
use OCA\Files_External\Service\GlobalStoragesService;
3233
use OCP\AppFramework\Http;
3334
use OCP\AppFramework\Http\Attribute\PasswordConfirmationRequired;
@@ -63,7 +64,8 @@ public function __construct(
6364
ILogger $logger,
6465
IUserSession $userSession,
6566
IGroupManager $groupManager,
66-
IConfig $config
67+
IConfig $config,
68+
BackendService $backendService
6769
) {
6870
parent::__construct(
6971
$AppName,
@@ -73,7 +75,8 @@ public function __construct(
7375
$logger,
7476
$userSession,
7577
$groupManager,
76-
$config
78+
$config,
79+
$backendService
7780
);
7881
}
7982

apps/files_external/lib/Controller/StoragesController.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@
3131
use OCA\Files_External\Lib\Auth\AuthMechanism;
3232
use OCA\Files_External\Lib\Backend\Backend;
3333
use OCA\Files_External\Lib\DefinitionParameter;
34+
use OCA\Files_External\Lib\Backend\Local;
3435
use OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
3536
use OCA\Files_External\Lib\StorageConfig;
3637
use OCA\Files_External\NotFoundException;
38+
use OCA\Files_External\Service\BackendService;
3739
use OCA\Files_External\Service\StoragesService;
3840
use OCP\AppFramework\Controller;
3941
use OCP\AppFramework\Http;
@@ -103,7 +105,8 @@ public function __construct(
103105
ILogger $logger,
104106
IUserSession $userSession,
105107
IGroupManager $groupManager,
106-
IConfig $config
108+
IConfig $config,
109+
BackendService $backendService
107110
) {
108111
parent::__construct($AppName, $request);
109112
$this->l10n = $l10n;
@@ -139,7 +142,7 @@ protected function createStorage(
139142
$priority = null
140143
) {
141144
$canCreateNewLocalStorage = $this->config->getSystemValue('files_external_allow_create_new_local', true);
142-
if (!$canCreateNewLocalStorage && $backend === 'local') {
145+
if (!$canCreateNewLocalStorage && $this->backendService->getBackend($backend) instanceof Local) {
143146
return new DataResponse(
144147
[
145148
'message' => $this->l10n->t('Forbidden to manage local mounts')

apps/files_external/lib/Controller/UserGlobalStoragesController.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
use OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
3434
use OCA\Files_External\Lib\StorageConfig;
3535
use OCA\Files_External\NotFoundException;
36+
use OCA\Files_External\Service\BackendService;
3637
use OCA\Files_External\Service\UserGlobalStoragesService;
3738
use OCP\AppFramework\Http;
3839
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
@@ -68,7 +69,8 @@ public function __construct(
6869
ILogger $logger,
6970
IUserSession $userSession,
7071
IGroupManager $groupManager,
71-
IConfig $config
72+
IConfig $config,
73+
BackendService $backendService
7274
) {
7375
parent::__construct(
7476
$AppName,
@@ -78,7 +80,8 @@ public function __construct(
7880
$logger,
7981
$userSession,
8082
$groupManager,
81-
$config
83+
$config,
84+
$backendService,
8285
);
8386
}
8487

apps/files_external/lib/Controller/UserStoragesController.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
use OCA\Files_External\Lib\Backend\Backend;
3333
use OCA\Files_External\Lib\StorageConfig;
3434
use OCA\Files_External\NotFoundException;
35+
use OCA\Files_External\Service\BackendService;
3536
use OCA\Files_External\Service\UserStoragesService;
3637
use OCP\AppFramework\Http;
3738
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
@@ -67,7 +68,8 @@ public function __construct(
6768
ILogger $logger,
6869
IUserSession $userSession,
6970
IGroupManager $groupManager,
70-
IConfig $config
71+
IConfig $config,
72+
BackendService $backendService
7173
) {
7274
parent::__construct(
7375
$AppName,
@@ -77,7 +79,8 @@ public function __construct(
7779
$logger,
7880
$userSession,
7981
$groupManager,
80-
$config
82+
$config,
83+
$backendService,
8184
);
8285
}
8386

0 commit comments

Comments
 (0)