src/Controller/Api/Prive/ApiContactController.php line 76

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Api\Prive;
  3. use App\Entity\Contact;
  4. use App\Entity\Prospect;
  5. use App\Entity\Rdv;
  6. use Symfony\Component\HttpFoundation\JsonResponse;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. /**
  10.  * @Route("/contact")
  11.  */
  12. class ApiContactController extends ApiController
  13. {
  14.     /**
  15.      * @Route("/{id}", name="api_Contact_getById", methods={"GET"})
  16.      * @param int $id
  17.      * @return JsonResponse
  18.      */
  19.     public function getById(int $id)
  20.     {
  21.         if ( $id 0) {
  22.             $contact $this->em->getRepository(Contact::class)->find($id);
  23.             if ($contact) {
  24.                 return $this->apiOk($contact);
  25.             }
  26.         }
  27.         return $this->apiKo("Contact non trouvé !!");
  28.     }
  29.     /**
  30.      * @Route("/{id}", name="api_Contact_delete", methods={"DELETE"})
  31.      * @param int $id
  32.      * @return JsonResponse
  33.      */
  34.     public function delete(int $id)
  35.     {
  36.         if ($id 0) {
  37.             $contact $this->em->getRepository(Contact::class)->find($id);
  38.             // 1 - Voir Régles de suppression de contacts avec malika
  39.             //$rdvs = $this->em->getRepository(Rdv::class)->findBy(["contact" => $contact]);
  40.            // if ($rdvs) {
  41.                 // Suppression Logique
  42.                 $contact->setActive(2);
  43.                 $this->em->persist($contact);
  44.                 $this->em->flush();
  45.                 return $this->apiOk($id);
  46.            /* } else {
  47.                 // Suppression Physique
  48.                 try {
  49.                     return $this->removeElement($contact);
  50.                 } catch (\Exception $e) {
  51.                     return $this->apiKo($e->getMessage());
  52.                 }
  53.             }*/
  54.         }
  55.         return $this->apiKo("Contact non trouvé !!");
  56.     }
  57.     /**
  58.      * @Route("/", name="api_Contact_save", methods={"POST"})
  59.      * @param Request $request
  60.      * @return JsonResponse
  61.      */
  62.     public function save(Request $request)
  63.     {
  64.         $data json_decode($request->getContent(), true);
  65.         if (isset($data['prospect']) && isset($data['prospect']['id'])) {
  66.             $prospect $this->getObject(Prospect::class,$data['prospect']['id']);
  67.         }
  68.         $contact $this->saveContact($prospect,$data);
  69.         if($contact instanceof Contact){
  70.             return $this->apiOk($contact);
  71.         }else{
  72.             return $this->apiKo($contact);
  73.         }
  74.     }
  75.     /**
  76.      * @Route("/find", name="api_Contact_find", methods={"POST"})
  77.      * @param Request $request
  78.      * @return JsonResponse
  79.      */
  80.     public function find(Request $request)
  81.     {
  82.         $data json_decode($request->getContent(), true);
  83.         $data['filter']['and']['contact.active'] = ' <> 2 '// ne pas affichier les elements supprimé logiquement
  84.         $sql "
  85.             SELECT contact 
  86.             FROM " Contact::class . " contact
  87.         ";
  88.         return $this->findElementsWithJoin($sql$data);
  89.     }
  90. }