feat: try fix test
Laravel CI-CD / Tests Unitaires (push) Successful in 18s Details
Laravel CI-CD / Build & Push Docker (push) Successful in 1m58s Details
Laravel CI-CD / Deploy via Portainer (push) Failing after 1s Details

This commit is contained in:
Leon Morival 2026-05-17 15:51:01 +02:00
parent 26aeb356d8
commit 0d922f223b
3 changed files with 22 additions and 7 deletions

View File

@ -8,6 +8,7 @@ use App\Http\Requests\UpdateUserRequest;
use App\Http\Resources\UserResource;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
@ -65,7 +66,7 @@ class AuthController extends Controller
])->withoutCookie('token');
}
public function me(): JsonResponse
public function me(): JsonResource|JsonResponse
{
$user = auth()->user();
@ -73,10 +74,10 @@ class AuthController extends Controller
return response()->json(['message' => 'Non authentifié'], 401);
}
return response()->json(new UserResource($user));
return new UserResource($user);
}
public function update(UpdateUserRequest $request): JsonResponse
public function update(UpdateUserRequest $request): JsonResource
{
$user = $request->user();
$data = $request->validated();
@ -105,6 +106,6 @@ class AuthController extends Controller
$user->update($data);
}
return response()->json(new UserResource($user->fresh()));
return new UserResource($user->fresh());
}
}

View File

@ -13,7 +13,8 @@ class MealPostsRequest extends FormRequest
$isCreating = $this->isMethod('post');
return [
'image' => ['sometimes', 'nullable', 'image', 'max:4096'],
'image' => [$isCreating ? 'required_without:image_url' : 'sometimes', 'nullable', 'image', 'max:4096'],
'image_url' => [$isCreating ? 'required_without:image' : 'sometimes', 'nullable', 'string', 'max:2048'],
'caption' => ['nullable', 'string', 'max:1000'],
'calories' => ['nullable', 'integer', 'min:0'],
'proteins' => ['nullable', 'numeric', 'min:0'],

View File

@ -2,11 +2,11 @@
namespace App\Http\Resources;
use App\Enums\MealPostVisibility;
use App\Models\MealPosts;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
/** @mixin MealPosts */
class MealPostsResource extends JsonResource
@ -17,7 +17,7 @@ class MealPostsResource extends JsonResource
return [
'id' => $this->id,
'imageUrl' => $this->image_url ? asset(Storage::url($this->image_url)) : null,
'imageUrl' => $this->imageUrl(),
'caption' => $this->caption,
'calories' => $this->calories,
'proteins' => $this->proteins,
@ -36,4 +36,17 @@ class MealPostsResource extends JsonResource
],
];
}
private function imageUrl(): ?string
{
if (! $this->image_url) {
return null;
}
if (Str::startsWith($this->image_url, ['http://', 'https://'])) {
return $this->image_url;
}
return asset(Storage::url($this->image_url));
}
}