security->isGranted('ROLE_ADMIN')) { throw new AccessDeniedException('Access denied: ROLE_ADMIN required.'); } $contact = $this->contactRepository->findById($id); if (null === $contact) { throw new InvalidArgumentException(sprintf('Contact with ID %d not found.', $id)); } if (null !== $firstName) { $contact->setFirstName($firstName); } if (null !== $lastName) { $contact->setLastName($lastName); } if (null !== $jobTitle) { $contact->setJobTitle($jobTitle); } if (null !== $email) { $contact->setEmail($email); } if (null !== $phonePrimary) { $contact->setPhonePrimary($phonePrimary); } if (null !== $phoneSecondary) { $contact->setPhoneSecondary($phoneSecondary); } $this->entityManager->flush(); return json_encode(Serializer::contact($contact)); } }