/** * Determine the disk to be used. * * @param string $diskName * * @return string * * @throws \Spatie\MediaLibrary\Exceptions\FileCannotBeAdded */ protected function determineDiskName(string $diskName) { if ($diskName === '') { $diskName = config('laravel-medialibrary.defaultFilesystem'); } if (is_null(config("filesystems.disks.{$diskName}"))) { throw FileCannotBeAdded::diskDoesNotExist($diskName); } return $diskName; }
protected function deleteOrphanedFiles() { $diskName = $this->argument('disk') ?: config('laravel-medialibrary.defaultFilesystem'); if (is_null(config("filesystems.disks.{$diskName}"))) { throw FileCannotBeAdded::diskDoesNotExist($diskName); } $mediaIds = collect($this->mediaRepository->all()->pluck('id')->toArray()); collect($this->fileSystem->disk($diskName)->directories())->filter(function (string $directory) use($mediaIds) { return is_numeric($directory) ? !$mediaIds->contains((int) $directory) : false; })->each(function (string $directory) use($diskName) { if (!$this->isDryRun) { $this->fileSystem->disk($diskName)->deleteDirectory($directory); } $this->info("Orphaned media directory `{$directory}` " . ($this->isDryRun ? 'found' : 'has been removed')); }); }