diff --git a/src/Model/ReviewedPreprint.php b/src/Model/ReviewedPreprint.php index 6e88c572..be937df0 100644 --- a/src/Model/ReviewedPreprint.php +++ b/src/Model/ReviewedPreprint.php @@ -55,7 +55,7 @@ public function __construct( Image $thumbnail = null, PromiseInterface $indexContent, int $version = null, - $elifeAssessment = null + ElifeAssessment $elifeAssessment = null ) { $this->id = $id; diff --git a/src/Serializer/ReviewedPreprintNormalizer.php b/src/Serializer/ReviewedPreprintNormalizer.php index df00096f..aee506e3 100644 --- a/src/Serializer/ReviewedPreprintNormalizer.php +++ b/src/Serializer/ReviewedPreprintNormalizer.php @@ -82,6 +82,15 @@ public function denormalize($data, $class, $format = null, array $context = []): $data['image']['thumbnail'] = $this->denormalizer->denormalize($data['image']['thumbnail'], Image::class, $format, $context); } + if (isset($data['elifeAssessment'])) { + if (!isset($data['elifeAssessment']['significance'])) { + $data['elifeAssessment']['significance'] = []; + } + if (!isset($data['elifeAssessment']['strength'])) { + $data['elifeAssessment']['strength'] = []; + } + } + return new ReviewedPreprint( $data['id'], $data['stage'], @@ -204,7 +213,7 @@ public function normalize($object, $format = null, array $context = []): array $data['version'] = $object->getVersion(); } - if ($object->getElifeAssessment()) { + if (!empty($object->getElifeAssessment())) { $data['elifeAssessment'] = $object->getElifeAssessment(); }