*/ class UserPasswordHasherProcessor implements ProcessorInterface { public function __construct( #[Autowire(service: 'api_platform.doctrine.orm.state.persist_processor')] private readonly ProcessorInterface $persistProcessor, private readonly UserPasswordHasherInterface $passwordHasher, ) {} public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []): mixed { if ($data instanceof User && null !== $data->getPlainPassword()) { $data->setPassword( $this->passwordHasher->hashPassword($data, $data->getPlainPassword()) ); $data->eraseCredentials(); } return $this->persistProcessor->process($data, $operation, $uriVariables, $context); } }