custom/plugins/SwagPlatformSecurity/src/Subscriber/AdminSecurityFixesProvider.php line 17

  1. <?php declare(strict_types=1);
  2. namespace Swag\Security\Subscriber;
  3. use Shopware\Core\Framework\Log\Package;
  4. use Swag\Security\Components\State;
  5. use Symfony\Component\HttpFoundation\JsonResponse;
  6. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  7. #[Package('services-settings')]
  8. class AdminSecurityFixesProvider
  9. {
  10.     public function __construct(private readonly State $state)
  11.     {
  12.     }
  13.     public function __invoke(ResponseEvent $event): void
  14.     {
  15.         $route $event->getRequest()->attributes->get('_route');
  16.         if ($route !== 'api.info.config') {
  17.             return;
  18.         }
  19.         $context json_decode((string) $event->getResponse()->getContent(), true);
  20.         $context['swagSecurity'] = array_map(function ($state) {
  21.             return $state::getTicket();
  22.         }, $this->state->getActiveFixes());
  23.         $event->setResponse(new JsonResponse($context));
  24.     }
  25. }