<?php
namespace App\Listener\Doctrine;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
class UniqueEntityException
{
public function onKernelException(ExceptionEvent $event)
{
$exception = $event->getThrowable();
if ($exception instanceof UniqueConstraintViolationException) {
$response = new JsonResponse();
$response->setStatusCode(500);
$response->setData([
'code' => 500,
'title' => $exception->getMessage(),
]);
$event->setResponse($response);
}
}
}