src/Subscriber/Search/ImagesetSearchSubscriber.php line 33

Open in your IDE?
  1. <?php
  2. /*
  3.  * Author: Dominik Piekarski <code@dompie.de>
  4.  * Created at: 2021/02/27 13:43
  5.  */
  6. declare(strict_types=1);
  7. namespace App\Subscriber\Search;
  8. use App\Event\Content\ContentStatusChangedEvent;
  9. use App\Service\Search\ImagesetSearchService;
  10. use Psr\Log\LoggerInterface;
  11. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  12. class ImagesetSearchSubscriber implements EventSubscriberInterface
  13. {
  14.     protected ImagesetSearchService $search;
  15.     protected LoggerInterface $logger;
  16.     public function __construct(ImagesetSearchService $searchLoggerInterface $logger)
  17.     {
  18.         $this->search $search;
  19.         $this->logger $logger;
  20.     }
  21.     public static function getSubscribedEvents(): array
  22.     {
  23.         return [
  24.             ContentStatusChangedEvent::class => [['onContentDeleteRemoveItem'0]],
  25.         ];
  26.     }
  27.     public function onContentDeleteRemoveItem(ContentStatusChangedEvent $event): void
  28.     {
  29.         $content $event->getContent();
  30.         if (!$this->search->supportsEntity($content)) {
  31.             return;
  32.         }
  33.         try {
  34.             $this->search->updateOrInsert($contenttrue);
  35.         } catch (\Throwable $e) {
  36.             $this->logger->critical($e->getMessage().PHP_EOL.$e->getTraceAsString());
  37.         }
  38.     }
  39. }