From fc4b3bf5bec67062e97c42a21cf24cea6106e7ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@irstea.fr>
Date: Wed, 17 Feb 2021 16:33:11 +0100
Subject: [PATCH] N'utilise pas le cache pour les objets sans @id.

---
 src/php/OperationMapper.php | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/php/OperationMapper.php b/src/php/OperationMapper.php
index 737aff3..2e29eae 100644
--- a/src/php/OperationMapper.php
+++ b/src/php/OperationMapper.php
@@ -40,6 +40,7 @@ use Irstea\NgModelGeneratorBundle\Models\Types\Operations\Path;
 use Irstea\NgModelGeneratorBundle\Models\Types\Placeholder;
 use Irstea\NgModelGeneratorBundle\Models\Types\Reference;
 use Irstea\NgModelGeneratorBundle\Models\Types\Resources\Collection;
+use Irstea\NgModelGeneratorBundle\Models\Types\Resources\Representation;
 use Irstea\NgModelGeneratorBundle\Models\Types\Type;
 use Irstea\NgModelGeneratorBundle\Models\Types\Union;
 
@@ -184,6 +185,12 @@ final class OperationMapper
             implode(', ', $callParameters)
         );
 
+        /** @var Representation|null $repr */
+        $repr = $returnType->findType(Representation::class);
+        if ($repr === null || !$repr->hasProperty('@id')) {
+            return $clientCall;
+        }
+
         $opDef = $this->operation->getOpDef();
 
         if ($opDef->isGetCollection()) {
-- 
GitLab