X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fpact;a=blobdiff_plain;f=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fdomain%2Fports%2Fin%2FPasswordResetPort.java;fp=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fdomain%2Fports%2Fin%2FPasswordResetPort.java;h=7f8a3f0b1603e0b85c6ca56b351528e5c6a29f1d;hp=0000000000000000000000000000000000000000;hb=7df01dd4a110b02cf438b8e24d0e8f7b9c025d00;hpb=4356061f7d4ce078b66b1dc0fe346af04dbf1b8f diff --git a/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetPort.java b/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetPort.java new file mode 100644 index 0000000..7f8a3f0 --- /dev/null +++ b/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetPort.java @@ -0,0 +1,35 @@ +package de.juplo.demos.pwreset.domain.ports.in; + +import de.juplo.demos.pwreset.domain.internal.PasswordResetRequest; +import de.juplo.demos.pwreset.domain.internal.PasswordResetService; +import lombok.RequiredArgsConstructor; + +import java.util.Optional; +import java.util.UUID; + + +@RequiredArgsConstructor +public class PasswordResetPort +{ + private final PasswordResetService resetService; + + + public PasswordResetRequestProgressDTO createRequest(String email) + { + Optional result = + resetService.findRequest(email); + PasswordResetRequest request = + result.orElseGet(() -> resetService.createRequest(email)); + return PasswordResetRequestProgressDTO.from(request); + } + + public PasswordResetRequestProgressDTO getRequest(UUID requestId) + { + return PasswordResetRequestProgressDTO.from(resetService.getRequest(requestId)); + } + + public PasswordResetRequestProgressDTO confirmRequest(UUID requestId, String code, String password) + { + return PasswordResetRequestProgressDTO.from(resetService.confirmRequest(requestId, code, password)); + } +}