Skip to content

Commit 7b1f19e

Browse files
committed
wip
1 parent c5744df commit 7b1f19e

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/Console/Commands/ClearMedia.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Cone\Root\Models\Medium;
88
use Illuminate\Console\Command;
9+
use Illuminate\Support\Facades\Storage;
910

1011
class ClearMedia extends Command
1112
{
@@ -14,7 +15,7 @@ class ClearMedia extends Command
1415
*
1516
* @var string
1617
*/
17-
protected $signature = 'root:clear-media';
18+
protected $signature = 'root:clear-media {--all: Delete all the media and files}';
1819

1920
/**
2021
* The console command description.
@@ -30,11 +31,18 @@ public function handle(): void
3031
{
3132
$count = 0;
3233

33-
Medium::proxy()->newQuery()->cursor()->each(static function (Medium $medium) use (&$count): void {
34-
$medium->delete();
34+
$all = $this->option('all');
3535

36-
$count++;
37-
});
36+
Medium::proxy()
37+
->newQuery()
38+
->cursor()
39+
->each(static function (Medium $medium) use (&$count, $all): void {
40+
if ($all || ! Storage::disk($medium->disk)->exists($medium->getPath())) {
41+
$medium->delete();
42+
43+
$count++;
44+
}
45+
});
3846

3947
$this->info(sprintf('%d media have been deleted!', $count));
4048
}

0 commit comments

Comments
 (0)