From 2c2c24b1bbe656558bc3761afc8d93a982ebde30 Mon Sep 17 00:00:00 2001 From: Baptiste Lemoine Date: Tue, 5 Nov 2019 17:31:07 +0100 Subject: [PATCH] :zap: start to expose fields of poll --- config/packages/fos_rest.yaml | 2 ++ src/Controller/DefaultController.php | 4 ++-- src/Entity/Poll.php | 10 +++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/config/packages/fos_rest.yaml b/config/packages/fos_rest.yaml index 3a2d868..8412a54 100644 --- a/config/packages/fos_rest.yaml +++ b/config/packages/fos_rest.yaml @@ -10,6 +10,8 @@ fos_rest: # App\Exception\MyException: 403 # messages: # App\Exception\MyException: Forbidden area. + routing_loader: + default_format: json format_listener: rules: - { path: '^/', diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index dd3fec7..51fc4e4 100644 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -60,12 +60,12 @@ class DefaultController extends AbstractController { */ public function getAllPollsAction() { $repository = $this->getDoctrine()->getRepository( Poll::class ); - $polls = $repository->findall(); + $data = $repository->findall(); return $this->json( [ 'message' => 'here are your polls', - 'data' => $polls, + 'data' => $data, ] ); } diff --git a/src/Entity/Poll.php b/src/Entity/Poll.php index b4f2343..4ded094 100644 --- a/src/Entity/Poll.php +++ b/src/Entity/Poll.php @@ -5,39 +5,47 @@ namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; +use JMS\Serializer\Annotation as Serializer; /** * @ORM\Entity(repositoryClass="App\Repository\PollRepository") + * @Serializer\ExclusionPolicy("ALL") */ class Poll { /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") + * @Serializer\Expose */ private $id; /** * @ORM\Column(type="string", length=255) + * @Serializer\Expose */ private $title; /** * @ORM\Column(type="string", length=255, nullable=true) + * @Serializer\Expose */ private $customUrl; /** - * vote restricted by a password + * vote restricted by a password in md5 format * @ORM\Column(type="string", length=255, nullable=true) */ private $password; + /** * @ORM\Column(type="string", length=1000) + * @Serializer\Expose */ private $description; /** * @ORM\Column(type="datetime") + * @Serializer\Expose */ private $creationDate;