src/Controller/CalculosSesionController.php line 10

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Sesion;
  4. use App\Service\CalculosGenerator;
  5. use Symfony\Component\HttpFoundation\JsonResponse;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. class CalculosSesionController extends AbstractController
  8. {
  9.     public function __construct(private readonly CalculosGenerator $calculosGenerator)
  10.     {
  11.     }
  12.     public function __invoke(Sesion $sesion)
  13.     {
  14.         if ($this->getUser() === null) {
  15.             return new JsonResponse('La peticion debe ser hecha con un usuario'JsonResponse::HTTP_BAD_REQUEST);
  16.         }
  17.         [$data$results] = $this->calculosGenerator->getResultados($sesion);
  18.         if (array_key_exists('error'$results)) {
  19.             return new JsonResponse($results['error'], JsonResponse::HTTP_BAD_REQUEST);
  20.         }
  21.         $sesion = [
  22.             "nombre" => $sesion->getNombre(),
  23.             "descripcion" => $sesion->getDescripcion(),
  24.             "fecha" => $sesion->getFecha()->format('Y-m-d'),
  25.             "hora" => $sesion->getFecha()->format('H:i:s'),
  26.             "temperatura" => ($sesion->getTemperatura() ?? '-') . ' ÂșC',
  27.             "estado" => $sesion->getEstado(),
  28.             "isValida" => $results['validezSesion']['valida'],
  29.             "nErrores" => $results['validezSesion']['nMuestrasError'],
  30.         ];
  31.         return new JsonResponse(['data' => $data'results' => $results'sesion' => $sesion]);
  32.     }
  33. }