public function handle()
{
$this->resetCounters();
$disk = $this->argument('disk');
$directory = $this->option('directory') ?: '';
$recursive = !$this->option('non-recursive');
$force = (bool) $this->option('force');
$files = $this->listFiles($disk, $directory, $recursive);
$existing_media = Media::inDirectory($disk, $directory, $recursive)->get();
foreach ($files as $path) {
if ($record = $this->getRecordForFile($path, $existing_media)) {
if ($force) {
$this->updateRecordForFile($record, $path);
}
} else {
$this->createRecordForFile($disk, $path);
}
}
$this->outputCounters($force);
}