1 package de.juplo.demos.pwreset.domain.ports.in;
3 import de.juplo.demos.pwreset.domain.internal.PasswordResetRequest;
4 import de.juplo.demos.pwreset.domain.internal.PasswordResetService;
5 import lombok.RequiredArgsConstructor;
7 import java.util.Optional;
11 @RequiredArgsConstructor
12 public class PasswordResetPort
14 private final PasswordResetService resetService;
17 public PasswordResetRequestProgressDTO createRequest(String email)
19 Optional<PasswordResetRequest> result =
20 resetService.findRequest(email);
21 PasswordResetRequest request =
22 result.orElseGet(() -> resetService.createRequest(email));
23 return PasswordResetRequestProgressDTO.from(request);
26 public PasswordResetRequestProgressDTO getRequest(UUID requestId)
28 return PasswordResetRequestProgressDTO.from(resetService.getRequest(requestId));
31 public PasswordResetRequestProgressDTO confirmRequest(UUID requestId, String code, String password)
33 return PasswordResetRequestProgressDTO.from(resetService.confirmRequest(requestId, code, password));