setName('groupfolders:rename') ->setDescription('Rename Team folder') ->addArgument('folder_id', InputArgument::REQUIRED, 'Id of the folder to rename') ->addArgument('name', InputArgument::REQUIRED, 'New value name of the folder'); parent::configure(); } protected function execute(InputInterface $input, OutputInterface $output): int { $folder = $this->getFolder($input, $output); if ($folder === null) { return -1; } // Check if the new name is valid $name = trim($input->getArgument('name')); if (empty($name)) { $output->writeln('Folder name cannot be empty'); return 1; } // Check if the name actually changed if ($folder->mountPoint === $name) { $output->writeln('The name is already set to ' . $name); return 0; } // Check if mount point already exists $folders = $this->folderManager->getAllFolders(); foreach ($folders as $existingFolder) { if ($existingFolder->mountPoint === $name) { $output->writeln('A Folder with the name ' . $name . ' already exists'); return 1; } } $this->folderManager->renameFolder($folder->id, $input->getArgument('name')); return 0; } }