diff --git a/src/main/java/com/example/demo/app/domain/model/AllocationModel.java b/src/main/java/com/example/demo/app/domain/model/AuthenticationModel.java similarity index 52% rename from src/main/java/com/example/demo/app/domain/model/AllocationModel.java rename to src/main/java/com/example/demo/app/domain/model/AuthenticationModel.java index 1f6a9c1..ec8db4b 100644 --- a/src/main/java/com/example/demo/app/domain/model/AllocationModel.java +++ b/src/main/java/com/example/demo/app/domain/model/AuthenticationModel.java @@ -5,10 +5,6 @@ import lombok.Getter; @Getter @AllArgsConstructor -public class AllocationModel { - - private Long categoryId; - private Long courseId; - private Integer allocationRatio; - +public class AuthenticationModel { + private Long userId; } diff --git a/src/main/java/com/example/demo/app/domain/model/CourseModel.java b/src/main/java/com/example/demo/app/domain/model/CourseModel.java deleted file mode 100644 index e9e8014..0000000 --- a/src/main/java/com/example/demo/app/domain/model/CourseModel.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.example.demo.app.domain.model; - -import java.util.List; - -import com.example.demo.app.infra.entity.CourseEntity; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -public class CourseModel { - - private Long courseId; - private String courseName; - private String description; - - public static CourseModel convertFrom(CourseEntity courseEntity) { - return new CourseModel( - courseEntity.getCourseId(), - courseEntity.getCourseName(), - courseEntity.getDescription()); - } - - public static List convertFrom(List courseEntityList) { - return courseEntityList.stream().map(CourseModel::convertFrom).toList(); - } -} diff --git a/src/main/java/com/example/demo/app/domain/model/UserModel.java b/src/main/java/com/example/demo/app/domain/model/UserModel.java index bb34609..1f79b0c 100644 --- a/src/main/java/com/example/demo/app/domain/model/UserModel.java +++ b/src/main/java/com/example/demo/app/domain/model/UserModel.java @@ -8,10 +8,9 @@ import lombok.Getter; @Getter @AllArgsConstructor public class UserModel { - private Long userId; private String userName; - private String emailAddress; + private String mailAddress; private String password; private Integer secretQuestionId; private String secretAnswer; @@ -19,7 +18,7 @@ public class UserModel { private Integer saving; private Integer annualIncome; private Integer monthlyBudget; - private Integer goalId; - private Integer courseId; + private Long goalId; + private Long courseId; private Integer deleteFlag; } diff --git a/src/main/java/com/example/demo/app/domain/service/AuthenticationService.java b/src/main/java/com/example/demo/app/domain/service/AuthenticationService.java new file mode 100644 index 0000000..824c752 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/AuthenticationService.java @@ -0,0 +1,9 @@ +package com.example.demo.app.domain.service; + +import com.example.demo.app.domain.model.AuthenticationModel; +import com.example.demo.app.presentation.form.AuthenticationForm; + +public interface AuthenticationService { + + AuthenticationModel authenticate(AuthenticationForm authenticationForm); +} diff --git a/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java b/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java new file mode 100644 index 0000000..ec1140e --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/PasswordResetService.java @@ -0,0 +1,8 @@ +package com.example.demo.app.domain.service; + +import com.example.demo.app.presentation.form.PasswordResetForm; + +public interface PasswordResetService { + + boolean resetPassword(Long userId, PasswordResetForm passwordResetForm); +} diff --git a/src/main/java/com/example/demo/app/domain/service/UserService.java b/src/main/java/com/example/demo/app/domain/service/UserService.java new file mode 100644 index 0000000..4a7a338 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/UserService.java @@ -0,0 +1,8 @@ +package com.example.demo.app.domain.service; + +import com.example.demo.app.presentation.form.UserForm; + +public interface UserService { + + void register(UserForm userForm); +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/AuthenticationServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/AuthenticationServiceImpl.java new file mode 100644 index 0000000..89ac9f4 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/AuthenticationServiceImpl.java @@ -0,0 +1,42 @@ +package com.example.demo.app.domain.service.impl; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.model.AuthenticationModel; +import com.example.demo.app.domain.service.AuthenticationService; +import com.example.demo.app.infra.entity.UserEntity; +import com.example.demo.app.infra.repository.UserRepository; +import com.example.demo.app.presentation.form.AuthenticationForm; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class AuthenticationServiceImpl implements AuthenticationService { + + private final UserRepository userRepository; + + @Override + public AuthenticationModel authenticate(AuthenticationForm authenticationForm) { + + UserEntity userEntity = userRepository.findByMailAddress( + authenticationForm.getMailAddress()) + .orElse(null); + + if (userEntity == null) { + return null; + } + + if (!userEntity.getQuestionEntity().getSecretQuestionId() + .equals(authenticationForm.getSecretQuestionId())) { + return null; + } + + if (!userEntity.getSecretQuestionAnswer() + .equals(authenticationForm.getSecretAnswer())) { + return null; + } + + return new AuthenticationModel(userEntity.getUserId()); + } +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java new file mode 100644 index 0000000..2866cea --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/PasswordResetServiceImpl.java @@ -0,0 +1,41 @@ +package com.example.demo.app.domain.service.impl; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.service.PasswordResetService; +import com.example.demo.app.infra.entity.UserEntity; +import com.example.demo.app.infra.repository.UserRepository; +import com.example.demo.app.presentation.form.PasswordResetForm; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class PasswordResetServiceImpl implements PasswordResetService { + + private final UserRepository userRepository; + + @Override + public boolean resetPassword( + Long userId, + PasswordResetForm passwordResetForm) { + + if (!passwordResetForm.getPassword() + .equals(passwordResetForm.getPasswordConfirm())) { + return false; + } + + UserEntity userEntity = + userRepository.findById(userId).orElse(null); + + if (userEntity == null) { + return false; + } + + userEntity.setPassword(passwordResetForm.getPassword()); + + userRepository.save(userEntity); + + return true; + } +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..a74f42b --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/UserServiceImpl.java @@ -0,0 +1,58 @@ +package com.example.demo.app.domain.service.impl; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.service.UserService; +import com.example.demo.app.infra.entity.CourseEntity; +import com.example.demo.app.infra.entity.GoalEntity; +import com.example.demo.app.infra.entity.QuestionEntity; +import com.example.demo.app.infra.entity.UserEntity; +import com.example.demo.app.infra.repository.CourseRepository; +import com.example.demo.app.infra.repository.GoalRepository; +import com.example.demo.app.infra.repository.QuestionRepository; +import com.example.demo.app.infra.repository.UserRepository; +import com.example.demo.app.presentation.form.UserForm; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class UserServiceImpl implements UserService { + + private final UserRepository userRepository; + private final QuestionRepository questionRepository; + private final GoalRepository goalRepository; + private final CourseRepository courseRepository; + + @Override + public void register(UserForm userForm) { + + UserEntity userEntity = new UserEntity(); + + userEntity.setUserName(userForm.getUserName()); + userEntity.setMailAddress(userForm.getMailAddress()); + userEntity.setPassword(userForm.getPassword()); + userEntity.setSecretQuestionAnswer(userForm.getSecretAnswer()); + userEntity.setBirthDate(userForm.getBirthDate()); + userEntity.setSaving(userForm.getSaving()); + userEntity.setAnnualIncome(userForm.getAnnualIncome()); + userEntity.setMonthlyBudget(userForm.getMonthlyBudget()); + + QuestionEntity questionEntity = + questionRepository.findById(userForm.getSecretQuestionId()).orElse(null); + + GoalEntity goalEntity = + goalRepository.findById(userForm.getGoalId()).orElse(null); + + CourseEntity courseEntity = + courseRepository.findById(userForm.getCourseId()).orElse(null); + + userEntity.setQuestionEntity(questionEntity); + userEntity.setGoalEntity(goalEntity); + userEntity.setCourseEntity(courseEntity); + + userEntity.setDeleteFlag(0); + + userRepository.save(userEntity); + } +} diff --git a/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java b/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java index bd15a2c..8a6d1a0 100644 --- a/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java @@ -1,26 +1,20 @@ package com.example.demo.app.infra.entity; -import java.util.List; - import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.Id; -import jakarta.persistence.IdClass; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToOne; import jakarta.persistence.Table; -import com.example.demo.app.domain.model.AllocationModel; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Entity -@IdClass(AllocationId.class) -@Table(name = "allocation_m") +@Table(name = "allocation") @Data @NoArgsConstructor @AllArgsConstructor @@ -38,16 +32,5 @@ public class AllocationEntity { @Column(name = "allocation_ratio", nullable = false) private Integer allocationRatio; - - - public static List createAllocationModelList(List allocationEntityList) { - return allocationEntityList - .stream() - .map(allocationEntity -> new AllocationModel( - allocationEntity.getCategoryEntity().getCategoryId(), - allocationEntity.getCourseEntity().getCourseId(), - allocationEntity.getAllocationRatio() - )).toList(); - } } diff --git a/src/main/java/com/example/demo/app/infra/entity/AllocationId.java b/src/main/java/com/example/demo/app/infra/entity/AllocationId.java deleted file mode 100644 index 3812864..0000000 --- a/src/main/java/com/example/demo/app/infra/entity/AllocationId.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.demo.app.infra.entity; - -import java.io.Serializable; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -public class AllocationId implements Serializable { - private Long categoryEntity; - - private Long courseEntity; -} diff --git a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java index 3afec50..995ac6b 100644 --- a/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/CourseEntity.java @@ -6,19 +6,18 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; import jakarta.persistence.OneToMany; import jakarta.persistence.OneToOne; import jakarta.persistence.Table; -import com.example.demo.app.domain.model.CourseModel; +import org.springframework.data.annotation.Id; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Entity -@Table(name = "course_m") +@Table(name = "course") @Data @NoArgsConstructor @AllArgsConstructor @@ -40,18 +39,6 @@ public class CourseEntity { private List userEntity; @OneToOne(mappedBy = "courseEntity") - private AllocationEntity allocationEntity; - - - public static List createCourseModelList(List courseEntityList) { - - return courseEntityList - .stream() - .map(courseEntity -> new CourseModel( - courseEntity.getCourseId(), - courseEntity.getCourseName(), - courseEntity.getDescription() - )).toList(); - } + private List allocationEntity; } diff --git a/src/main/java/com/example/demo/app/infra/entity/QuestionEntity.java b/src/main/java/com/example/demo/app/infra/entity/QuestionEntity.java index 1eb3503..a028437 100644 --- a/src/main/java/com/example/demo/app/infra/entity/QuestionEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/QuestionEntity.java @@ -29,7 +29,7 @@ public class QuestionEntity { @Column(name = "question_text", nullable = false) private String questionText; - @OneToMany(mappedBy = "questionEntity") + @OneToMany(mappedBy = "QuestionEntity") private List userEntity; } diff --git a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java index 5dc0ece..838632d 100644 --- a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java +++ b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java @@ -7,7 +7,6 @@ import org.springframework.data.jpa.repository.Query; import com.example.demo.app.domain.model.CourseInfoModel; import com.example.demo.app.infra.entity.AllocationEntity; -import com.example.demo.app.infra.entity.AllocationId; public interface AllocationRepository extends JpaRepository{ @@ -28,5 +27,5 @@ public interface AllocationRepository extends JpaRepository findAllJoinedAllocation(); - + } diff --git a/src/main/java/com/example/demo/app/presentation/controller/AuthenticationController.java b/src/main/java/com/example/demo/app/presentation/controller/AuthenticationController.java new file mode 100644 index 0000000..5cf8569 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/controller/AuthenticationController.java @@ -0,0 +1,56 @@ +package com.example.demo.app.presentation.controller; + +import jakarta.servlet.http.HttpSession; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import com.example.demo.app.domain.model.AuthenticationModel; +import com.example.demo.app.domain.service.AuthenticationService; +import com.example.demo.app.infra.repository.QuestionRepository; +import com.example.demo.app.presentation.form.AuthenticationForm; + +import lombok.RequiredArgsConstructor; + +@Controller +@RequiredArgsConstructor +public class AuthenticationController { + + private final AuthenticationService authenticationService; + private final QuestionRepository questionRepository; + + @GetMapping("/authentication") + public String showAuthentication(Model model) { + + model.addAttribute("authenticationForm", new AuthenticationForm()); + model.addAttribute("questionList", questionRepository.findAll()); + + return "authentication"; + } + + @PostMapping("/authentication") + public String authenticate( + AuthenticationForm authenticationForm, + Model model, + HttpSession session) { + + AuthenticationModel authenticationModel = + authenticationService.authenticate(authenticationForm); + + if (authenticationModel == null) { + model.addAttribute("errorMessage", "認証情報が正しくありません。"); + model.addAttribute("questionList", questionRepository.findAll()); + + return "authentication"; + } + + session.setAttribute( + "passwordResetUserId", + authenticationModel.getUserId()); + + return "password_reset"; + + } +} diff --git a/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java b/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java new file mode 100644 index 0000000..b5fcfba --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/controller/PasswordResetController.java @@ -0,0 +1,61 @@ +package com.example.demo.app.presentation.controller; + +import jakarta.servlet.http.HttpSession; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import com.example.demo.app.domain.service.PasswordResetService; +import com.example.demo.app.presentation.form.PasswordResetForm; + +import lombok.RequiredArgsConstructor; + +@Controller +@RequiredArgsConstructor +public class PasswordResetController { + + private final PasswordResetService passwordResetService; + + @GetMapping("/password_reset") + public String showPasswordReset(Model model) { + + model.addAttribute( + "passwordResetForm", + new PasswordResetForm()); + + return "password_reset"; + } + + @PostMapping("/password_reset") + public String resetPassword( + PasswordResetForm passwordResetForm, + Model model, + HttpSession session) { + + Long userId = + (Long) session.getAttribute("passwordResetUserId"); + + if (userId == null) { + return "redirect:/login"; + } + + boolean isReset = + passwordResetService.resetPassword( + userId, + passwordResetForm); + + if (!isReset) { + model.addAttribute( + "errorMessage", + "パスワードが一致していません。"); + + return "password_reset"; + } + + session.removeAttribute("passwordResetUserId"); + + return "redirect:/login"; + } +} diff --git a/src/main/java/com/example/demo/app/presentation/controller/UserController.java b/src/main/java/com/example/demo/app/presentation/controller/UserController.java new file mode 100644 index 0000000..2914032 --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/controller/UserController.java @@ -0,0 +1,35 @@ +package com.example.demo.app.presentation.controller; + +import jakarta.servlet.http.HttpSession; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; + +import com.example.demo.app.presentation.form.UserForm; + +import lombok.RequiredArgsConstructor; + +@Controller +@RequiredArgsConstructor +public class UserController { + + @GetMapping("/user/register") + public String showRegister(Model model) { + model.addAttribute("userForm", new UserForm()); + return "user_register"; + } + + @PostMapping("/user/register/confirm") + public String confirmRegister( + @ModelAttribute UserForm userForm, + HttpSession session) { + + session.setAttribute("userForm", userForm); + + return "user_register_confirm"; + } + +} diff --git a/src/main/java/com/example/demo/app/presentation/form/AuthenticationForm.java b/src/main/java/com/example/demo/app/presentation/form/AuthenticationForm.java new file mode 100644 index 0000000..2c27a5d --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/AuthenticationForm.java @@ -0,0 +1,14 @@ +package com.example.demo.app.presentation.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AuthenticationForm { + private String mailAddress; + private Integer secretQuestionId; + private String secretAnswer; +} diff --git a/src/main/java/com/example/demo/app/presentation/form/CourseForm.java b/src/main/java/com/example/demo/app/presentation/form/CourseForm.java deleted file mode 100644 index 57ba52e..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/CourseForm.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CourseForm { - - private Long courseId; - private String courseName; - private String description; - - - public static CourseForm convertFrom(CourseModel courseModel) { - return new CourseForm( - courseModel.getCourseId(), - courseModel.getCourseName(), - courseModel.getDescription() - ); - } - - public static List convertFrom(List courseModelList){ - return courseModelList.stream().map(CourseForm::convertFrom).toList(); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java b/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java deleted file mode 100644 index addce2f..0000000 --- a/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.example.demo.app.presentation.form; - -import java.util.List; - -import com.example.demo.app.domain.model.CourseInfoModel; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class CourseInfoForm { - - private Long courseId; - - private String courseName; - - private Long categoryId; - - private String categoryName; - - private Integer allocationRatio; - - - public static CourseInfoForm convertFrom(CourseInfoModel courseInfoModel ) { - return new CourseInfoForm(courseInfoModel.getCategoryId(), courseInfoModel.getCourseName(), courseInfoModel.getCategoryId(), courseInfoModel.getCategoryName(), courseInfoModel.getAllocationRatio()); - } - - public static List convertFrom(List courseInfoModelList ) { - return courseInfoModelList.stream().map(CourseInfoForm::convertFrom).toList(); - } - - public static CourseInfoModel convertTo(CourseInfoForm courseInfoForm) { - return new CourseInfoModel( - courseInfoForm.getCourseId(), - courseInfoForm.getCourseName(), - courseInfoForm.getCategoryId(), - courseInfoForm.getCategoryName(), - courseInfoForm.getAllocationRatio()); - } - -} diff --git a/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java b/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java new file mode 100644 index 0000000..3213e1b --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/PasswordResetForm.java @@ -0,0 +1,13 @@ +package com.example.demo.app.presentation.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PasswordResetForm { + private String password; + private String passwordConfirm; +} diff --git a/src/main/java/com/example/demo/app/presentation/form/UserForm.java b/src/main/java/com/example/demo/app/presentation/form/UserForm.java new file mode 100644 index 0000000..e51f23f --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/UserForm.java @@ -0,0 +1,24 @@ +package com.example.demo.app.presentation.form; + +import java.time.LocalDate; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserForm { + private String userName; + private String mailAddress; + private String password; + private Long secretQuestionId; + private String SecretAnswer; + private LocalDate birthDate; + private Integer saving; + private Integer annualIncome; + private Integer monthlyBudget; + private Long goalId; + private Long courseId; +} diff --git a/src/main/resources/templates/Authentication.html b/src/main/resources/templates/Authentication.html new file mode 100644 index 0000000..336b3cc --- /dev/null +++ b/src/main/resources/templates/Authentication.html @@ -0,0 +1,53 @@ + + + + + + 認証 + + + +
+

本人認証確認

+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+ +
+ +
+
+ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/password_reset.html b/src/main/resources/templates/password_reset.html new file mode 100644 index 0000000..522fd4b --- /dev/null +++ b/src/main/resources/templates/password_reset.html @@ -0,0 +1,42 @@ + + + + +パスワード再設定 + + +
+ +
+

パスワード再設定

+ +
+
+ + +
+ +
+ + +
+ + +
+ +
+

+
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/user_register_confirm.html b/src/main/resources/templates/user_register_confirm.html index aad56dd..2b35041 100644 --- a/src/main/resources/templates/user_register_confirm.html +++ b/src/main/resources/templates/user_register_confirm.html @@ -1,5 +1,5 @@ - + 新規会員登録確認