<?php
declare(strict_types=1);
namespace App\Controller\Frontend;
use App\Controller\Frontend\Grouping\Service\GroupingShow;
use App\Entity\Backend\Agrupacion;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
#[Route('/nin9rs')]
final class Nin9rsController extends AbstractController
{
public function __construct(
private readonly EntityManagerInterface $em,
private readonly GroupingShow $groupingShow,
) {}
#[Route(path: '/data', name: 'frontend_nin9rs_data', methods: ['GET'])]
public function data (): JsonResponse
{
$groupings = $this->em->getRepository(Agrupacion::class)->findBy(['cliente' => 48], ['fecha_inicio' => 'ASC']); // 48 es el id del cliente de nin9rs creado en produccion
$nin9rsData = [];
foreach ($groupings as $grouping) {
$groupingData = $this->groupingShow->__invoke($grouping->getId());
$nin9rsData[] = [
"competitions" => $groupingData["competitions"],
"groupingName" => $grouping->getNombre(),
];
}
return new JsonResponse($nin9rsData);
}
#[Route(path: '/view', name: 'frontend_nin9rs_view', methods: ['GET'])]
public function view (): Response
{
return $this->render("frontend/nin9rs.html.twig");
}
}