mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
Add getSupportedTypes method for (de)normalizerInterface implementations
This commit is contained in:
parent
9fcc1634f5
commit
a5049ddefb
@ -86,6 +86,8 @@ class StoredObjectDenormalizer implements DenormalizerInterface
|
|||||||
|
|
||||||
public function getSupportedTypes(?string $format): array
|
public function getSupportedTypes(?string $format): array
|
||||||
{
|
{
|
||||||
// TODO: Implement getSupportedTypes() method.
|
return [
|
||||||
|
StoredObject::class => true,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,6 +117,13 @@ class RequestPdfSignMessageSerializerTest extends TestCase
|
|||||||
{
|
{
|
||||||
return $data instanceof PDFSignatureZone;
|
return $data instanceof PDFSignatureZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
PDFSignatureZone::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
$denormalizer = new class () implements DenormalizerInterface {
|
$denormalizer = new class () implements DenormalizerInterface {
|
||||||
public function denormalize($data, string $type, ?string $format = null, array $context = []): mixed
|
public function denormalize($data, string $type, ?string $format = null, array $context = []): mixed
|
||||||
@ -128,6 +135,13 @@ class RequestPdfSignMessageSerializerTest extends TestCase
|
|||||||
{
|
{
|
||||||
return PDFSignatureZone::class === $type;
|
return PDFSignatureZone::class === $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
PDFSignatureZone::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$serializer = new Serializer([$normalizer, $denormalizer]);
|
$serializer = new Serializer([$normalizer, $denormalizer]);
|
||||||
|
@ -16,7 +16,6 @@ use Chill\MainBundle\Entity\Address;
|
|||||||
use Chill\MainBundle\Templating\Entity\AddressRender;
|
use Chill\MainBundle\Templating\Entity\AddressRender;
|
||||||
use Symfony\Component\Serializer\Exception\UnexpectedValueException;
|
use Symfony\Component\Serializer\Exception\UnexpectedValueException;
|
||||||
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
use Symfony\Component\Serializer\Normalizer\AbstractNormalizer;
|
||||||
use Symfony\Component\Serializer\Normalizer\ContextAwareNormalizerInterface;
|
|
||||||
use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface;
|
use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface;
|
||||||
use Symfony\Component\Serializer\Normalizer\NormalizerAwareTrait;
|
use Symfony\Component\Serializer\Normalizer\NormalizerAwareTrait;
|
||||||
|
|
||||||
@ -137,4 +136,21 @@ class AddressNormalizer implements \Symfony\Component\Serializer\Normalizer\Norm
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format) {
|
||||||
|
return [
|
||||||
|
Address::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('docgen' === $format) {
|
||||||
|
return [
|
||||||
|
Address::class => false,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,4 +69,15 @@ class CenterNormalizer implements DenormalizerInterface, NormalizerInterface
|
|||||||
{
|
{
|
||||||
return $data instanceof Center && 'json' === $format;
|
return $data instanceof Center && 'json' === $format;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' !== $format && null !== $format) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
Center::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,4 +45,11 @@ class CollectionNormalizer implements NormalizerAwareInterface, NormalizerInterf
|
|||||||
{
|
{
|
||||||
return $data instanceof Collection;
|
return $data instanceof Collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Collection::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,4 +82,9 @@ class CommentEmbeddableDocGenNormalizer implements \Symfony\Component\Serializer
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'docgen' === $format ? [CommentEmbeddable::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,4 +121,25 @@ class DateNormalizer implements \Symfony\Component\Serializer\Normalizer\Normali
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format) {
|
||||||
|
return [
|
||||||
|
\DateTimeInterface::class => true,
|
||||||
|
\DateTime::class => true,
|
||||||
|
\DateTimeImmutable::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('docgen' === $format) {
|
||||||
|
return [
|
||||||
|
\DateTimeInterface::class => true,
|
||||||
|
\DateTime::class => true,
|
||||||
|
\DateTimeImmutable::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,4 +69,11 @@ class DiscriminatedObjectDenormalizer implements \Symfony\Component\Serializer\N
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
self::TYPE => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,4 +65,11 @@ class DoctrineExistingEntityNormalizer implements DenormalizerInterface
|
|||||||
// we do not have any class discriminator. Check that the id is the only one key
|
// we do not have any class discriminator. Check that the id is the only one key
|
||||||
return 1 === \count($data);
|
return 1 === \count($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'object' => false,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,4 +79,9 @@ class EntityWorkflowStepNormalizer implements NormalizerAwareInterface, Normaliz
|
|||||||
{
|
{
|
||||||
return $data instanceof EntityWorkflowStep && 'json' === $format;
|
return $data instanceof EntityWorkflowStep && 'json' === $format;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'json' === $format ? [EntityWorkflowStep::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,4 +37,11 @@ class GenderDocGenNormalizer implements \Symfony\Component\Serializer\Normalizer
|
|||||||
'type' => 'chill_main_gender',
|
'type' => 'chill_main_gender',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Gender::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,4 +55,9 @@ class NotificationNormalizer implements NormalizerAwareInterface, NormalizerInte
|
|||||||
{
|
{
|
||||||
return $data instanceof Notification && 'json' === $format;
|
return $data instanceof Notification && 'json' === $format;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'json' === $format ? [Notification::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,4 +78,15 @@ class PhonenumberNormalizer implements \Symfony\Component\Serializer\Normalizer\
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format || 'docgen' === $format) {
|
||||||
|
return [
|
||||||
|
PhoneNumber::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,4 +34,11 @@ class PointNormalizer implements DenormalizerInterface
|
|||||||
{
|
{
|
||||||
return Point::class === $type;
|
return Point::class === $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Point::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,4 +34,15 @@ class UserGroupDenormalizer implements DenormalizerInterface
|
|||||||
&& 2 === count(array_keys($data))
|
&& 2 === count(array_keys($data))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' !== $format) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
UserGroup::class => false,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,4 +122,15 @@ class UserNormalizer implements \Symfony\Component\Serializer\Normalizer\Normali
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format || 'docgen' === $format) {
|
||||||
|
return [
|
||||||
|
User::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,6 +136,11 @@ final class UserNormalizerTest extends TestCase
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return ['*' => true];
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->assertEquals($expected, $normalizer->normalize($user, $format, $context));
|
$this->assertEquals($expected, $normalizer->normalize($user, $format, $context));
|
||||||
|
@ -183,4 +183,9 @@ class AccompanyingPeriodDocGenNormalizer implements \Symfony\Component\Serialize
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'docgen' === $format ? [AccompanyingPeriod::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,4 +45,11 @@ class AccompanyingPeriodParticipationNormalizer implements NormalizerAwareInterf
|
|||||||
|
|
||||||
return $data instanceof AccompanyingPeriodParticipation;
|
return $data instanceof AccompanyingPeriodParticipation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
AccompanyingPeriodParticipation::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,4 +95,11 @@ class AccompanyingPeriodResourceNormalizer implements DenormalizerAwareInterface
|
|||||||
{
|
{
|
||||||
return Resource::class === $type;
|
return Resource::class === $type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Resource::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -112,4 +112,11 @@ class AccompanyingPeriodWorkDenormalizer implements \Symfony\Component\Serialize
|
|||||||
$work->addAccompanyingPeriodWorkEvaluation($evaluation);
|
$work->addAccompanyingPeriodWorkEvaluation($evaluation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
AccompanyingPeriodWork::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,4 +103,11 @@ class AccompanyingPeriodWorkEvaluationDenormalizer implements \Symfony\Component
|
|||||||
$evaluation->addDocument($document);
|
$evaluation->addDocument($document);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
AccompanyingPeriodWorkEvaluation::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,4 +56,11 @@ class AccompanyingPeriodWorkEvaluationDocumentNormalizer implements \Symfony\Com
|
|||||||
|| spl_object_hash($data) !== $context[self::SKIP]
|
|| spl_object_hash($data) !== $context[self::SKIP]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
AccompanyingPeriodWorkEvaluationDocument::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,4 +70,9 @@ class AccompanyingPeriodWorkEvaluationNormalizer implements \Symfony\Component\S
|
|||||||
&& $data instanceof AccompanyingPeriodWorkEvaluation
|
&& $data instanceof AccompanyingPeriodWorkEvaluation
|
||||||
&& !\array_key_exists(self::IGNORE_EVALUATION, $context);
|
&& !\array_key_exists(self::IGNORE_EVALUATION, $context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'json' === $format ? [AccompanyingPeriodWorkEvaluation::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,4 +137,12 @@ class AccompanyingPeriodWorkNormalizer implements \Symfony\Component\Serializer\
|
|||||||
default => false,
|
default => false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return match ($format) {
|
||||||
|
'json', 'docgen' => [AccompanyingPeriodWork::class => true],
|
||||||
|
default => [],
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,4 +36,11 @@ class GenderDocGenNormalizer implements \Symfony\Component\Serializer\Normalizer
|
|||||||
'genderTranslation' => $gender->getGenderTranslation(),
|
'genderTranslation' => $gender->getGenderTranslation(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Gender::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,4 +181,11 @@ class MembersEditorNormalizer implements DenormalizerAwareInterface, Denormalize
|
|||||||
throw new Exception\UnexpectedValueException("The schema does not have any key 'destination'");
|
throw new Exception\UnexpectedValueException("The schema does not have any key 'destination'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
MembersEditor::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -247,4 +247,9 @@ class PersonDocGenNormalizer implements
|
|||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'docgen' === $format ? [Person::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -241,4 +241,9 @@ class PersonJsonNormalizer implements DenormalizerAwareInterface, NormalizerAwar
|
|||||||
)
|
)
|
||||||
->toArray();
|
->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'json' === $format ? [Person::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,4 +83,9 @@ class RelationshipDocGenNormalizer implements \Symfony\Component\Serializer\Norm
|
|||||||
return $data instanceof Relationship || (null === $data
|
return $data instanceof Relationship || (null === $data
|
||||||
&& Relationship::class === ($context['docgen:expects'] ?? null));
|
&& Relationship::class === ($context['docgen:expects'] ?? null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'docgen' === $format ? [Relationship::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,4 +75,15 @@ class SocialActionNormalizer implements NormalizerAwareInterface, NormalizerInte
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format || 'docgen' === $format) {
|
||||||
|
return [
|
||||||
|
SocialAction::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,9 @@ class SocialIssueNormalizer implements \Symfony\Component\Serializer\Normalizer\
|
|||||||
'title' => $socialIssue->getTitle(),
|
'title' => $socialIssue->getTitle(),
|
||||||
'text' => $this->render->renderString($socialIssue, []),
|
'text' => $this->render->renderString($socialIssue, []),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
default:
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,4 +72,15 @@ class SocialIssueNormalizer implements \Symfony\Component\Serializer\Normalizer\
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' === $format || 'docgen' === $format) {
|
||||||
|
return [
|
||||||
|
SocialIssue::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,4 +58,9 @@ class WorkflowNormalizer implements \Symfony\Component\Serializer\Normalizer\Nor
|
|||||||
&& $data instanceof EntityWorkflow
|
&& $data instanceof EntityWorkflow
|
||||||
&& !\array_key_exists(self::IGNORE_ENTITY_WORKFLOW, $context);
|
&& !\array_key_exists(self::IGNORE_ENTITY_WORKFLOW, $context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
return 'json' === $format ? [EntityWorkflow::class => true] : [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,4 +68,15 @@ class ThirdPartyNormalizer implements NormalizerAwareInterface, NormalizerInterf
|
|||||||
{
|
{
|
||||||
return $data instanceof ThirdParty && 'json' === $format;
|
return $data instanceof ThirdParty && 'json' === $format;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getSupportedTypes(?string $format): array
|
||||||
|
{
|
||||||
|
if ('json' !== $format) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
ThirdParty::class => true,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user