<?php
declare(strict_types=1);
namespace App\Controller\Api\Franchise;
use App\Exception\Global\InvalidParameterException;
use App\Provider\Franchise\FranchiseProvider;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class FranchiseByUrlController extends AbstractController
{
public function __construct(
private FranchiseProvider $franchiseProvider,
) {
}
public function __invoke(Request $request): Response
{
$url = $request->get('url');
if (null === $url || '' === $url) {
throw new InvalidParameterException();
}
return new Response($this->franchiseProvider->provide($url));
}
}