|
<?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 ProjectDailyColumnStatsExportCommand extends BaseCommand |
|
{ |
|
protected function configure() |
|
{ |
|
$this |
|
->setName('export:daily-project-column-stats') |
|
->setDescription('Daily project column stats CSV export (number of tasks per column and per day)') |
|
->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): int |
|
{ |
|
$data = $this->projectDailyColumnStatsModel->getAggregatedMetrics( |
|
$input->getArgument('project_id'), |
|
$input->getArgument('start_date'), |
|
$input->getArgument('end_date') |
|
); |
|
|
|
if (is_array($data)) { |
|
Csv::output($data); |
|
} |
|
return 0; |
|
} |
|
} |
|
|