12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
- * SPDX-License-Identifier: AGPL-3.0-only
- */
- namespace OCA\Files_External\Command;
- 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\Output\OutputInterface;
- class Export extends ListCommand {
- protected function configure(): void {
- $this
- ->setName('files_external:export')
- ->setDescription('Export mount configurations')
- ->addArgument(
- 'user_id',
- InputArgument::OPTIONAL,
- 'user id to export the personal mounts for, if no user is provided admin mounts will be exported'
- )->addOption(
- 'all',
- 'a',
- InputOption::VALUE_NONE,
- 'show both system wide mounts and all personal mounts'
- );
- }
- protected function execute(InputInterface $input, OutputInterface $output): int {
- $listCommand = new ListCommand($this->globalService, $this->userService, $this->userSession, $this->userManager);
- $listInput = new ArrayInput([], $listCommand->getDefinition());
- $listInput->setArgument('user_id', $input->getArgument('user_id'));
- $listInput->setOption('all', $input->getOption('all'));
- $listInput->setOption('output', 'json_pretty');
- $listInput->setOption('show-password', true);
- $listInput->setOption('full', true);
- $listCommand->execute($listInput, $output);
- return self::SUCCESS;
- }
- }
|