setName('groupfolders:create') ->setDescription('Create a new Team folder') ->addArgument('name', InputArgument::REQUIRED, 'Name or mount point of the new folder') ->addOption('bucket', null, InputOption::VALUE_REQUIRED, 'Overwrite the bucket used for the new folder'); parent::configure(); } protected function execute(InputInterface $input, OutputInterface $output): int { $name = trim($input->getArgument('name')); // Check if the folder name is valid if (empty($name)) { $output->writeln('Folder name cannot be empty'); return 1; } // Check if mount point already exists $folders = $this->folderManager->getAllFolders(); foreach ($folders as $folder) { if ($folder->mountPoint === $name) { $output->writeln('A Folder with the name ' . $name . ' already exists'); return 1; } } $options = []; if ($bucket = $input->getOption('bucket')) { $options['bucket'] = $bucket; } $id = $this->folderManager->createFolder($name, $options); $output->writeln((string)$id); return 0; } }