From 492e78b95f436387bde08a2a6a923bb49d51b5b6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 10 Feb 2026 01:34:36 +1100 Subject: [PATCH] fix --- .../ImportMediaToCloudPipeline.php | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/app/Jobs/ImportPipeline/ImportMediaToCloudPipeline.php b/app/Jobs/ImportPipeline/ImportMediaToCloudPipeline.php index 4460478fb..78aa597fb 100644 --- a/app/Jobs/ImportPipeline/ImportMediaToCloudPipeline.php +++ b/app/Jobs/ImportPipeline/ImportMediaToCloudPipeline.php @@ -93,32 +93,46 @@ class ImportMediaToCloudPipeline implements ShouldBeUniqueUntilProcessing, Shoul return; } + $allSucceeded = true; + foreach ($media as $mediaPart) { - $this->handleMedia($mediaPart); + if (! $this->handleMedia($mediaPart)) { + $allSucceeded = false; + } + } + + if ($allSucceeded) { + $importPost = ImportPost::find($ip->id); + if ($importPost) { + $importPost->uploaded_to_s3 = true; + $importPost->save(); + } } } protected function handleMedia($media) { + // Skip media already uploaded to cloud storage + if ($media->cdn_url) { + return true; + } + $ip = $this->importPost; $importPost = ImportPost::find($ip->id); if (! $importPost) { - return; + return false; } $res = MediaStorageService::move($media); - $importPost->uploaded_to_s3 = true; - $importPost->save(); - if (! $res) { - return; + return false; } if ($res === 'invalid file') { - return; + return false; } if ($res === 'success') { @@ -127,6 +141,10 @@ class ImportMediaToCloudPipeline implements ShouldBeUniqueUntilProcessing, Shoul } else { Storage::disk('local')->delete($media->media_path); } + + return true; } + + return false; } }