Bonjour!
J'ai mis en place une méthode put&patch pour mes Users.
Le soucis c'est que je n'arrive pas à encoder le password avec cette méthode.
Lorsqu'il est modifié, il apparait en dur dans la base de données...
Est-ce que quelqu'un aurait une idée?
Merci d'avance!
J'ai mis en place une méthode put&patch pour mes Users.
Le soucis c'est que je n'arrive pas à encoder le password avec cette méthode.
Lorsqu'il est modifié, il apparait en dur dans la base de données...
/**
* Edit user PUT
*
* @Route("/api/users/{id<\d+>}", name="api_users_put", methods={"PUT", "PATCH"})
*/
public function putAndPatch(User $user = null, EntityManagerInterface $em, SerializerInterface $serializer, Request $request, ValidatorInterface $validator)
{
//404
if($user === null)
{
return $this->json(["error" => "Utilisateur non trouvé."], Response::HTTP_NOT_FOUND);
}
$jsonContent = $request->getContent();
// Deserializes given data from front in the User object to modify
$userMod = $serializer->deserialize($jsonContent, User::class, 'json', [AbstractNormalizer::OBJECT_TO_POPULATE => $user]);
// Deserialized entity validation
$errors = $validator->validate($user);
// Errors generation with 422 status
if(count($errors) > 0)
{
return $this->json($this->generateErrors($errors), Response::HTTP_UNPROCESSABLE_ENTITY);
}
$em->flush();
return $this->json(["message" => "Informations modifiées."], Response::HTTP_OK);
}
Est-ce que quelqu'un aurait une idée?
Merci d'avance!