em = $em; $this->userRepository = $userRepository; $this->cryptoService = $cryptoService; $this->softwareActivationRepository = $softwareActivationRepository; } #[Route('/activation', name: 'software_activation')] public function activation(Request $request): JsonResponse { $id = $request->get('id'); $companyName = $request->get('CompanyName'); $companyMF = $request->get('CompanyMF'); $pcName = $request->get('PCName'); $partnerEmail = $request->get('Partner'); $disqueNom = $request->get('DisqueNom'); $disqueModel = $request->get('DisqueModel'); $disqueSerial = $request->get('DisqueSerial'); $user = null; $statu = 0; /* pour le code 0 | null --> n'ai pas encore activer 1 --> activer 2 --> La demande a été bien envoyer pour activé le logiciel n --> erreur */ if($id){ $softwareActivation = $this->softwareActivationRepository->find($id); }else{ $softwareActivation = $this->softwareActivationRepository->findOneBy(['disqueNom'=>$disqueNom, 'disqueModel'=>$disqueModel, 'disqueSerial'=>$disqueSerial]); } if($partnerEmail) { $user = $this->userRepository->findOneBy(['email'=>$partnerEmail]); if(!$user){ return new JsonResponse(['code'=>404, 'message'=>'partenaire inconnu', 'body'=>[]]); }else{ $partner = $user->getPartner(); if($partner){ if(!$partner->isActive()){ return new JsonResponse(['code'=>403, 'message'=>'Accès refusé au partner', 'body'=>[]]); } } } } if($softwareActivation) { if($softwareActivation->getStatu() == 1) { return new JsonResponse(['code'=>1, 'message'=>'true', 'body'=>[ 'Id'=>$softwareActivation->getId(), 'Date'=>$softwareActivation->getDateAddFormat('Y-m-d H:i:s'), 'DisqueNom'=>$this->cryptoService->chiffrer($disqueNom), 'DisqueModel'=>$this->cryptoService->chiffrer($disqueModel), 'DisqueSerial'=>$this->cryptoService->chiffrer($disqueSerial), ]]); }else{ return new JsonResponse(['code'=>0, 'message'=>"n'ai pas encore activer", 'body'=>[ 'Id'=>$softwareActivation->getId(), ]]); } }else{ $softwareActivation = $this->softwareActivationRepository->addSoftwareActivation($companyName, $companyMF, $pcName, $user, $disqueNom, $disqueModel, $disqueSerial, $statu); return new JsonResponse(['code'=>2, 'message'=>'La demande a été bien envoyer pour activé le logiciel', 'body'=>[ 'Id'=>$softwareActivation->getId(), ]]); } return new JsonResponse(['code'=>500, 'message'=>"erreur lors d'activation du logiciel", 'body'=>[]]); } }