aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external
diff options
context:
space:
mode:
authorFaraz Samapoor <f.samapoor@gmail.com>2023-07-04 12:34:36 +0330
committerFaraz Samapoor <f.samapoor@gmail.com>2023-09-28 09:02:10 +0330
commit32838d8f0a99393dafb1ba0844c55fc257cc7a84 (patch)
tree4c95516699a5b8b7612d7b49c51661abce0c4517 /apps/files_external
parentc2e4a7be920af69ece4a68e9a410155a718355db (diff)
downloadnextcloud-server-32838d8f0a99393dafb1ba0844c55fc257cc7a84.tar.gz
nextcloud-server-32838d8f0a99393dafb1ba0844c55fc257cc7a84.zip
Refactors files_external app commands.
To improve code readability. Signed-off-by: Faraz Samapoor <fsa@adlas.at> Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Diffstat (limited to 'apps/files_external')
-rw-r--r--apps/files_external/lib/Command/Applicable.php24
-rw-r--r--apps/files_external/lib/Command/Backends.php17
-rw-r--r--apps/files_external/lib/Command/Config.php20
-rw-r--r--apps/files_external/lib/Command/Create.php55
-rw-r--r--apps/files_external/lib/Command/Delete.php23
-rw-r--r--apps/files_external/lib/Command/Export.php2
-rw-r--r--apps/files_external/lib/Command/Import.php63
-rw-r--r--apps/files_external/lib/Command/ListCommand.php37
-rw-r--r--apps/files_external/lib/Command/Notify.php73
-rw-r--r--apps/files_external/lib/Command/Option.php8
-rw-r--r--apps/files_external/lib/Command/Verify.php21
11 files changed, 137 insertions, 206 deletions
diff --git a/apps/files_external/lib/Command/Applicable.php b/apps/files_external/lib/Command/Applicable.php
index a3708602dff..dbedc72825c 100644
--- a/apps/files_external/lib/Command/Applicable.php
+++ b/apps/files_external/lib/Command/Applicable.php
@@ -34,21 +34,15 @@ use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\HttpFoundation\Response;
class Applicable extends Base {
- protected GlobalStoragesService $globalService;
- private IUserManager $userManager;
- private IGroupManager $groupManager;
-
public function __construct(
- GlobalStoragesService $globalService,
- IUserManager $userManager,
- IGroupManager $groupManager
+ protected GlobalStoragesService $globalService,
+ private IUserManager $userManager,
+ private IGroupManager $groupManager,
) {
parent::__construct();
- $this->globalService = $globalService;
- $this->userManager = $userManager;
- $this->groupManager = $groupManager;
}
protected function configure(): void {
@@ -94,12 +88,12 @@ class Applicable extends Base {
$mount = $this->globalService->getStorage($mountId);
} catch (NotFoundException $e) {
$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
if ($mount->getType() === StorageConfig::MOUNT_TYPE_PERSONAl) {
$output->writeln('<error>Can\'t change applicables on personal mounts</error>');
- return 1;
+ return self::FAILURE;
}
$addUsers = $input->getOption('add-user');
@@ -114,13 +108,13 @@ class Applicable extends Base {
foreach ($addUsers as $addUser) {
if (!$this->userManager->userExists($addUser)) {
$output->writeln('<error>User "' . $addUser . '" not found</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
}
foreach ($addGroups as $addGroup) {
if (!$this->groupManager->groupExists($addGroup)) {
$output->writeln('<error>Group "' . $addGroup . '" not found</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
}
@@ -142,6 +136,6 @@ class Applicable extends Base {
'users' => $applicableUsers,
'groups' => $applicableGroups
]);
- return 0;
+ return self::SUCCESS;
}
}
diff --git a/apps/files_external/lib/Command/Backends.php b/apps/files_external/lib/Command/Backends.php
index faf6209bd74..3a0f26a2803 100644
--- a/apps/files_external/lib/Command/Backends.php
+++ b/apps/files_external/lib/Command/Backends.php
@@ -33,13 +33,10 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class Backends extends Base {
- private BackendService $backendService;
-
- public function __construct(BackendService $backendService
+ public function __construct(
+ private BackendService $backendService,
) {
parent::__construct();
-
- $this->backendService = $backendService;
}
protected function configure(): void {
@@ -72,24 +69,24 @@ class Backends extends Base {
if ($type) {
if (!isset($data[$type])) {
$output->writeln('<error>Invalid type "' . $type . '". Possible values are "authentication" or "storage"</error>');
- return 1;
+ return self::FAILURE;
}
$data = $data[$type];
if ($backend) {
if (!isset($data[$backend])) {
$output->writeln('<error>Unknown backend "' . $backend . '" of type "' . $type . '"</error>');
- return 1;
+ return self::FAILURE;
}
$data = $data[$backend];
}
}
$this->writeArrayInOutputFormat($input, $output, $data);
- return 0;
+ return self::SUCCESS;
}
- private function serializeAuthBackend(\JsonSerializable $backend) {
+ private function serializeAuthBackend(\JsonSerializable $backend): array {
$data = $backend->jsonSerialize();
$result = [
'name' => $data['name'],
@@ -112,7 +109,7 @@ class Backends extends Base {
* @param DefinitionParameter[] $parameters
* @return string[]
*/
- private function formatConfiguration(array $parameters) {
+ private function formatConfiguration(array $parameters): array {
$configuration = array_filter($parameters, function (DefinitionParameter $parameter) {
return $parameter->getType() !== DefinitionParameter::VALUE_HIDDEN;
});
diff --git a/apps/files_external/lib/Command/Config.php b/apps/files_external/lib/Command/Config.php
index 1107bfb4d42..3b905cc74fb 100644
--- a/apps/files_external/lib/Command/Config.php
+++ b/apps/files_external/lib/Command/Config.php
@@ -31,13 +31,13 @@ use OCA\Files_External\Service\GlobalStoragesService;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\HttpFoundation\Response;
class Config extends Base {
- protected GlobalStoragesService $globalService;
-
- public function __construct(GlobalStoragesService $globalService) {
+ public function __construct(
+ protected GlobalStoragesService $globalService,
+ ) {
parent::__construct();
- $this->globalService = $globalService;
}
protected function configure(): void {
@@ -67,7 +67,7 @@ class Config extends Base {
$mount = $this->globalService->getStorage($mountId);
} catch (NotFoundException $e) {
$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts"</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
$value = $input->getArgument('value');
@@ -76,15 +76,13 @@ class Config extends Base {
} else {
$this->getOption($mount, $key, $output);
}
- return 0;
+ return self::SUCCESS;
}
/**
- * @param StorageConfig $mount
* @param string $key
- * @param OutputInterface $output
*/
- protected function getOption(StorageConfig $mount, $key, OutputInterface $output) {
+ protected function getOption(StorageConfig $mount, $key, OutputInterface $output): void {
if ($key === 'mountpoint' || $key === 'mount_point') {
$value = $mount->getMountPoint();
} else {
@@ -97,12 +95,10 @@ class Config extends Base {
}
/**
- * @param StorageConfig $mount
* @param string $key
* @param string $value
- * @param OutputInterface $output
*/
- protected function setOption(StorageConfig $mount, $key, $value, OutputInterface $output) {
+ protected function setOption(StorageConfig $mount, $key, $value, OutputInterface $output): void {
$decoded = json_decode($value, true);
if (!is_null($decoded) && json_encode($decoded) === $value) {
$value = $decoded;
diff --git a/apps/files_external/lib/Command/Create.php b/apps/files_external/lib/Command/Create.php
index 6208ac0da07..ea0d98fe467 100644
--- a/apps/files_external/lib/Command/Create.php
+++ b/apps/files_external/lib/Command/Create.php
@@ -42,26 +42,17 @@ use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\HttpFoundation\Response;
class Create extends Base {
- private GlobalStoragesService $globalService;
- private UserStoragesService $userService;
- private IUserManager $userManager;
- private BackendService $backendService;
- private IUserSession $userSession;
-
- public function __construct(GlobalStoragesService $globalService,
- UserStoragesService $userService,
- IUserManager $userManager,
- IUserSession $userSession,
- BackendService $backendService
+ public function __construct(
+ private GlobalStoragesService $globalService,
+ private UserStoragesService $userService,
+ private IUserManager $userManager,
+ private IUserSession $userSession,
+ private BackendService $backendService,
) {
parent::__construct();
- $this->globalService = $globalService;
- $this->userService = $userService;
- $this->userManager = $userManager;
- $this->userSession = $userSession;
- $this->backendService = $backendService;
}
protected function configure(): void {
@@ -116,32 +107,32 @@ class Create extends Base {
if (!Filesystem::isValidPath($mountPoint)) {
$output->writeln('<error>Invalid mountpoint "' . $mountPoint . '"</error>');
- return 1;
+ return self::FAILURE;
}
if (is_null($storageBackend)) {
$output->writeln('<error>Storage backend with identifier "' . $storageIdentifier . '" not found (see `occ files_external:backends` for possible values)</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
if (is_null($authBackend)) {
$output->writeln('<error>Authentication backend with identifier "' . $authIdentifier . '" not found (see `occ files_external:backends` for possible values)</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
$supportedSchemes = array_keys($storageBackend->getAuthSchemes());
if (!in_array($authBackend->getScheme(), $supportedSchemes)) {
$output->writeln('<error>Authentication backend "' . $authIdentifier . '" not valid for storage backend "' . $storageIdentifier . '" (see `occ files_external:backends storage ' . $storageIdentifier . '` for possible values)</error>');
- return 1;
+ return self::FAILURE;
}
$config = [];
foreach ($configInput as $configOption) {
if (!str_contains($configOption, '=')) {
$output->writeln('<error>Invalid mount configuration option "' . $configOption . '"</error>');
- return 1;
+ return self::FAILURE;
}
[$key, $value] = explode('=', $configOption, 2);
if (!$this->validateParam($key, $value, $storageBackend, $authBackend)) {
$output->writeln('<error>Unknown configuration for backends "' . $key . '"</error>');
- return 1;
+ return self::FAILURE;
}
$config[$key] = $value;
}
@@ -155,7 +146,7 @@ class Create extends Base {
if ($user) {
if (!$this->userManager->userExists($user)) {
$output->writeln('<error>User "' . $user . '" not found</error>');
- return 1;
+ return self::FAILURE;
}
$mount->setApplicableUsers([$user]);
}
@@ -170,7 +161,7 @@ class Create extends Base {
$output->writeln((string)$mount->getId());
}
}
- return 0;
+ return self::SUCCESS;
}
private function validateParam(string $key, &$value, Backend $storageBackend, AuthMechanism $authBackend): bool {
@@ -196,15 +187,15 @@ class Create extends Base {
}
protected function getStorageService(string $userId): StoragesService {
- if (!empty($userId)) {
- $user = $this->userManager->get($userId);
- if (is_null($user)) {
- throw new NoUserException("user $userId not found");
- }
- $this->userSession->setUser($user);
- return $this->userService;
- } else {
+ if (empty($userId)) {
return $this->globalService;
}
+
+ $user = $this->userManager->get($userId);
+ if (is_null($user)) {
+ throw new NoUserException("user $userId not found");
+ }
+ $this->userSession->setUser($user);
+ return $this->userService;
}
}
diff --git a/apps/files_external/lib/Command/Delete.php b/apps/files_external/lib/Command/Delete.php
index cf09e3907b7..6b6ae299773 100644
--- a/apps/files_external/lib/Command/Delete.php
+++ b/apps/files_external/lib/Command/Delete.php
@@ -35,19 +35,16 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Question\ConfirmationQuestion;
+use Symfony\Component\HttpFoundation\Response;
class Delete extends Base {
- protected GlobalStoragesService $globalService;
- protected UserStoragesService $userService;
- protected IUserSession $userSession;
- protected IUserManager $userManager;
-
- public function __construct(GlobalStoragesService $globalService, UserStoragesService $userService, IUserSession $userSession, IUserManager $userManager) {
+ public function __construct(
+ protected GlobalStoragesService $globalService,
+ protected UserStoragesService $userService,
+ protected IUserSession $userSession,
+ protected IUserManager $userManager,
+ ) {
parent::__construct();
- $this->globalService = $globalService;
- $this->userService = $userService;
- $this->userSession = $userSession;
- $this->userManager = $userManager;
}
protected function configure(): void {
@@ -73,7 +70,7 @@ class Delete extends Base {
$mount = $this->globalService->getStorage($mountId);
} catch (NotFoundException $e) {
$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts"</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
$noConfirm = $input->getOption('yes');
@@ -88,11 +85,11 @@ class Delete extends Base {
$question = new ConfirmationQuestion('Delete this mount? [y/N] ', false);
if (!$questionHelper->ask($input, $output, $question)) {
- return 1;
+ return self::FAILURE;
}
}
$this->globalService->removeStorage($mountId);
- return 0;
+ return self::SUCCESS;
}
}
diff --git a/apps/files_external/lib/Command/Export.php b/apps/files_external/lib/Command/Export.php
index 98cfb683060..b5f7b67eafb 100644
--- a/apps/files_external/lib/Command/Export.php
+++ b/apps/files_external/lib/Command/Export.php
@@ -54,6 +54,6 @@ class Export extends ListCommand {
$listInput->setOption('show-password', true);
$listInput->setOption('full', true);
$listCommand->execute($listInput, $output);
- return 0;
+ return self::SUCCESS;
}
}
diff --git a/apps/files_external/lib/Command/Import.php b/apps/files_external/lib/Command/Import.php
index eab7dd9a6be..534c0a2d9d8 100644
--- a/apps/files_external/lib/Command/Import.php
+++ b/apps/files_external/lib/Command/Import.php
@@ -30,6 +30,7 @@ use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\Service\BackendService;
use OCA\Files_External\Service\GlobalStoragesService;
use OCA\Files_External\Service\ImportLegacyStoragesService;
+use OCA\Files_External\Service\StoragesService;
use OCA\Files_External\Service\UserStoragesService;
use OCP\IUserManager;
use OCP\IUserSession;
@@ -40,27 +41,15 @@ use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class Import extends Base {
- private GlobalStoragesService $globalService;
- private UserStoragesService $userService;
- private IUserSession $userSession;
- private IUserManager $userManager;
- private ImportLegacyStoragesService $importLegacyStorageService;
- private BackendService $backendService;
-
- public function __construct(GlobalStoragesService $globalService,
- UserStoragesService $userService,
- IUserSession $userSession,
- IUserManager $userManager,
- ImportLegacyStoragesService $importLegacyStorageService,
- BackendService $backendService
+ public function __construct(
+ private GlobalStoragesService $globalService,
+ private UserStoragesService $userService,
+ private IUserSession $userSession,
+ private IUserManager $userManager,
+ private ImportLegacyStoragesService $importLegacyStorageService,
+ private BackendService $backendService,
) {
parent::__construct();
- $this->globalService = $globalService;
- $this->userService = $userService;
- $this->userSession = $userSession;
- $this->userManager = $userManager;
- $this->importLegacyStorageService = $importLegacyStorageService;
- $this->backendService = $backendService;
}
protected function configure(): void {
@@ -95,18 +84,18 @@ class Import extends Base {
} else {
if (!file_exists($path)) {
$output->writeln('<error>File not found: ' . $path . '</error>');
- return 1;
+ return self::FAILURE;
}
$json = file_get_contents($path);
}
if (!is_string($json) || strlen($json) < 2) {
$output->writeln('<error>Error while reading json</error>');
- return 1;
+ return self::FAILURE;
}
$data = json_decode($json, true);
if (!is_array($data)) {
$output->writeln('<error>Error while parsing json</error>');
- return 1;
+ return self::FAILURE;
}
$isLegacy = isset($data['user']) || isset($data['group']);
@@ -116,7 +105,7 @@ class Import extends Base {
foreach ($mounts as $mount) {
if ($mount->getBackendOption('password') === false) {
$output->writeln('<error>Failed to decrypt password</error>');
- return 1;
+ return self::FAILURE;
}
}
} else {
@@ -147,7 +136,7 @@ class Import extends Base {
$existingMount->getBackendOptions() === $mount->getBackendOptions()
) {
$output->writeln("<error>Duplicate mount (" . $mount->getMountPoint() . ")</error>");
- return 1;
+ return self::FAILURE;
}
}
}
@@ -155,7 +144,7 @@ class Import extends Base {
if ($input->getOption('dry')) {
if (count($mounts) === 0) {
$output->writeln('<error>No mounts to be imported</error>');
- return 1;
+ return self::FAILURE;
}
$listCommand = new ListCommand($this->globalService, $this->userService, $this->userSession, $this->userManager);
$listInput = new ArrayInput([], $listCommand->getDefinition());
@@ -167,7 +156,7 @@ class Import extends Base {
$storageService->addStorage($mount);
}
}
- return 0;
+ return self::SUCCESS;
}
private function parseData(array $data): StorageConfig {
@@ -178,8 +167,8 @@ class Import extends Base {
$mount->setAuthMechanism($authBackend);
$mount->setBackendOptions($data['configuration']);
$mount->setMountOptions($data['options']);
- $mount->setApplicableUsers(isset($data['applicable_users']) ? $data['applicable_users'] : []);
- $mount->setApplicableGroups(isset($data['applicable_groups']) ? $data['applicable_groups'] : []);
+ $mount->setApplicableUsers($data['applicable_users'] ?? []);
+ $mount->setApplicableGroups($data['applicable_groups'] ?? []);
return $mount;
}
@@ -192,16 +181,16 @@ class Import extends Base {
}
}
- protected function getStorageService($userId) {
- if (!empty($userId)) {
- $user = $this->userManager->get($userId);
- if (is_null($user)) {
- throw new NoUserException("user $userId not found");
- }
- $this->userSession->setUser($user);
- return $this->userService;
- } else {
+ protected function getStorageService($userId): StoragesService {
+ if (empty($userId)) {
return $this->globalService;
}
+
+ $user = $this->userManager->get($userId);
+ if (is_null($user)) {
+ throw new NoUserException("user $userId not found");
+ }
+ $this->userSession->setUser($user);
+ return $this->userService;
}
}
diff --git a/apps/files_external/lib/Command/ListCommand.php b/apps/files_external/lib/Command/ListCommand.php
index b2a4baf366b..929e9d4f515 100644
--- a/apps/files_external/lib/Command/ListCommand.php
+++ b/apps/files_external/lib/Command/ListCommand.php
@@ -29,6 +29,7 @@ use OC\Core\Command\Base;
use OC\User\NoUserException;
use OCA\Files_External\Lib\StorageConfig;
use OCA\Files_External\Service\GlobalStoragesService;
+use OCA\Files_External\Service\StoragesService;
use OCA\Files_External\Service\UserStoragesService;
use OCP\IUserManager;
use OCP\IUserSession;
@@ -39,19 +40,15 @@ use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class ListCommand extends Base {
- protected GlobalStoragesService $globalService;
- protected UserStoragesService $userService;
- protected IUserSession $userSession;
- protected IUserManager $userManager;
-
public const ALL = -1;
- public function __construct(GlobalStoragesService $globalService, UserStoragesService $userService, IUserSession $userSession, IUserManager $userManager) {
+ public function __construct(
+ protected GlobalStoragesService $globalService,
+ protected UserStoragesService $userService,
+ protected IUserSession $userSession,
+ protected IUserManager $userManager,
+ ) {
parent::__construct();
- $this->globalService = $globalService;
- $this->userService = $userService;
- $this->userSession = $userSession;
- $this->userManager = $userManager;
}
protected function configure(): void {
@@ -93,7 +90,7 @@ class ListCommand extends Base {
}
$this->listMounts($userId, $mounts, $input, $output);
- return 0;
+ return self::SUCCESS;
}
/**
@@ -245,16 +242,16 @@ class ListCommand extends Base {
}
}
- protected function getStorageService($userId) {
- if (!empty($userId)) {
- $user = $this->userManager->get($userId);
- if (is_null($user)) {
- throw new NoUserException("user $userId not found");
- }
- $this->userSession->setUser($user);
- return $this->userService;
- } else {
+ protected function getStorageService($userId): StoragesService {
+ if (empty($userId)) {
return $this->globalService;
}
+
+ $user = $this->userManager->get($userId);
+ if (is_null($user)) {
+ throw new NoUserException("user $userId not found");
+ }
+ $this->userSession->setUser($user);
+ return $this->userService;
}
}
diff --git a/apps/files_external/lib/Command/Notify.php b/apps/files_external/lib/Command/Notify.php
index 5013d88539b..fd3a66a756e 100644
--- a/apps/files_external/lib/Command/Notify.php
+++ b/apps/files_external/lib/Command/Notify.php
@@ -50,23 +50,13 @@ use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class Notify extends Base {
- private GlobalStoragesService $globalService;
- private IDBConnection $connection;
- private LoggerInterface $logger;
- /** @var IUserManager */
- private $userManager;
-
public function __construct(
- GlobalStoragesService $globalService,
- IDBConnection $connection,
- LoggerInterface $logger,
- IUserManager $userManager
+ private GlobalStoragesService $globalService,
+ private IDBConnection $connection,
+ private LoggerInterface $logger,
+ private IUserManager $userManager
) {
parent::__construct();
- $this->globalService = $globalService;
- $this->connection = $connection;
- $this->logger = $logger;
- $this->userManager = $userManager;
}
protected function configure(): void {
@@ -110,32 +100,24 @@ class Notify extends Base {
private function getUserOption(InputInterface $input): ?string {
if ($input->getOption('user')) {
return (string)$input->getOption('user');
- } elseif (isset($_ENV['NOTIFY_USER'])) {
- return $_ENV['NOTIFY_USER'];
- } elseif (isset($_SERVER['NOTIFY_USER'])) {
- return $_SERVER['NOTIFY_USER'];
- } else {
- return null;
}
+
+ return $_ENV['NOTIFY_USER'] ?? $_SERVER['NOTIFY_USER'] ?? null;
}
private function getPasswordOption(InputInterface $input): ?string {
if ($input->getOption('password')) {
return (string)$input->getOption('password');
- } elseif (isset($_ENV['NOTIFY_PASSWORD'])) {
- return $_ENV['NOTIFY_PASSWORD'];
- } elseif (isset($_SERVER['NOTIFY_PASSWORD'])) {
- return $_SERVER['NOTIFY_PASSWORD'];
- } else {
- return null;
}
+
+ return $_ENV['NOTIFY_PASSWORD'] ?? $_SERVER['NOTIFY_PASSWORD'] ?? null;
}
protected function execute(InputInterface $input, OutputInterface $output): int {
$mount = $this->globalService->getStorage($input->getArgument('mount_id'));
if (is_null($mount)) {
$output->writeln('<error>Mount not found</error>');
- return 1;
+ return self::FAILURE;
}
$noAuth = false;
@@ -178,11 +160,11 @@ class Notify extends Base {
if ($noAuth) {
$output->writeln('<error>Username and/or password required</error>');
}
- return 1;
+ return self::FAILURE;
}
if (!$storage instanceof INotifyStorage) {
$output->writeln('<error>Mount of type "' . $mount->getBackend()->getText() . '" does not support active update notifications</error>');
- return 1;
+ return self::FAILURE;
}
$dryRun = $input->getOption('dry-run');
@@ -204,7 +186,7 @@ class Notify extends Base {
}
$this->markParentAsOutdated($mount->getId(), $change->getPath(), $output, $dryRun);
});
- return 0;
+ return self::SUCCESS;
}
private function createStorage(StorageConfig $mount): IStorage {
@@ -212,7 +194,7 @@ class Notify extends Base {
return new $class($mount->getBackendOptions());
}
- private function markParentAsOutdated($mountId, $path, OutputInterface $output, bool $dryRun) {
+ private function markParentAsOutdated($mountId, $path, OutputInterface $output, bool $dryRun): void {
$parent = ltrim(dirname($path), '/');
if ($parent === '.') {
$parent = '';
@@ -253,22 +235,17 @@ class Notify extends Base {
}
}
- private function logUpdate(IChange $change, OutputInterface $output) {
- switch ($change->getType()) {
- case INotifyStorage::NOTIFY_ADDED:
- $text = 'added';
- break;
- case INotifyStorage::NOTIFY_MODIFIED:
- $text = 'modified';
- break;
- case INotifyStorage::NOTIFY_REMOVED:
- $text = 'removed';
- break;
- case INotifyStorage::NOTIFY_RENAMED:
- $text = 'renamed';
- break;
- default:
- return;
+ private function logUpdate(IChange $change, OutputInterface $output): void {
+ $text = match ($change->getType()) {
+ INotifyStorage::NOTIFY_ADDED => 'added',
+ INotifyStorage::NOTIFY_MODIFIED => 'modified',
+ INotifyStorage::NOTIFY_REMOVED => 'removed',
+ INotifyStorage::NOTIFY_RENAMED => 'renamed',
+ default => '',
+ };
+
+ if ($text === '') {
+ return;
}
$text .= ' ' . $change->getPath();
@@ -324,7 +301,7 @@ class Notify extends Base {
}
- private function selfTest(IStorage $storage, INotifyHandler $notifyHandler, OutputInterface $output) {
+ private function selfTest(IStorage $storage, INotifyHandler $notifyHandler, OutputInterface $output): void {
usleep(100 * 1000); //give time for the notify to start
if (!$storage->file_put_contents('/.nc_test_file.txt', 'test content')) {
$output->writeln("Failed to create test file for self-test");
diff --git a/apps/files_external/lib/Command/Option.php b/apps/files_external/lib/Command/Option.php
index 30390ebabee..8ef423e2699 100644
--- a/apps/files_external/lib/Command/Option.php
+++ b/apps/files_external/lib/Command/Option.php
@@ -47,11 +47,9 @@ class Option extends Config {
}
/**
- * @param StorageConfig $mount
* @param string $key
- * @param OutputInterface $output
*/
- protected function getOption(StorageConfig $mount, $key, OutputInterface $output) {
+ protected function getOption(StorageConfig $mount, $key, OutputInterface $output): void {
$value = $mount->getMountOption($key);
if (!is_string($value)) { // show bools and objects correctly
$value = json_encode($value);
@@ -60,12 +58,10 @@ class Option extends Config {
}
/**
- * @param StorageConfig $mount
* @param string $key
* @param string $value
- * @param OutputInterface $output
*/
- protected function setOption(StorageConfig $mount, $key, $value, OutputInterface $output) {
+ protected function setOption(StorageConfig $mount, $key, $value, OutputInterface $output): void {
$decoded = json_decode($value, true);
if (!is_null($decoded)) {
$value = $decoded;
diff --git a/apps/files_external/lib/Command/Verify.php b/apps/files_external/lib/Command/Verify.php
index f8079ec4d65..625d0c1d515 100644
--- a/apps/files_external/lib/Command/Verify.php
+++ b/apps/files_external/lib/Command/Verify.php
@@ -36,13 +36,13 @@ use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\HttpFoundation\Response;
class Verify extends Base {
- protected GlobalStoragesService $globalService;
-
- public function __construct(GlobalStoragesService $globalService) {
+ public function __construct(
+ protected GlobalStoragesService $globalService,
+ ) {
parent::__construct();
- $this->globalService = $globalService;
}
protected function configure(): void {
@@ -70,7 +70,7 @@ class Verify extends Base {
$mount = $this->globalService->getStorage($mountId);
} catch (NotFoundException $e) {
$output->writeln('<error>Mount with id "' . $mountId . ' not found, check "occ files_external:list" to get available mounts"</error>');
- return 404;
+ return Response::HTTP_NOT_FOUND;
}
$this->updateStorageStatus($mount, $configInput, $output);
@@ -80,19 +80,17 @@ class Verify extends Base {
'code' => $mount->getStatus(),
'message' => $mount->getStatusMessage()
]);
- return 0;
+ return self::SUCCESS;
}
- private function manipulateStorageConfig(StorageConfig $storage) {
- /** @var AuthMechanism */
+ private function manipulateStorageConfig(StorageConfig $storage): void {
$authMechanism = $storage->getAuthMechanism();
$authMechanism->manipulateStorageConfig($storage);
- /** @var Backend */
$backend = $storage->getBackend();
$backend->manipulateStorageConfig($storage);
}
- private function updateStorageStatus(StorageConfig &$storage, $configInput, OutputInterface $output) {
+ private function updateStorageStatus(StorageConfig &$storage, $configInput, OutputInterface $output): void {
try {
try {
$this->manipulateStorageConfig($storage);
@@ -111,7 +109,6 @@ class Verify extends Base {
$storage->setBackendOption($key, $value);
}
- /** @var Backend */
$backend = $storage->getBackend();
// update status (can be time-consuming)
$storage->setStatus(
@@ -122,7 +119,7 @@ class Verify extends Base {
)
);
} catch (InsufficientDataForMeaningfulAnswerException $e) {
- $status = $e->getCode() ? $e->getCode() : StorageNotAvailableException::STATUS_INDETERMINATE;
+ $status = $e->getCode() ?: StorageNotAvailableException::STATUS_INDETERMINATE;
$storage->setStatus(
$status,
$e->getMessage()