src/Controller/PrestationController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Prestation;
  4. use App\Entity\Token;
  5. use DateTime;
  6. use Doctrine\Common\Collections\ArrayCollection;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class PrestationController extends AbstractController
  12. {
  13.    
  14.     
  15.     
  16.      /**
  17.      * @Route("/prestations", name="getPrestations", methods={"GET","HEAD"})
  18.      */
  19.     public function getPrestations(Request $request)
  20.     {
  21.     /*    if (!$request->query->get('token'))
  22.             return new Response(json_encode([
  23.                 "message" => "Pas de token n'a été spécifié",
  24.                 "status" => 401,
  25.             ]), 401);
  26.         $entityManager = $this->getDoctrine()->getManager();
  27.         /** @var Token 
  28.         $token = $this->getDoctrine()
  29.             ->getRepository(Token::class)
  30.             ->findOneBy(['token' => $request->query->get('token')]);
  31.         if (!$token)
  32.             return new Response(json_encode([
  33.                 "message" => "Pas de token trouvé dans la base de données. Veuillez vous reconnecter.",
  34.                 "status" => 404,
  35.             ]), 404);
  36.         // get token age
  37.         $dateDiff = $token->getCreationDate()->diff(new DateTime());
  38.         // if the token if older than 7 days
  39.         if ($dateDiff->d > 7) {
  40.             $entityManager->remove($token);
  41.             $entityManager->flush();
  42.             return $this->json([
  43.                 'message' => 'Ce token est obselète. Veuillez vous reconnecter.',
  44.                 'path' => 'src/Controller/ClientController.php',
  45.                 "status" => 401
  46.             ], 401);
  47.         }*/
  48.         $prestations $this->getDoctrine()
  49.             ->getRepository(Prestation::class)->findAll();
  50.         $resultPrestation = new ArrayCollection();
  51.         foreach ($prestations as $prestation) {
  52.           
  53.           $resultPrestation->add([
  54.               "id" => $prestation->getId(),
  55.               "libelle" => $prestation->getLibelle(),
  56.           ]);
  57.         }
  58.         return new Response(json_encode(([
  59.             "prestations" => $resultPrestation->toArray(),
  60.         ])));
  61.     }
  62.     
  63.     
  64. }