diff --git a/src/Controller/APISearchController.php b/src/Controller/APISearchController.php
index 1e5c31d..360fb83 100644
--- a/src/Controller/APISearchController.php
+++ b/src/Controller/APISearchController.php
@@ -40,6 +40,18 @@ class APISearchController extends AbstractController
}
+ #[Route('/untoggleLike/{idGoogle}', name: 'unlike', methods: "POST")]
+ public function removeFavoris (FavorisRepository $favorisRepository, String $idGoogle)
+ {
+ $favoris = new Favoris();
+ $user = $this->getUser();
+ $favoris->setUser($user);
+ $favoris->setIdGoogle($idGoogle);
+
+ return $this->json($favorisRepository->removeFavoris($user, $idGoogle));
+
+ }
+
#[Route('/api/search', name: 'api_search')]
public function index(Request $request): Response
{
diff --git a/src/Repository/FavorisRepository.php b/src/Repository/FavorisRepository.php
index 9bd45ec..49a186b 100644
--- a/src/Repository/FavorisRepository.php
+++ b/src/Repository/FavorisRepository.php
@@ -28,6 +28,26 @@ class FavorisRepository extends ServiceEntityRepository
$entityManager->flush();
}
+ public function removeFavoris($userId, $idGoogle): void
+ {
+ // Récupérer l'entity manager
+ $entityManager = $this->getEntityManager();
+
+ // Trouver le favoris de cet utilisateur pour le livre donné
+ $favoris = $this->findOneBy([
+ 'user' => $userId,
+ 'id_google' => $idGoogle
+ ]);
+
+ if (!$favoris) {
+ throw new \Exception($idGoogle . ' n\'est pas dans les favoris de cet utilisateur' . $userId);
+ }
+
+ // Supprimer l'entité favoris de la base de données
+ $entityManager->remove($favoris);
+ $entityManager->flush();
+ }
+
// /**
// * @return Favoris[] Returns an array of Favoris objects
// */
diff --git a/templates/apiSearch/index.html.twig b/templates/apiSearch/index.html.twig
index 8a6368e..dd5e0e8 100644
--- a/templates/apiSearch/index.html.twig
+++ b/templates/apiSearch/index.html.twig
@@ -38,44 +38,72 @@
-
- {{ dump(book.id) }}
+
-
+ {% endif %}
+
+
{% endfor %}
+
{% endblock %}
\ No newline at end of file