diff --git a/src/Bundle/ChillThirdPartyBundle/DependencyInjection/ChillThirdPartyExtension.php b/src/Bundle/ChillThirdPartyBundle/DependencyInjection/ChillThirdPartyExtension.php index fb3770f02..0331e007d 100644 --- a/src/Bundle/ChillThirdPartyBundle/DependencyInjection/ChillThirdPartyExtension.php +++ b/src/Bundle/ChillThirdPartyBundle/DependencyInjection/ChillThirdPartyExtension.php @@ -10,6 +10,7 @@ use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; use Chill\ThirdPartyBundle\Security\Voter\ThirdPartyVoter; use Symfony\Component\HttpFoundation\Request; + /** * This is the class that loads and manages your bundle configuration. * @@ -59,7 +60,15 @@ class ChillThirdPartyExtension extends Extension implements PrependExtensionInte 'name' => 'thirdparty', 'base_path' => '/api/1.0/thirdparty/thirdparty', 'base_role' => \Chill\ThirdPartyBundle\Security\Authorization\ThirdPartyVoter::class, + 'controller' => \Chill\ThirdPartyBundle\Controller\ThirdPartyApiController::class, 'actions' => [ + '_index' => [ + 'methods' => [ + Request::METHOD_GET => true, + Request::METHOD_HEAD => true, + Request::METHOD_POST => true, + ], + ], '_entity' => [ 'methods' => [ Request::METHOD_GET => true, diff --git a/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php b/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php index 45a446443..75da7ad78 100644 --- a/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php +++ b/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php @@ -60,7 +60,7 @@ class ThirdParty * @var string * @ORM\Column(name="name", type="string", length=255) * @Assert\Length(min="2") - * @Groups({"read", "write"}) + * @Groups({"read"}) */ private $name; @@ -130,7 +130,7 @@ class ThirdParty * @Assert\Regex("/^([\+{1}])([0-9\s*]{4,20})$/", * message="Invalid phone number: it should begin with the international prefix starting with ""+"", hold only digits and be smaller than 20 characters. Ex: +33123456789" * ) - * @Groups({"read", "write"}) + * @Groups({"read"}) */ private $telephone; @@ -138,7 +138,7 @@ class ThirdParty * @var string|null * @ORM\Column(name="email", type="string", length=255, nullable=true) * @Assert\Email(checkMX=false) - * @Groups({"read", "write"}) + * @Groups({"read"}) */ private $email; @@ -147,7 +147,7 @@ class ThirdParty * @ORM\ManyToOne(targetEntity="\Chill\MainBundle\Entity\Address", * cascade={"persist", "remove"}) * @ORM\JoinColumn(nullable=true, onDelete="SET NULL") - * @Groups({"read", "write"}) + * @Groups({"read"}) */ private $address; diff --git a/src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.php b/src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.php index 203331cb7..b8c3e2827 100644 --- a/src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.php +++ b/src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.php @@ -21,6 +21,8 @@ class ThirdPartyNormalizer implements NormalizerInterface, NormalizerAwareInterf $data['id'] = $thirdParty->getId(); $data['address'] = $this->normalizer->normalize($thirdParty->getAddress(), $format, [ 'address_rendering' => 'short' ]); + $data['phonenumber'] = $thirdParty->getTelephone(); + $data['email'] = $thirdParty->getEmail(); return $data; } diff --git a/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml b/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml index 32b23a747..957bf9324 100644 --- a/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml +++ b/src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml @@ -17,6 +17,8 @@ paths: responses: 200: description: "ok" + 401: + description: "Unauthorized" /1.0/thirdparty/thirdparty/{id}.json: get: