Merge pull request #3370 from alchemy-fr/PHRAS-1629-collection-list-jsonformat

PHRAS-1629 #comment merge add jsonformat to collection:list
This commit is contained in:
Nicolas Maillat
2020-02-21 16:04:11 +01:00
committed by GitHub

View File

@@ -24,20 +24,30 @@ class ListCollectionCommand extends Command
parent::__construct('collection:list'); parent::__construct('collection:list');
$this->setDescription('List all collection in Phraseanet') $this->setDescription('List all collection in Phraseanet')
->addOption('databox_id', 'd', InputOption::VALUE_REQUIRED, 'The id of the databox to list collection') ->addOption('databox_id', 'd', InputOption::VALUE_REQUIRED, 'The id of the databox to list collection')
->addOption('jsonformat', null, InputOption::VALUE_NONE, 'Output in json format')
->setHelp(''); ->setHelp('');
return $this; return $this;
} }
protected function doExecute(InputInterface $input, OutputInterface $output) protected function doExecute(InputInterface $input, OutputInterface $output)
{ {
try { try {
$databox = $this->container->findDataboxById($input->getOption('databox_id')); $jsonformat = $input->getOption('jsonformat');
$collections = $this->listDataboxCollections($databox); $databox = $this->container->findDataboxById($input->getOption('databox_id'));
$collections = $this->listDataboxCollections($databox);
if ($jsonformat) {
foreach ($collections as $collection) {
$collectionList[] = array_combine(['id local for API', 'id distant', 'name','label','status','total records'], $collection);
}
echo json_encode($collectionList);
} else {
$table = $this->getHelperSet()->get('table');
$table
->setHeaders(['id local for API', 'id distant', 'name','label','status','total records'])
->setRows($collections)
->render($output);
}
$table = $this->getHelperSet()->get('table');
$table
->setHeaders(['id local for API', 'id distant', 'name','label','status','total records'])
->setRows($collections)
->render($output);
} catch (\Exception $e) { } catch (\Exception $e) {
$output->writeln("<error>{$e->getMessage()}</error>"); $output->writeln("<error>{$e->getMessage()}</error>");
} }