X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fpact;a=blobdiff_plain;f=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fadapters%2Fout%2FUsersServiceGateway.java;fp=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fadapters%2Fout%2FUsersServiceGateway.java;h=53b9d6022a0b2e24ab6555eccc721ac5087f984e;hp=0000000000000000000000000000000000000000;hb=7df01dd4a110b02cf438b8e24d0e8f7b9c025d00;hpb=4356061f7d4ce078b66b1dc0fe346af04dbf1b8f diff --git a/pwreset/src/main/java/de/juplo/demos/pwreset/adapters/out/UsersServiceGateway.java b/pwreset/src/main/java/de/juplo/demos/pwreset/adapters/out/UsersServiceGateway.java new file mode 100644 index 0000000..53b9d60 --- /dev/null +++ b/pwreset/src/main/java/de/juplo/demos/pwreset/adapters/out/UsersServiceGateway.java @@ -0,0 +1,48 @@ +package de.juplo.demos.pwreset.adapters.out; + +import de.juplo.demos.pwreset.domain.ports.out.UsersPort; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; + +import java.util.Optional; +import java.util.UUID; + + +@RequiredArgsConstructor +public class UsersServiceGateway implements UsersPort +{ + private final String uriTemplate; + private final RestTemplate restTemplate; + + + @Override + public Optional getUserByEmail(String email) + { + ResponseEntity response = + restTemplate.getForEntity(uriTemplate, UserDTO.class, email); + + HttpStatus status = response.getStatusCode(); + UserDTO dto = response.getBody(); + + switch (response.getStatusCode()) + { + case OK: + return + Optional.of(dto.id); + + case NOT_FOUND: + return Optional.empty(); + + default: + throw new RuntimeException(status.toString()); + } + } + + @Override + public void setPassword(UUID userId, String password) + { + + } +}