diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 8f9ce06..9e57334 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -20,7 +20,9 @@ public function register(RegisterRequest $request): JsonResponse $avatarUri = null; if ($request->hasFile('avatar')) { - $avatarUri = $request->file('avatar')->store('avatars', 'public'); + $filename = \Illuminate\Support\Str::uuid() . '.jpg'; + $path = $request->file('avatar')->storeAs('avatars', $filename, 'public'); + $avatarUri = url('storage/' . $path); } $user = User::create([ diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index a93953e..3bce98c 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -22,7 +22,8 @@ class UsersController extends Controller 'avatar' => ['required', 'image', 'max:2048'], // 2MB max ]); - $path = $request->file('avatar')->store('avatars', 'public'); + $filename = \Illuminate\Support\Str::uuid() . '.jpg'; + $path = $request->file('avatar')->storeAs('avatars', $filename, 'public'); $user->update([ 'avatarUri' => url('storage/' . $path), diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index fde02dd..205d489 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -62,6 +62,9 @@ services: sleep 5; done; echo '✅ Migrations applied.'; + echo '🔗 Creating storage symlink...'; + php artisan storage:link || true; + echo '✅ Storage link done.'; " phpmyadmin: