*/
@Transactional
public VerificationToken sendLostPasswordToken(LostPasswordRequest lostPasswordRequest) {
validate(lostPasswordRequest);
VerificationToken token = null;
User user = userRepository.findByEmailAddress(lostPasswordRequest.getEmailAddress());
if (user != null) {
token = user.getActiveLostPasswordToken();
if (token == null) {
token = new VerificationToken(user, VerificationToken.VerificationTokenType.lostPassword,
config.getLostPasswordTokenExpiryTimeInMinutes());
user.addVerificationToken(token);
userRepository.save(user);
}
emailServicesGateway.sendVerificationToken(new EmailServiceTokenModel(user, token, getConfig().getHostNameUrl()));
}