feat(user/repository): eliminado uso de Optional al actualizar un usuario

parent 1f4b4979
package com.example.apprecetas.user.application.impl;
import com.example.apprecetas.exception.EntityNotFoundException;
import com.example.apprecetas.user.application.UpdateUserUseCase;
import com.example.apprecetas.user.domain.entity.User;
import com.example.apprecetas.user.domain.repository.ReadUserRepository;
......@@ -22,13 +21,8 @@ public class UpdateUserUseCaseImpl implements UpdateUserUseCase {
@Override
public User updateById(String id, User inputUser) {
UserDocument userDocument = readUserRepository.readById(id)
.orElseThrow(() -> new EntityNotFoundException("Usuario con id " + id + " no encontrado"));
UserDocument user = mapper.mapDocument(inputUser);
UserDocument modifiedUser = updateUserRepository.updateById(id, user).get();
UserDocument userDocument = mapper.mapDocument(inputUser);
UserDocument modifiedUser = updateUserRepository.updateById(id, userDocument);
return mapper.mapDocument(modifiedUser);
}
}
......@@ -2,10 +2,8 @@ package com.example.apprecetas.user.domain.repository;
import com.example.apprecetas.user.infrastructure.repository.mongodb.UserDocument;
import java.util.Optional;
public interface UpdateUserRepository {
Optional<UserDocument> updateById(String id, UserDocument userDocument);
UserDocument updateById(String id, UserDocument userDocument);
}
package com.example.apprecetas.user.infrastructure.repository.impl;
import com.example.apprecetas.exception.EntityNotFoundException;
import com.example.apprecetas.user.domain.repository.UpdateUserRepository;
import com.example.apprecetas.user.infrastructure.repository.mongodb.UserDocument;
import com.example.apprecetas.user.infrastructure.repository.mongodb.UserRepository;
......@@ -7,8 +8,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
@RequiredArgsConstructor
public class UpdateUserRepositoryImpl implements UpdateUserRepository {
......@@ -18,18 +17,17 @@ public class UpdateUserRepositoryImpl implements UpdateUserRepository {
private final PasswordEncoder passwordEncoder;
@Override
public Optional<UserDocument> updateById(String id, UserDocument userDocument) {
Optional<UserDocument> userJpaOptional = repositoryJpa.findById(id);
userJpaOptional.ifPresent(jpa -> {
jpa.setId(id);
jpa.setName(userDocument.getName());
jpa.setSurname(userDocument.getSurname());
jpa.setEmail(userDocument.getEmail());
if(userDocument.getPassword() != null)
jpa.setPassword(passwordEncoder.encode(userDocument.getPassword()));
});
return userJpaOptional.map(repositoryJpa::save);
public UserDocument updateById(String id, UserDocument userDocument) {
UserDocument user = repositoryJpa.findById(id)
.orElseThrow(() -> new EntityNotFoundException("Usuario con id " + id + " no encontrado"));
user.setName(userDocument.getName());
user.setSurname(userDocument.getSurname());
user.setEmail(userDocument.getEmail());
if (userDocument.getPassword() != null)
user.setPassword(passwordEncoder.encode(userDocument.getPassword()));
return repositoryJpa.save(user);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment