<?php
namespace Labas\EventListener;
use App\Entity\Central\Client\Client;
use App\Service\AppManager;
use App\Utils\ClientUtils;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Event\RequestEvent;
class SecurityListener
{
private $appManager;
public function __construct(AppManager $appManager)
{
$this->appManager = $appManager;
}
public function security(RequestEvent $event)
{
if (!in_array($event->getRequest()->server->get('REMOTE_ADDR'), ['46.34.227.179'])){
$response = new JsonResponse(['Authorization' => 'Invalid IP'], 401);
//$event->setResponse($response);
//$event->stopPropagation();
}
$client = $this->appManager->getRepository(Client::class)->findOneBy(['code' => ClientUtils::LABAS]);
if (!$client instanceof Client){
throw new \Exception('Missing fresh client');
}
$this->appManager->setClient($client);
}
}