From ac6fa1f12c1ef0c6e8586886b458ed342a41f727 Mon Sep 17 00:00:00 2001
From: Julian PEREZ-RAMIREZ <julian.perez-ramirez@imt-atlantique.net>
Date: Wed, 26 Mar 2025 00:47:40 +0100
Subject: [PATCH] adding missing methods for items

---
 .../web_app/src/Controller/ItemController.php | 27 ++++++++++++-------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/server/web_app/src/Controller/ItemController.php b/server/web_app/src/Controller/ItemController.php
index 3fe9ed8..0eb23a9 100644
--- a/server/web_app/src/Controller/ItemController.php
+++ b/server/web_app/src/Controller/ItemController.php
@@ -2,6 +2,7 @@
 
 namespace App\Controller;
 
+use App\Entity\Item;
 use App\Repository\ItemRepository;
 use App\Repository\WishListRepository;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -240,7 +241,7 @@ final class ItemController extends AbstractController
     #[Route('/{id}', methods: ['PATCH'])]
     public function updateItem(int $id, Request $request): JsonResponse
     {
-        $item = $this->itemRepository->findByOne($id);
+        $item = $this->itemRepository->findOneById($id);
         
         if (!$item) {
             return new JsonResponse(
@@ -276,7 +277,7 @@ final class ItemController extends AbstractController
         
         if (isset($data['wishList'])) {
             try {
-                $wishList = $this->wishListRepository->findByOne($data['wishList']);
+                $wishList = $this->wishListRepository->findOneById($data['wishList']);
                 if (!$wishList) {
                     return new JsonResponse(
                         ['error' => 'WishList not found'],
@@ -310,11 +311,14 @@ final class ItemController extends AbstractController
             $this->entityManager->flush();
 
             return new JsonResponse([
-                'id' => $item->getId(),
-                'title' => $item->getTitle(),
-                'price' => $item->getPrice(),
-                'wishListId' => $item->getWishList()->getId(),
-                'updatedAt' => (new \DateTimeImmutable())->format('Y-m-d H:i:s'),
+                'message' => "sucessfully updated !",
+                'item' => [
+                    'id' => $item->getId(),
+                    'title' => $item->getTitle(),
+                    'price' => $item->getPrice(),
+                    'wishListId' => $item->getWishList()->getId(),
+                    'updatedAt' => (new \DateTimeImmutable())->format('Y-m-d H:i:s'),
+                ],
                 'path' => 'src/Controller/ItemController.php'
             ]);
         } catch (\Exception $e) {
@@ -328,7 +332,7 @@ final class ItemController extends AbstractController
     #[Route('/{id}', methods: ['DELETE'])]
     public function deleteItem(int $id): JsonResponse
     {
-        $item = $this->itemRepository->findByOne($id);
+        $item = $this->itemRepository->findOneById($id);
         
         if (!$item) {
             return new JsonResponse(
@@ -342,8 +346,11 @@ final class ItemController extends AbstractController
             $this->entityManager->flush();
 
             return new JsonResponse(
-                null,
-                Response::HTTP_NO_CONTENT
+                [
+                    'message' => "successfully deleted",
+                    'path' => 'src/Controller/ItemController.php',
+                ],
+                Response::HTTP_OK
             );
         } catch (\Exception $e) {
             return new JsonResponse(
-- 
GitLab