package eu.ztsh.wymiana.service; import eu.ztsh.wymiana.data.repository.UserRepository; import eu.ztsh.wymiana.exception.UserAlreadyExistsException; import eu.ztsh.wymiana.model.User; import eu.ztsh.wymiana.util.UserMapper; import eu.ztsh.wymiana.web.model.UserCreateRequest; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.Optional; @RequiredArgsConstructor @Service public class UserService { private final UserRepository userRepository; public User create(@Valid UserCreateRequest request) { if (userRepository.findById(request.pesel()).isPresent()) { throw new UserAlreadyExistsException(request); } return UserMapper.entityToPojo(userRepository.save(UserMapper.requestToEntity(request))); } public Optional get(String pesel) { return userRepository.findById(pesel).map(UserMapper::entityToPojo); } }