diff options
Diffstat (limited to 'apps/files_external/command/backends.php')
-rw-r--r-- | apps/files_external/command/backends.php | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/apps/files_external/command/backends.php b/apps/files_external/command/backends.php deleted file mode 100644 index 260ea210397..00000000000 --- a/apps/files_external/command/backends.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php -/** - * @author Robin Appelman <icewind@owncloud.com> - * - * @copyright Copyright (c) 2016, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OCA\Files_External\Command; - -use OC\Core\Command\Base; -use OCA\Files_External\Lib\Auth\AuthMechanism; -use OCA\Files_External\Lib\Backend\Backend; -use OCA\Files_External\Lib\DefinitionParameter; -use OCA\Files_External\Service\BackendService; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\Table; -use Symfony\Component\Console\Helper\TableHelper; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Input\Input; -use Symfony\Component\Console\Output\OutputInterface; - -class Backends extends Base { - /** @var BackendService */ - private $backendService; - - function __construct(BackendService $backendService - ) { - parent::__construct(); - - $this->backendService = $backendService; - } - - protected function configure() { - $this - ->setName('files_external:backends') - ->setDescription('Show available authentication and storage backends') - ->addArgument( - 'type', - InputArgument::OPTIONAL, - 'only show backends of a certain type. Possible values are "authentication" or "storage"' - )->addArgument( - 'backend', - InputArgument::OPTIONAL, - 'only show information of a specific backend' - ); - parent::configure(); - } - - protected function execute(InputInterface $input, OutputInterface $output) { - $authBackends = $this->backendService->getAuthMechanisms(); - $storageBackends = $this->backendService->getBackends(); - - $data = [ - 'authentication' => array_map([$this, 'serializeAuthBackend'], $authBackends), - 'storage' => array_map([$this, 'serializeAuthBackend'], $storageBackends) - ]; - - $type = $input->getArgument('type'); - $backend = $input->getArgument('backend'); - if ($type) { - if (!isset($data[$type])) { - $output->writeln('<error>Invalid type "' . $type . '". Possible values are "authentication" or "storage"</error>'); - return 1; - } - $data = $data[$type]; - - if ($backend) { - if (!isset($data[$backend])) { - $output->writeln('<error>Unknown backend "' . $backend . '" of type "' . $type . '"</error>'); - return 1; - } - $data = $data[$backend]; - } - } - - $this->writeArrayInOutputFormat($input, $output, $data); - } - - private function serializeAuthBackend(\JsonSerializable $backend) { - $data = $backend->jsonSerialize(); - $result = [ - 'name' => $data['name'], - 'identifier' => $data['identifier'], - 'configuration' => array_map(function (DefinitionParameter $parameter) { - return $parameter->getTypeName(); - }, $data['configuration']) - ]; - if ($backend instanceof Backend) { - $result['storage_class'] = $backend->getStorageClass(); - $authBackends = $this->backendService->getAuthMechanismsByScheme(array_keys($backend->getAuthSchemes())); - $result['supported_authentication_backends'] = array_keys($authBackends); - } - return $result; - } -} |