31 lines
970 B
Java
31 lines
970 B
Java
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<User> get(String pesel) {
|
|
return userRepository.findById(pesel).map(UserMapper::entityToPojo);
|
|
}
|
|
|
|
}
|