aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/Controller
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/lib/Controller')
-rw-r--r--apps/files_external/lib/Controller/GlobalStoragesController.php19
-rw-r--r--apps/files_external/lib/Controller/StoragesController.php17
-rw-r--r--apps/files_external/lib/Controller/UserGlobalStoragesController.php7
-rw-r--r--apps/files_external/lib/Controller/UserStoragesController.php18
4 files changed, 31 insertions, 30 deletions
diff --git a/apps/files_external/lib/Controller/GlobalStoragesController.php b/apps/files_external/lib/Controller/GlobalStoragesController.php
index cb785695647..cd78a48b648 100644
--- a/apps/files_external/lib/Controller/GlobalStoragesController.php
+++ b/apps/files_external/lib/Controller/GlobalStoragesController.php
@@ -28,6 +28,7 @@
namespace OCA\Files_External\Controller;
use OCA\Files_External\NotFoundException;
+use OCA\Files_External\Service\BackendService;
use OCA\Files_External\Service\GlobalStoragesService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
@@ -42,36 +43,26 @@ use Psr\Log\LoggerInterface;
* Global storages controller
*/
class GlobalStoragesController extends StoragesController {
- /**
- * Creates a new global storages controller.
- *
- * @param string $AppName application name
- * @param IRequest $request request object
- * @param IL10N $l10n l10n service
- * @param GlobalStoragesService $globalStoragesService storage service
- * @param LoggerInterface $logger
- * @param IUserSession $userSession
- * @param IGroupManager $groupManager
- * @param IConfig $config
- */
public function __construct(
- $AppName,
+ string $appName,
IRequest $request,
IL10N $l10n,
GlobalStoragesService $globalStoragesService,
LoggerInterface $logger,
IUserSession $userSession,
IGroupManager $groupManager,
+ BackendService $backendService,
IConfig $config
) {
parent::__construct(
- $AppName,
+ $appName,
$request,
$l10n,
$globalStoragesService,
$logger,
$userSession,
$groupManager,
+ $backendService,
$config
);
}
diff --git a/apps/files_external/lib/Controller/StoragesController.php b/apps/files_external/lib/Controller/StoragesController.php
index ead6aa9663a..7c238a6d5d9 100644
--- a/apps/files_external/lib/Controller/StoragesController.php
+++ b/apps/files_external/lib/Controller/StoragesController.php
@@ -34,6 +34,7 @@ use OCA\Files_External\Lib\DefinitionParameter;
use OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\NotFoundException;
+use OCA\Files_External\Service\BackendService;
use OCA\Files_External\Service\StoragesService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
@@ -50,26 +51,18 @@ use Psr\Log\LoggerInterface;
* Base class for storages controllers
*/
abstract class StoragesController extends Controller {
- /**
- * Creates a new storages controller.
- *
- * @param string $AppName application name
- * @param IRequest $request request object
- * @param IL10N $l10n l10n service
- * @param StoragesService $storagesService storage service
- * @param LoggerInterface $logger
- */
public function __construct(
- $AppName,
+ string $appName,
IRequest $request,
protected IL10N $l10n,
protected StoragesService $service,
protected LoggerInterface $logger,
protected IUserSession $userSession,
protected IGroupManager $groupManager,
+ protected BackendService $backendService,
protected IConfig $config
) {
- parent::__construct($AppName, $request);
+ parent::__construct($appName, $request);
}
/**
@@ -118,7 +111,7 @@ abstract class StoragesController extends Controller {
$priority
);
} catch (\InvalidArgumentException $e) {
- $this->logger->error($e->getMessage(), ['exception' => $e]);
+ $this->logger->warning('Invalid backend or authentication mechanism class', ['exception' => $e]);
return new DataResponse(
[
'message' => $this->l10n->t('Invalid backend or authentication mechanism class')
diff --git a/apps/files_external/lib/Controller/UserGlobalStoragesController.php b/apps/files_external/lib/Controller/UserGlobalStoragesController.php
index ba15afb2bdf..ce73282b216 100644
--- a/apps/files_external/lib/Controller/UserGlobalStoragesController.php
+++ b/apps/files_external/lib/Controller/UserGlobalStoragesController.php
@@ -33,6 +33,7 @@ use OCA\Files_External\Lib\Backend\Backend;
use OCA\Files_External\Lib\InsufficientDataForMeaningfulAnswerException;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\NotFoundException;
+use OCA\Files_External\Service\BackendService;
use OCA\Files_External\Service\UserGlobalStoragesService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
@@ -59,23 +60,25 @@ class UserGlobalStoragesController extends StoragesController {
* @param IGroupManager $groupManager
*/
public function __construct(
- $AppName,
+ string $appName,
IRequest $request,
IL10N $l10n,
UserGlobalStoragesService $userGlobalStoragesService,
LoggerInterface $logger,
IUserSession $userSession,
IGroupManager $groupManager,
+ BackendService $backendService,
IConfig $config
) {
parent::__construct(
- $AppName,
+ $appName,
$request,
$l10n,
$userGlobalStoragesService,
$logger,
$userSession,
$groupManager,
+ $backendService,
$config
);
}
diff --git a/apps/files_external/lib/Controller/UserStoragesController.php b/apps/files_external/lib/Controller/UserStoragesController.php
index 7c141afcb30..0f7b5c178d9 100644
--- a/apps/files_external/lib/Controller/UserStoragesController.php
+++ b/apps/files_external/lib/Controller/UserStoragesController.php
@@ -32,6 +32,7 @@ use OCA\Files_External\Lib\Auth\AuthMechanism;
use OCA\Files_External\Lib\Backend\Backend;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\NotFoundException;
+use OCA\Files_External\Service\BackendService;
use OCA\Files_External\Service\UserStoragesService;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
@@ -58,23 +59,25 @@ class UserStoragesController extends StoragesController {
* @param IGroupManager $groupManager
*/
public function __construct(
- $AppName,
+ string $appName,
IRequest $request,
IL10N $l10n,
UserStoragesService $userStoragesService,
LoggerInterface $logger,
IUserSession $userSession,
IGroupManager $groupManager,
+ BackendService $backendService,
IConfig $config
) {
parent::__construct(
- $AppName,
+ $appName,
$request,
$l10n,
$userStoragesService,
$logger,
$userSession,
$groupManager,
+ $backendService,
$config
);
}
@@ -232,6 +235,17 @@ class UserStoragesController extends StoragesController {
* {@inheritdoc}
*/
public function destroy($id) {
+ if (!$this->backendService->isUserUnmountingAllowed()) {
+ return new DataResponse(
+ [
+ 'message' => $this->l10n->t(
+ 'Insufficient right to disconnect this storage'
+ )
+ ],
+ Http::STATUS_NOT_FOUND
+ );
+ }
+
return parent::destroy($id);
}
}