diff --git a/src/Domain/Files/Actions/CreateImageThumbnailAcionQueue.php b/src/Domain/Files/Actions/CreateImageThumbnailAcionQueue.php index b3b86f53..8082c766 100644 --- a/src/Domain/Files/Actions/CreateImageThumbnailAcionQueue.php +++ b/src/Domain/Files/Actions/CreateImageThumbnailAcionQueue.php @@ -16,20 +16,17 @@ class CreateImageThumbnailAcionQueue * * @return mixed */ - public function execute($file_name, $user_id, $thumnails_sizes) - { - + public function execute($file_name, $user_id, $thumnails_sizes, $source) + { // Get image from disk $image = Storage::disk('local')->get("temp/$user_id/{$file_name}"); - - // Create intervention image - $intervention = Image::make($image)->orientate(); - + collect($thumnails_sizes) - ->each(function ($size) use ($intervention, $user_id, $file_name) { - - dd($intervention->getWidth()); - + ->each(function ($size) use ($image, $user_id, $file_name) { + + // Create intervention image + $intervention = Image::make($image)->orientate(); + if ($intervention->getWidth() > $size['size']) { // Generate thumbnail @@ -40,5 +37,11 @@ class CreateImageThumbnailAcionQueue } }); + if($source === 'queue') { + + // Delete file after generate a thumbnail + Storage::disk('local')->delete("temp/$user_id/{$file_name}"); + } + } } diff --git a/src/Domain/Files/Actions/CreateImageThumbnailAction.php b/src/Domain/Files/Actions/CreateImageThumbnailAction.php index 178278d4..abfabeee 100644 --- a/src/Domain/Files/Actions/CreateImageThumbnailAction.php +++ b/src/Domain/Files/Actions/CreateImageThumbnailAction.php @@ -40,10 +40,10 @@ class CreateImageThumbnailAction Storage::disk('local')->copy("files/$user_id/{$file_name}", "temp/$user_id/{$file_name}"); // Create thumbnail instantly - $this->action->execute($file_name, $user_id, config('vuefilemanager.image_sizes.execute')); + $this->action->execute($file_name, $user_id, config('vuefilemanager.image_sizes.execute'), 'execute'); // Create thumbnail queue job - $this->action->onQueue()->execute($file_name, $user_id, config('vuefilemanager.image_sizes.queue')); + $this->action->onQueue()->execute($file_name, $user_id, config('vuefilemanager.image_sizes.queue'), 'queue'); } } } diff --git a/src/Support/helpers.php b/src/Support/helpers.php index b3dc5437..e959457f 100644 --- a/src/Support/helpers.php +++ b/src/Support/helpers.php @@ -605,8 +605,11 @@ if (! function_exists('get_thumbnail_file_list')) { */ function get_thumbnail_file_list(string $basename): Collection { - return collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute'))) - ->map(fn ($item) => $item['name'] . '-' . $basename); + return collect([ + config('vuefilemanager.image_sizes.queue'), + config('vuefilemanager.image_sizes.execute'), + ])->collapse() + ->map(fn ($item) => $item['name'] . '-' . $basename); } } diff --git a/tests/Domain/Files/FileTest.php b/tests/Domain/Files/FileTest.php index d54ce255..01fc9caa 100644 --- a/tests/Domain/Files/FileTest.php +++ b/tests/Domain/Files/FileTest.php @@ -53,7 +53,10 @@ class FileTest extends TestCase "chunks/$file->basename" ); - collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute'))) + collect([ + config('vuefilemanager.image_sizes.queue'), + config('vuefilemanager.image_sizes.execute'), + ])->collapse() ->each( fn ($item) => $disk->assertExists( diff --git a/tests/Domain/Teams/TeamManagementTest.php b/tests/Domain/Teams/TeamManagementTest.php index 84d82c50..e7463387 100644 --- a/tests/Domain/Teams/TeamManagementTest.php +++ b/tests/Domain/Teams/TeamManagementTest.php @@ -646,7 +646,7 @@ class TeamManagementTest extends TestCase // Put fake image into correct directory Storage::putFileAs("files/$member->id", $fakeFile, $fakeFile->name); - $thumbnail_sizes = collect(array_merge(config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute'))); + $thumbnail_sizes = collect([config('vuefilemanager.image_sizes.queue'), config('vuefilemanager.image_sizes.execute')])->collapse(); // Create fake image thumbnails $thumbnail_sizes diff --git a/webpack.mix.js b/webpack.mix.js index e3574bef..fbf14762 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -35,12 +35,12 @@ mix.js('resources/js/main.js', 'public/js') clientLogLevel: 'none' } }) - .options({ - hmrOptions: { - host: '192.168.1.112', - port: '8080' - }, - }) + // .options({ + // hmrOptions: { + // host: '192.168.1.112', + // port: '8080' + // }, + // }) .disableNotifications(); if (mix.inProduction()) {