+++ /dev/null
-package de.juplo.demos.pwreset.adapter;
-
-import de.juplo.demos.pwreset.domain.User;
-import de.juplo.demos.pwreset.domain.UsersService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
-
-import java.util.Optional;
-
-
-@RequiredArgsConstructor
-public class RemoteUsersServiceConsumer implements UsersService
-{
- private final String uriTemplate;
- private final RestTemplate restTemplate;
-
-
- @Override
- public Optional<User> getUserByEmail(String email) {
- ResponseEntity<UserDTO> response =
- restTemplate.getForEntity(uriTemplate, UserDTO.class, email);
- HttpStatus status = response.getStatusCode();
- UserDTO dto = response.getBody();
- switch (response.getStatusCode()) {
- case OK:
- return
- Optional.of(
- User.builder()
- .id(dto.id)
- .email(dto.email)
- .build());
- case NOT_FOUND:
- return Optional.empty();
- default:
- throw new RuntimeException(status.toString());
- }
- }
-}