From ae217a6e4b0c29346381e2a410fd7810cb33ce3f Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 10 Jun 2026 20:56:25 +0200 Subject: =?UTF-8?q?Tous=20les=20contr=C3=B4leurs=20retournent=20une=20Resp?= =?UTF-8?q?onse!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/CalendarController.php | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'src/controller/CalendarController.php') diff --git a/src/controller/CalendarController.php b/src/controller/CalendarController.php index b60ff11..1a62afa 100644 --- a/src/controller/CalendarController.php +++ b/src/controller/CalendarController.php @@ -5,10 +5,11 @@ declare(strict_types=1); use Doctrine\ORM\EntityManager; use App\Entity\Event; +use Symfony\Component\HttpFoundation\JsonResponse; class CalendarController { - static public function getData(EntityManager $entityManager): void + static public function getData(EntityManager $entityManager): JsonResponse { // bornes début et fin du calendrier affiché à l'heure locale // noter que la vue "planning" est similaire à la vue "semaine" @@ -33,50 +34,41 @@ class CalendarController $events[] = $event->toArray(); } - header('Content-Type: application/json'); - echo json_encode($events); - die; + return new JsonResponse($events); } - static public function newEvent(array $json, EntityManager $entityManager):void + static public function newEvent(array $json, EntityManager $entityManager): JsonResponse { try{ $event = new Event($json); } catch(InvalidArgumentException $e){ - echo json_encode(['success' => false, 'error' => $e->getMessage()]); - http_response_code(400); - die; + return new JsonResponse(['success' => false, 'error' => $e->getMessage()], JsonResponse::HTTP_BAD_REQUEST); // code 400 } $entityManager->persist($event); $entityManager->flush(); - echo json_encode(['success' => true, 'id' => $event->getId()]); - die; + return new JsonResponse(['success' => true, 'id' => $event->getId()]); } - static public function updateEvent(array $json, EntityManager $entityManager):void + static public function updateEvent(array $json, EntityManager $entityManager): JsonResponse { $event = $entityManager->find('App\Entity\Event', (int)$json['id']); try{ $event->securedUpdateFromJSON($json); } catch(InvalidArgumentException $e){ - echo json_encode(['success' => false, 'error' => $e->getMessage()]); - http_response_code(400); - die; + return new JsonResponse(['success' => false, 'error' => $e->getMessage()], JsonResponse::HTTP_BAD_REQUEST); // code 400 } $entityManager->flush(); - echo json_encode(['success' => true]); - die; + return new JsonResponse(['success' => true]); } - static public function removeEvent(array $json, EntityManager $entityManager):void + static public function removeEvent(array $json, EntityManager $entityManager): JsonResponse { $event = $entityManager->find('App\Entity\Event', (int)$json['id']); $entityManager->remove($event); $entityManager->flush(); - echo json_encode(['success' => true]); - die; + return new JsonResponse(['success' => true]); } } \ No newline at end of file -- cgit v1.2.3