src/Controller/ApiController.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\DeviceRepository;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\JsonResponse;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use stdClass;
  9. class ApiController extends AbstractController
  10. {
  11.     /**
  12.      * @Route("/api/devices", name="api_devices", methods={"POST"})
  13.      */
  14.     public function devices(Request $request,DeviceRepository $deviceRepository): JsonResponse
  15.     {
  16.         $response = new JsonResponse();
  17.         $o_dataRetour = new stdClass;
  18.         $data json_decode($request->getContent(), true);
  19.         $idclient $data['idclient'];
  20.         $pass $data['pass'];
  21.         if($pass == 'CBrEPEdovEmhrmyJTY5twbRB')
  22.         {
  23.             $o_dataRetour->etat true;
  24.             $devices $deviceRepository->findDevicesByClient($idclient);
  25.             $t_devices = array();
  26.             foreach ($devices as $device)
  27.             {
  28.                 $o_device = new stdClass();
  29.                 $o_device->id $device->getNumeroSerie();
  30.                 $o_device->pac $device->getPac();
  31.                 $o_device->modele $device->getModele()->getLibelle();
  32.                 $o_device->scenario $device->getScenario()->getLibelle();
  33.                 $o_device->date $device->getDateActivation();
  34.                 $o_device->autonomie $device->getPourcentageBatterie();
  35.                 $o_device->etat $device->getIsBonEtat();
  36.                 $o_device->libelle $device->getLibelle();
  37.                 $o_device->qualiteSignal $device->getLinkQuality();
  38.                 $o_device->dateDerniereCommunication $device->getDateDerniereCommunication();
  39.                 $o_device->triggerAlert $device->getTriggerAlert();
  40.                 $o_device->delaiLimite $device->getdelaiLimite();
  41.                 $o_device->gatewayPath $device->getGatewayPath();
  42.                 $t_devices[]=$o_device;
  43.             }
  44.             $o_dataRetour->devices $t_devices;
  45.         }
  46.         else
  47.         {
  48.             $o_dataRetour->etat false;
  49.         }
  50.         $response->setData($o_dataRetour);
  51.         return $response;
  52.     }
  53.     /**
  54.      * @Route("/api/device", name="api_device", methods={"POST"})
  55.      */
  56.     public function device(Request $request,DeviceRepository $deviceRepository): JsonResponse
  57.     {
  58.         $response = new JsonResponse();
  59.         $o_dataRetour = new stdClass;
  60.         $data json_decode($request->getContent(), true);
  61.         $iddevice $data['iddevice'];
  62.         $pass $data['pass'];
  63.         if($pass == 'CBrEPEdovEmhrmyJTY5twbRB')
  64.         {
  65.             $o_dataRetour->etat true;
  66.             $device $deviceRepository->findOneBy(array('numeroSerie'=>$iddevice));
  67.             $o_modele = new stdClass();
  68.             $o_modele->libelle $device->getModele()->getLibelle();
  69.             $o_modele->type $device->getModele()->getTypeDevice()->getLibelle();
  70.             $o_modele->fonction $device->getModele()->getFonction();
  71.             $o_modele->description $device->getModele()->getDescription();
  72.             if($device->getModele()->getPhoto1() != null)
  73.                 $o_modele->photo1 stream_get_contents($device->getModele()->getPhoto1());
  74.             if($device->getModele()->getPhoto2() != null)
  75.                 $o_modele->photo2 stream_get_contents($device->getModele()->getPhoto2());
  76.             if($device->getModele()->getPhoto3() != null)
  77.                 $o_modele->photo3 stream_get_contents($device->getModele()->getPhoto3());
  78.             $o_scenario = new stdClass();
  79.             $o_scenario->libelle $device->getScenario()->getLibelle();
  80.             foreach ($device->getScenario()->getBoutons() as $btn)
  81.             {
  82.                 $btn->getPositionBouton();
  83.                 $o_scenario->{"btn".$btn->getPositionBouton()."type"} = $btn->getTypeActionBouton()->getLibelle();
  84.                 $o_scenario->{"btn".$btn->getPositionBouton()."libelle"} = $btn->getActionBouton();
  85.             }
  86.             $t_protocole = array();
  87.             foreach ($device->getModele()->getReseaux() as $reseau)
  88.             {
  89.                 $t_protocole[] = $reseau->getLibelle();
  90.             }
  91.             $o_device = new stdClass();
  92.             $o_device->id $device->getNumeroSerie();
  93.             $o_device->pac $device->getPac();
  94.             $o_device->modele $o_modele;
  95.             $o_device->scenario $o_scenario;
  96.             $o_device->protocoles $t_protocole;
  97.             $o_device->date $device->getDateActivation();
  98.             $o_device->autonomie $device->getPourcentageBatterie();
  99.             $o_device->etat $device->getIsBonEtat();
  100.             $o_device->libelle $device->getLibelle();
  101.             $o_device->qualiteSignal $device->getLinkQuality();
  102.             $o_device->dateDerniereCommunication $device->getDateDerniereCommunication();
  103.             $o_device->triggerAlert $device->getTriggerAlert();
  104.             $o_device->delaiLimite $device->getdelaiLimite();
  105.             $o_device->gatewayPath $device->getGatewayPath();
  106.             $o_dataRetour->device $o_device;
  107.         }
  108.         else
  109.         {
  110.             $o_dataRetour->etat false;
  111.         }
  112.         $response->setData($o_dataRetour);
  113.         return $response;
  114.     }
  115. }