mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
42 lines
1.5 KiB
PHP
42 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Chill\MainBundle\Serializer\Normalizer;
|
|
|
|
use Chill\MainBundle\Entity\Address;
|
|
use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface;
|
|
use Symfony\Component\Serializer\Normalizer\NormalizerAwareTrait;
|
|
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
|
|
|
|
class AddressNormalizer implements NormalizerAwareInterface, NormalizerInterface
|
|
{
|
|
use NormalizerAwareTrait;
|
|
|
|
public function normalize($address, string $format = null, array $context = [])
|
|
{
|
|
$data['address_id'] = $address->getId();
|
|
$data['text'] = $address->getStreet().', '.$address->getStreetNumber();
|
|
$data['street'] = $address->getStreet();
|
|
$data['streetNumber'] = $address->getStreetNumber();
|
|
$data['postcode']['name'] = $address->getPostCode()->getName();
|
|
$data['postcode']['code'] = $address->getPostCode()->getCode();
|
|
$data['country']['name'] = $address->getPostCode()->getCountry()->getName();
|
|
$data['country']['code'] = $address->getPostCode()->getCountry()->getCountryCode();
|
|
$data['floor'] = $address->getFloor();
|
|
$data['corridor'] = $address->getCorridor();
|
|
$data['steps'] = $address->getSteps();
|
|
$data['flat'] = $address->getBuildingName();
|
|
$data['buildingName'] = $address->getFlat();
|
|
$data['distribution'] = $address->getDistribution();
|
|
$data['extra'] = $address->getExtra();
|
|
|
|
return $data;
|
|
}
|
|
|
|
public function supportsNormalization($data, string $format = null)
|
|
{
|
|
return $data instanceof Address;
|
|
}
|
|
|
|
|
|
}
|