diff --git a/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php b/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php index 99e76c5ff..9ab39db5b 100644 --- a/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php +++ b/src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php @@ -18,6 +18,8 @@ use Chill\MainBundle\Entity\Scope; use Chill\MainBundle\Entity\User; use Chill\MainBundle\Entity\UserJob; use Chill\MainBundle\Templating\Entity\UserRender; +use DateTime; +use DateTimeImmutable; use libphonenumber\PhoneNumber; use Symfony\Component\Clock\ClockInterface; use Symfony\Component\Serializer\Normalizer\ContextAwareNormalizerInterface; @@ -45,8 +47,12 @@ class UserNormalizer implements ContextAwareNormalizerInterface, NormalizerAware { } + /** + * @throws \Symfony\Component\Serializer\Exception\ExceptionInterface + */ public function normalize($object, $format = null, array $context = []) { + /** @var array{"chill:user:at_date"?: DateTimeImmutable|DateTime} $context */ /** @var User $object */ $userJobContext = array_merge( $context, @@ -78,6 +84,9 @@ class UserNormalizer implements ContextAwareNormalizerInterface, NormalizerAware } $at = $context[self::AT_DATE] ?? $this->clock->now(); + if ($at instanceof DateTime) { + $at = DateTimeImmutable::createFromMutable($at); + } $data = [ 'type' => 'user',