diff --git a/Model/RegistrationRequest.php b/Model/RegistrationRequest.php index af32e51..07b4fe6 100644 --- a/Model/RegistrationRequest.php +++ b/Model/RegistrationRequest.php @@ -13,9 +13,9 @@ class RegistrationRequest { - const DOCTYPE_ID_CARD_FR = 'id_card_fr'; - const DOCTYPE_PASSPORT = 'passport_eu'; - const DOCTYPE_TITLE_STAY = 'titre_sejour'; + public const DOCTYPE_ID_CARD_FR = 'id_card_fr'; + public const DOCTYPE_PASSPORT = 'passport_eu'; + public const DOCTYPE_TITLE_STAY = 'titre_sejour'; /** * @var array diff --git a/Model/Signer.php b/Model/Signer.php index c738fc9..1c0132b 100644 --- a/Model/Signer.php +++ b/Model/Signer.php @@ -13,8 +13,8 @@ class Signer { - const ROLE_SIGNER = 'signer'; - const ROLE_OBSERVER = 'observer'; + public const ROLE_SIGNER = 'signer'; + public const ROLE_OBSERVER = 'observer'; /** * @var string @@ -87,7 +87,7 @@ class Signer protected $certificateType; /** - * @var array + * @var RegistrationRequest */ protected $idDocuments; @@ -150,7 +150,13 @@ public static function configureData(OptionsResolver $resolver) ->setDefault('cancelRedirection', null)->setAllowedTypes('cancelRedirection', ['array', 'null']) ->setDefault('failRedirection', null)->setAllowedTypes('failRedirection', ['array', 'null']) ->setDefault('certificateType', null)->setAllowedValues('certificateType', [null, CertificateType::SIMPLE, CertificateType::CERTIFIED, CertificateType::ADVANCED]) - ->setDefault('idDocuments', null)->setAllowedTypes('idDocuments', ['array', 'null']) + ->setDefault('idDocuments', null)->setAllowedTypes('idDocuments', ['array', RegistrationRequest::class, 'null'])->setNormalizer('idDocuments', function (Options $options, $value) { + if ($value instanceof RegistrationRequest || null === $value) { + return $value; + } + + return RegistrationRequest::createFromArray($value); + }) ->setDefault('validationSessionId', null)->setAllowedTypes('validationSessionId', ['null', 'string']) ->setDefault('redirectPolicy', null)->setAllowedValues('redirectPolicy', [null, 'dashboard', 'quick']) ->setDefault('redirectWait', 5)->setAllowedTypes('redirectWait', ['int'])->setNormalizer('redirectWait', function (Options $options, $value) { @@ -492,11 +498,9 @@ public function getCertificateType(): ?string * * @return self */ - public function setIdDocuments(?array $idDocument): self + public function setIdDocuments(?RegistrationRequest $idDocument): self { - if (null !== $idDocument) { - $this->idDocument = RegistrationRequest::createFromArray($idDocument); - } + $this->idDocument = $idDocument; return $this; } @@ -504,7 +508,7 @@ public function setIdDocuments(?array $idDocument): self /** * @return array|null */ - public function getIdDocument(): ?array + public function getIdDocument(): ?RegistrationRequest { return $this->idDocument; }