/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption('list')) { $table = new Table($output); $table->setHeaders(['Alias', 'Issue number']); $list = $this->repository->listAliases(); $rows = []; foreach ($list as $alias) { $rows[] = [$alias->alias, $alias->tid]; } $table->setRows($rows); $table->render(); return; } $alias = $input->getArgument('alias'); $tid = $input->getArgument('ticket_id'); if ($input->getOption('delete')) { if ($this->repository->removeAlias($tid, $alias)) { $output->writeln('Removed alias'); } else { $output->writeln('<error>Unable to delete alias</error>'); } } else { if (!$alias) { $output->writeln('<error>Missing alias</error>'); return; } if (!$tid) { $output->writeln('<error>Missing ticket number</error>'); return; } if ($this->repository->addAlias($tid, $alias)) { $output->writeln('Created new alias'); } else { $output->writeln('<error>Unable to create alias</error>'); } } }