security->isGranted('ROLE_ADMIN')) { throw new AccessDeniedException('Access denied: ROLE_ADMIN required.'); } $prestataire = $this->prestataireRepository->findById($id); if (null === $prestataire) { throw new InvalidArgumentException(sprintf('Prestataire with ID %d not found.', $id)); } if (null !== $name) { $prestataire->setName($name); } if (null !== $email) { $prestataire->setEmail($email); } if (null !== $phone) { $prestataire->setPhone($phone); } if (null !== $website) { $prestataire->setWebsite($website); } $this->entityManager->flush(); return json_encode(Serializer::prestataire($prestataire)); } }