From 853e7ded74f589164a2ebce5fd6a0502639d54a1 Mon Sep 17 00:00:00 2001
From: Khaled Lela <eng.khaled.lela@gmail.com>
Date: Wed, 23 Feb 2022 17:30:18 +0200
Subject: handle scorm archive ot found, update config

---
 src/Manager/ScormDisk.php | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

(limited to 'src/Manager/ScormDisk.php')

diff --git a/src/Manager/ScormDisk.php b/src/Manager/ScormDisk.php
index cb09db5..5f15d38 100644
--- a/src/Manager/ScormDisk.php
+++ b/src/Manager/ScormDisk.php
@@ -2,6 +2,7 @@
 
 namespace Peopleaps\Scorm\Manager;
 
+use Exception;
 use Illuminate\Filesystem\FilesystemAdapter;
 use Illuminate\Http\UploadedFile;
 use Illuminate\Support\Facades\Storage;
@@ -45,14 +46,18 @@ class ScormDisk
      */
     public function readScormArchive($file, callable $fn)
     {
-        if (Storage::exists($file)) {
-            Storage::delete($file);
+        try {
+            if (Storage::exists($file)) {
+                Storage::delete($file);
+            }
+            Storage::writeStream($file, $this->getArchiveDisk()->readStream($file));
+            $path = Storage::path($file);
+            call_user_func($fn, $path);
+            unlink($path); // delete temp package
+            Storage::deleteDirectory(dirname($file)); // delete temp dir
+        } catch (Exception $ex) {
+            throw new StorageNotFoundException('scorm_archive_not_found');
         }
-        Storage::writeStream($file, $this->getArchiveDisk()->readStream($file));
-        $path = Storage::path($file);
-        call_user_func($fn, $path);
-        unlink($path); // delete temp package
-        Storage::deleteDirectory(dirname($file)); // delete temp dir
     }
 
     /**
-- 
cgit v1.2.3