diff options
Diffstat (limited to 'app/Console/TaskExportCommand.php')
-rw-r--r-- | app/Console/TaskExportCommand.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/Console/TaskExportCommand.php b/app/Console/TaskExportCommand.php new file mode 100644 index 00000000..789245bc --- /dev/null +++ b/app/Console/TaskExportCommand.php @@ -0,0 +1,34 @@ +<?php + +namespace Kanboard\Console; + +use Kanboard\Core\Csv; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class TaskExportCommand extends BaseCommand +{ + protected function configure() + { + $this + ->setName('export:tasks') + ->setDescription('Tasks CSV export') + ->addArgument('project_id', InputArgument::REQUIRED, 'Project id') + ->addArgument('start_date', InputArgument::REQUIRED, 'Start date (YYYY-MM-DD)') + ->addArgument('end_date', InputArgument::REQUIRED, 'End date (YYYY-MM-DD)'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $data = $this->taskExport->export( + $input->getArgument('project_id'), + $input->getArgument('start_date'), + $input->getArgument('end_date') + ); + + if (is_array($data)) { + Csv::output($data); + } + } +} |