1
0
Эх сурвалжийг харах

Update AvatarObserver, add logic to delete avatars stored in S3

Daniel Supernault 4 жил өмнө
parent
commit
9eafc31e6f

+ 10 - 0
app/Observers/AvatarObserver.php

@@ -3,6 +3,8 @@
 namespace App\Observers;
 namespace App\Observers;
 
 
 use App\Avatar;
 use App\Avatar;
+use Illuminate\Support\Facades\Storage;
+use Illuminate\Support\Str;
 
 
 class AvatarObserver
 class AvatarObserver
 {
 {
@@ -54,6 +56,14 @@ class AvatarObserver
         ) {
         ) {
             @unlink($path);
             @unlink($path);
         }
         }
+
+        if($avatar->cdn_url) {
+            $disk = Storage::disk(config('filesystems.cloud'));
+            $base = Str::startsWith($avatar->media_path, 'cache/avatars/');
+            if($base && $disk->exists($avatar->media_path)) {
+                $disk->delete($avatar->media_path);
+            }
+        }
     }
     }
 
 
     /**
     /**