setName('sharing:select-share-permission-preset') ->setDescription('Select a permission preset for a share.') ->addArgument('id', InputArgument::REQUIRED, 'Share ID') ->addArgument('permission-preset', InputArgument::REQUIRED, 'Permission preset'); } #[\Override] public function execute(InputInterface $input, OutputInterface $output): int { /** @var string $id */ $id = $input->getArgument('id'); /** @var class-string $permissionPresetClass */ $permissionPresetClass = $input->getArgument('permission-preset'); return $this->wrapExecution($output, function () use ($id, $permissionPresetClass): Share { $share = $this->manager->getShare($this->accessContext, $id); return $this->manager->selectSharePermissionPreset($this->accessContext, $share, $permissionPresetClass); }); } }