1 package de.juplo.demos.pwreset.adapters.in;
3 import de.juplo.demos.pwreset.api.domain.PasswordResetRequest;
4 import de.juplo.demos.pwreset.api.domain.PasswordRestService;
5 import lombok.RequiredArgsConstructor;
6 import org.springframework.stereotype.Controller;
7 import org.springframework.web.bind.annotation.*;
8 import org.springframework.web.servlet.ModelAndView;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12 import java.util.UUID;
16 @RequiredArgsConstructor
17 public class WebController
19 private final PasswordRestService passwordRestService;
23 public String requestForm()
29 public void resetRequest(
30 @RequestParam String email,
31 HttpServletResponse httpServletResponse)
35 PasswordResetRequest resetRequest = passwordRestService.request(email);
36 httpServletResponse.sendRedirect(resetRequest.getUserId().toString());
40 public ModelAndView getResetRequest(@PathVariable UUID id)
42 PasswordResetRequest resetRequest = passwordRestService.get(id);
43 ModelAndView mav = new ModelAndView("confirm");
48 public ModelAndView confirmResetRequest(
49 @PathVariable UUID id,
50 @RequestParam String code,
51 @RequestParam String password)
53 ModelAndView mav = new ModelAndView("confirm");
54 mav.addObject("code", code);
55 mav.addObject("password", password);
59 PasswordResetRequest resetRequest =
60 passwordRestService.confirm(
68 mav.addObject("message", e.getMessage());