src/Controller/Frontend/Nin9rsController.php line 43

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller\Frontend;
  4. use App\Controller\Frontend\Grouping\Service\GroupingShow;
  5. use App\Entity\Backend\Agrupacion;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Symfony\Component\HttpFoundation\Response;
  11. #[Route('/nin9rs')]
  12. final class Nin9rsController extends AbstractController
  13. {
  14. public function __construct(
  15. private readonly EntityManagerInterface $em,
  16. private readonly GroupingShow $groupingShow,
  17. ) {}
  18. #[Route(path: '/data', name: 'frontend_nin9rs_data', methods: ['GET'])]
  19. public function data (): JsonResponse
  20. {
  21. $groupings = $this->em->getRepository(Agrupacion::class)->findBy(['cliente' => 48], ['fecha_inicio' => 'ASC']); // 48 es el id del cliente de nin9rs creado en produccion
  22. $nin9rsData = [];
  23. foreach ($groupings as $grouping) {
  24. $groupingData = $this->groupingShow->__invoke($grouping->getId());
  25. $nin9rsData[] = [
  26. "competitions" => $groupingData["competitions"],
  27. "groupingName" => $grouping->getNombre(),
  28. ];
  29. }
  30. return new JsonResponse($nin9rsData);
  31. }
  32. #[Route(path: '/view', name: 'frontend_nin9rs_view', methods: ['GET'])]
  33. public function view (): Response
  34. {
  35. return $this->render("frontend/nin9rs.html.twig");
  36. }
  37. }