src/Controller/SpecialiteController.php line 24

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