Просмотр исходного кода

Merge branch 'hotfix/iel-400-request'

Vincent 7 месяцев назад
Родитель
Сommit
7b038f8958

+ 5 - 4
src/State/Provider/OnlineRegistration/RegistrationAvailabilityProvider.php

@@ -9,6 +9,7 @@ use App\ApiResources\OnlineRegistration\RegistrationAvailability;
 use App\Entity\Access\Access;
 use App\Service\ApiLegacy\ApiLegacyRequestService;
 use Symfony\Bundle\SecurityBundle\Security;
+use Symfony\Component\HttpFoundation\Response;
 
 class RegistrationAvailabilityProvider implements ProviderInterface
 {
@@ -25,13 +26,13 @@ class RegistrationAvailabilityProvider implements ProviderInterface
     public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?RegistrationAvailability
     {
         if ($operation instanceof GetCollection) {
-            throw new \RuntimeException('not supported', 500);
+            throw new \RuntimeException('not supported', Response::HTTP_INTERNAL_SERVER_ERROR);
         }
 
         /** @var Access $currentAccess */
         $currentAccess = $this->security->getUser();
         if ($uriVariables['accessId'] !== $currentAccess->getId()) {
-            throw new \RuntimeException('forbidden', 503);
+            throw new \RuntimeException('forbidden', Response::HTTP_SERVICE_UNAVAILABLE);
         }
 
         $response = $this->apiLegacyRequestService->get('/api/online_registration/access_verification');
@@ -40,8 +41,8 @@ class RegistrationAvailabilityProvider implements ProviderInterface
 
         $availability = new RegistrationAvailability();
         $availability->setAccessId($currentAccess->getId());
-        $availability->setAvailable($response->getStatusCode() === 200);
-        $availability->setMessage($content['message']);
+        $availability->setAvailable($response->getStatusCode() === Response::HTTP_OK && !array_key_exists('error', $content));
+        $availability->setMessage(array_key_exists('message', $content) ? $content['message'] : null);
 
         return $availability;
     }

+ 4 - 3
src/State/Provider/OnlineRegistration/RegistrationStatusProvider.php

@@ -10,6 +10,7 @@ use App\Entity\Access\Access;
 use App\Enum\OnlineRegistration\RegistrationStatusEnum;
 use App\Service\ApiLegacy\ApiLegacyRequestService;
 use Symfony\Bundle\SecurityBundle\Security;
+use Symfony\Component\HttpFoundation\Response;
 
 class RegistrationStatusProvider implements ProviderInterface
 {
@@ -28,13 +29,13 @@ class RegistrationStatusProvider implements ProviderInterface
     public function provide(Operation $operation, array $uriVariables = [], array $context = []): ?RegistrationStatus
     {
         if ($operation instanceof GetCollection) {
-            throw new \RuntimeException('not supported', 500);
+            throw new \RuntimeException('not supported', Response::HTTP_INTERNAL_SERVER_ERROR);
         }
 
         /** @var Access $currentAccess */
         $currentAccess = $this->security->getUser();
         if ($uriVariables['accessId'] !== $currentAccess->getId()) {
-            throw new \RuntimeException('forbidden', 503);
+            throw new \RuntimeException('forbidden', Response::HTTP_SERVICE_UNAVAILABLE);
         }
 
         // --- L'appel au service remplacera l'appel à l'API v1 à l'avenir --
@@ -55,7 +56,7 @@ class RegistrationStatusProvider implements ProviderInterface
             null => null,
         ];
 
-        $status = isset($response['status']) ? $statusMap[$response['status']] : null;
+        $status = $response['status'] ? $statusMap[$response['status']] : null;
 
         $registrationStatus = new RegistrationStatus();
         $registrationStatus->setAccessId($currentAccess->getId());