remoteCalendarConnector = $remoteCalendarConnector; $this->serializer = $serializer; } /** * @Route("api/1.0/calendar/proxy/calendar/by-user/{id}/events") */ public function listEventForCalendar(User $user, Request $request): Response { if ($request->query->has('startDate')) { $startDate = DateTimeImmutable::createFromFormat('Y-m-d', $request->query->get('startDate')); if (false === $startDate) { throw new BadRequestHttpException('startDate on bad format'); } } else { throw new BadRequestHttpException('startDate not provided'); } if ($request->query->has('endDate')) { $endDate = DateTimeImmutable::createFromFormat('Y-m-d', $request->query->get('endDate')); if (false === $endDate) { throw new BadRequestHttpException('endDate on bad format'); } } else { throw new BadRequestHttpException('endDate not provided'); } $events = $this->remoteCalendarConnector->listEventsForUser($user, $startDate, $endDate); return new JsonResponse( $this->serializer->serialize($events, 'json', ['groups' => ['read']]), JsonResponse::HTTP_OK, [], true ); } }