diff options
Diffstat (limited to 'lib/Command/Room/Update.php')
-rw-r--r-- | lib/Command/Room/Update.php | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/lib/Command/Room/Update.php b/lib/Command/Room/Update.php index a75dd6a7f..48bbf1748 100644 --- a/lib/Command/Room/Update.php +++ b/lib/Command/Room/Update.php @@ -25,12 +25,11 @@ declare(strict_types=1); namespace OCA\Talk\Command\Room; -use Exception; +use InvalidArgumentException; use OC\Core\Command\Base; use OCA\Talk\Exceptions\RoomNotFoundException; -use OCA\Talk\Manager; use OCA\Talk\Room; -use OCP\IUserManager; +use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -39,19 +38,6 @@ use Symfony\Component\Console\Output\OutputInterface; class Update extends Base { use TRoomCommand; - /** @var IUserManager */ - public $userManager; - - /** @var Manager */ - public $manager; - - public function __construct(IUserManager $userManager, Manager $manager) { - parent::__construct(); - - $this->userManager = $userManager; - $this->manager = $manager; - } - protected function configure(): void { $this ->setName('talk:room:update') @@ -142,7 +128,7 @@ class Update extends Base { $this->unsetRoomOwner($room); } } - } catch (Exception $e) { + } catch (InvalidArgumentException $e) { $output->writeln(sprintf('<error>%s</error>', $e->getMessage())); return 1; } @@ -150,4 +136,26 @@ class Update extends Base { $output->writeln('<info>Room successfully updated.</info>'); return 0; } + + public function completeOptionValues($optionName, CompletionContext $context) { + switch ($optionName) { + case 'public': + case 'readonly': + return ['1', '0']; + + case 'owner': + return $this->completeParticipantValues($context); + } + + return parent::completeOptionValues($optionName, $context); + } + + public function completeArgumentValues($argumentName, CompletionContext $context) { + switch ($argumentName) { + case 'token': + return $this->completeTokenValues($context); + } + + return parent::completeArgumentValues($argumentName, $context); + } } |