diff --git a/src/Bundle/ChillCalendarBundle/Controller/CalendarAPIController.php b/src/Bundle/ChillCalendarBundle/Controller/CalendarAPIController.php index d6e3586b2..1c81df4a3 100644 --- a/src/Bundle/ChillCalendarBundle/Controller/CalendarAPIController.php +++ b/src/Bundle/ChillCalendarBundle/Controller/CalendarAPIController.php @@ -9,13 +9,25 @@ use Symfony\Component\HttpFoundation\Request; class CalendarAPIController extends ApiController { + + protected function getContextForSerialization(string $action, Request $request, string $_format, $entity): array + { + switch($action) { + case '_index': + switch ($request->getMethod()) { + case Request::METHOD_GET: + return [ 'groups' => [ 'calendar:read' ] ]; + } + } + return parent::getContextForSerialization($action, $request, $_format, $entity); + } + protected function customizeQuery(string $action, Request $request, $qb): void { if ($request->query->has('main_user')) { $qb->where('e.mainUser = :main_user') ->setParameter('main_user', $request->query->get('main_user')); - } } diff --git a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php index 2c1029441..0663ca08b 100644 --- a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php +++ b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php @@ -21,6 +21,7 @@ use DateTimeImmutable; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\Range; use Symfony\Component\Validator\Mapping\ClassMetadata; +use Symfony\Component\Serializer\Annotation as Serializer; /** * @ORM\Table(name="chill_calendar.calendar") @@ -52,7 +53,7 @@ class Calendar /** * @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\User") - * @Groups({"read"}) + * @Serializer\Groups({"calendar:read"}) */ private ?User $mainUser; @@ -93,13 +94,13 @@ class Calendar /** * @ORM\Column(type="datetimetz_immutable") - * @Groups({"read"}) + * @Serializer\Groups({"calendar:read"}) */ private \DateTimeImmutable $startDate; /** * @ORM\Column(type="datetimetz_immutable") - * @Groups({"read"}) + * @Serializer\Groups({"calendar:read"}) */ private \DateTimeImmutable $endDate;