Merge pull request #16630 from andrewdwallo/fix/export-data-reuse

Fix: Export Data Contamination from Database ID Reuse
This commit is contained in:
Dan Harrin
2025-06-22 11:09:34 +01:00
committed by GitHub
2 changed files with 13 additions and 0 deletions
@@ -176,6 +176,9 @@ trait CanExportRecords
// Temporary save to obtain the sequence number of the export file.
$export->save();
// 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();
@@ -99,4 +99,14 @@ class Export extends Model
{
return 'filament_exports' . DIRECTORY_SEPARATOR . $this->getKey();
}
public function deleteFileDirectory(): void
{
$disk = $this->getFileDisk();
$directory = $this->getFileDirectory();
if ($disk->directoryExists($directory)) {
$disk->deleteDirectory($directory);
}
}
}