src/EventSubscriber/GameSubscriber.php line 22
<?php
namespace App\EventSubscriber;
use App\Entity\Game;
use App\Service\Admin\GameExporter;
use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityPersistedEvent;
use EasyCorp\Bundle\EasyAdminBundle\Event\AfterEntityUpdatedEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class GameSubscriber implements EventSubscriberInterface
{
private $exporter;
public function __construct(GameExporter $exporter)
{
$this->exporter = $exporter;
}
public function onPersistedGame(AfterEntityPersistedEvent $event)
{
$entity = $event->getEntityInstance();
if (!($entity instanceof Game)) {
return;
}
if($entity->getAppGame()) {
$this->updateGameAsset($entity);
}
}
public function onUpdatedGame(AfterEntityUpdatedEvent $event)
{
$entity = $event->getEntityInstance();
if (!($entity instanceof Game)) {
return;
}
if($entity->getAppGame()) {
$this->updateGameAsset($entity);
}
}
protected function updateGameAsset(Game $game) {
$this->exporter->exportAppGame($game->getId());
}
public static function getSubscribedEvents()
{
return [
AfterEntityPersistedEvent::class => [['onPersistedGame']],
AfterEntityUpdatedEvent::class => [['onUpdatedGame']],
];
}
}