From e1c51c8f3e56d051ee2f82f01d19dade2b9190ff Mon Sep 17 00:00:00 2001 From: Andrew Wallo Date: Sat, 21 Jun 2025 19:11:10 -0400 Subject: [PATCH 1/2] clear directory --- packages/actions/src/Concerns/CanExportRecords.php | 3 +++ packages/actions/src/Exports/Models/Export.php | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/actions/src/Concerns/CanExportRecords.php b/packages/actions/src/Concerns/CanExportRecords.php index af0f0907dc..79a6124453 100644 --- a/packages/actions/src/Concerns/CanExportRecords.php +++ b/packages/actions/src/Concerns/CanExportRecords.php @@ -176,6 +176,9 @@ trait CanExportRecords // Temporary save to obtain the sequence number of the export file. $export->save(); + // Clear the export directory to prevent data contamination from previous exports with the same ID + $export->clearFileDirectory(); + $export->file_name = $action->getFileName($export) ?? $exporter->getFileName($export); $export->save(); diff --git a/packages/actions/src/Exports/Models/Export.php b/packages/actions/src/Exports/Models/Export.php index 270d12b0df..edc8529615 100644 --- a/packages/actions/src/Exports/Models/Export.php +++ b/packages/actions/src/Exports/Models/Export.php @@ -99,4 +99,14 @@ class Export extends Model { return 'filament_exports' . DIRECTORY_SEPARATOR . $this->getKey(); } + + public function clearFileDirectory(): void + { + $directory = $this->getFileDirectory(); + $disk = $this->getFileDisk(); + + if ($disk->directoryExists($directory)) { + $disk->deleteDirectory($directory); + } + } } From dc9aef47a2ab75c0423efdf6ac3a5465d89e13d0 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 22 Jun 2025 11:09:23 +0100 Subject: [PATCH 2/2] clean up --- packages/actions/src/Concerns/CanExportRecords.php | 4 ++-- packages/actions/src/Exports/Models/Export.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/actions/src/Concerns/CanExportRecords.php b/packages/actions/src/Concerns/CanExportRecords.php index 79a6124453..b7765f7c0c 100644 --- a/packages/actions/src/Concerns/CanExportRecords.php +++ b/packages/actions/src/Concerns/CanExportRecords.php @@ -176,8 +176,8 @@ trait CanExportRecords // Temporary save to obtain the sequence number of the export file. $export->save(); - // Clear the export directory to prevent data contamination from previous exports with the same ID - $export->clearFileDirectory(); + // Delete the export directory to prevent data contamination from previous exports with the same ID. + $export->deleteFileDirectory(); $export->file_name = $action->getFileName($export) ?? $exporter->getFileName($export); $export->save(); diff --git a/packages/actions/src/Exports/Models/Export.php b/packages/actions/src/Exports/Models/Export.php index edc8529615..e3ce96271b 100644 --- a/packages/actions/src/Exports/Models/Export.php +++ b/packages/actions/src/Exports/Models/Export.php @@ -100,10 +100,10 @@ class Export extends Model return 'filament_exports' . DIRECTORY_SEPARATOR . $this->getKey(); } - public function clearFileDirectory(): void + public function deleteFileDirectory(): void { - $directory = $this->getFileDirectory(); $disk = $this->getFileDisk(); + $directory = $this->getFileDirectory(); if ($disk->directoryExists($directory)) { $disk->deleteDirectory($directory);