X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fdomain%2Fports%2Fin%2FPasswordResetRequestProgressDTO.java;fp=pwreset%2Fsrc%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemos%2Fpwreset%2Fdomain%2Fports%2Fin%2FPasswordResetRequestProgressDTO.java;h=beb91fdc4b43b518b3075d8889cdcb86199cb5c0;hb=7df01dd4a110b02cf438b8e24d0e8f7b9c025d00;hp=0000000000000000000000000000000000000000;hpb=4356061f7d4ce078b66b1dc0fe346af04dbf1b8f;p=demos%2Fpact diff --git a/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetRequestProgressDTO.java b/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetRequestProgressDTO.java new file mode 100644 index 0000000..beb91fd --- /dev/null +++ b/pwreset/src/main/java/de/juplo/demos/pwreset/domain/ports/in/PasswordResetRequestProgressDTO.java @@ -0,0 +1,44 @@ +package de.juplo.demos.pwreset.domain.ports.in; + +import de.juplo.demos.pwreset.domain.internal.PasswordResetProgress; +import de.juplo.demos.pwreset.domain.internal.PasswordResetRequest; +import de.juplo.demos.pwreset.domain.internal.PasswordResetRequestProgress; +import lombok.RequiredArgsConstructor; +import lombok.Value; + +import java.time.ZonedDateTime; +import java.util.Optional; +import java.util.UUID; + +import static de.juplo.demos.pwreset.domain.internal.PasswordResetProgress.Status.*; + + +@RequiredArgsConstructor +@Value +public class PasswordResetRequestProgressDTO +{ + private final UUID requestId; + private final boolean accepted; + private final String message; + private final Optional created; + private final Optional confirmed; + private final Optional accomplished; + + public static PasswordResetRequestProgressDTO from( + PasswordResetRequest request, + PasswordResetProgress progress) + { + return + new PasswordResetRequestProgressDTO( + request.getId(), + progress.getStatus() != CONFIRMATION_DENIED, + progress.getMessage(), + Optional.of(request.getCreated()), + progress.getStatus() == CONFIRMATION_DENIED + ? Optional.empty() + : Optional.of(request.getConfirmed()), + progress.getStatus() == ACCOMPLISHED + ? Optional.empty() + : Optional.of(request.getAccomplihed())); + } +}