src/Controller/Frontend/Committee/CommitteeController.php line 46

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller\Frontend\Committee;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\RedirectResponse;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  9. final class CommitteeController
  10. {
  11. public function __construct(
  12. private readonly CommitteeCompetitionsView $committeeCompetitionsView,
  13. private readonly UrlGeneratorInterface $urlGenerator
  14. ) {
  15. }
  16. /**
  17. * Compatibility for the two club codes previously handled as committees.
  18. *
  19. * @Route(
  20. * "/competiciones-comite/{clubId}",
  21. * name="competiciones_comite_legacy_club",
  22. * requirements={"clubId"="AM00|CM00"}
  23. * )
  24. */
  25. public function legacyClub(string $clubId): RedirectResponse
  26. {
  27. return new RedirectResponse($this->urlGenerator->generate('competiciones_club', [
  28. 'id' => $clubId,
  29. ]));
  30. }
  31. /**
  32. * F-016 Visualización de las competiciones de un comité.
  33. *
  34. * @Route(
  35. * "/competiciones-comite/{committeeId}",
  36. * name="competiciones_comite",
  37. * requirements={"committeeId"="\d+"}
  38. * )
  39. */
  40. public function competitions(Request $request, string $committeeId): Response
  41. {
  42. return ($this->committeeCompetitionsView)($committeeId, $request);
  43. }
  44. /**
  45. * @Route("/competiciones-comite", name="competiciones_comite_legacy")
  46. */
  47. public function legacyList(): RedirectResponse
  48. {
  49. return new RedirectResponse($this->urlGenerator->generate('competitions'));
  50. }
  51. }