From 2dbcba67ba08b15e757d5c5120a335b12b7d6083 Mon Sep 17 00:00:00 2001 From: Anjihee Date: Sat, 19 Aug 2023 13:56:55 +0900 Subject: [PATCH] =?UTF-8?q?[FEAT]=20=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EB=8B=89=EB=84=A4=EC=9E=84,=20=EB=B9=84=EB=B0=80?= =?UTF-8?q?=EB=B2=88=ED=98=B8,=20=ED=94=84=EB=A1=9C=ED=95=84=20=EC=82=AC?= =?UTF-8?q?=EC=A7=84=20=EB=B3=80=EA=B2=BD=20=EC=BD=94=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wonderwoman/edit/EditController.java | 73 +++++++++++++++++++ .../wonderwoman/member/entity/Member.java | 4 + 2 files changed, 77 insertions(+) create mode 100644 src/main/java/com/example/wonderwoman/edit/EditController.java diff --git a/src/main/java/com/example/wonderwoman/edit/EditController.java b/src/main/java/com/example/wonderwoman/edit/EditController.java new file mode 100644 index 0000000..8fb4898 --- /dev/null +++ b/src/main/java/com/example/wonderwoman/edit/EditController.java @@ -0,0 +1,73 @@ +package com.example.wonderwoman.edit; +import com.example.wonderwoman.login.CurrentUser; +import com.example.wonderwoman.member.entity.Member; +import com.example.wonderwoman.member.repository.MemberRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.Optional; + +@RestController +@RequestMapping("/edit") +public class EditController { + + private final MemberRepository memberRepository; + private final PasswordEncoder passwordEncoder; + + @Autowired + public EditController(MemberRepository memberRepository, PasswordEncoder passwordEncoder) { + this.memberRepository = memberRepository; + this.passwordEncoder = passwordEncoder; + } + + @PostMapping("/change-nickname") + public String changeNickname(@PathVariable Long userId, @RequestParam String newNickname) { + Optional optionalMember = memberRepository.findById(userId); + + if (optionalMember.isPresent()) { + Member member = optionalMember.get(); + member.updateNickname(newNickname); + memberRepository.save(member); + return "Nickname changed successfully."; + } else { + return "Member not found."; + } + } + + @PostMapping("/change-password") + public String changePassword(@PathVariable Long userId, @RequestParam String currentPassword, @RequestParam String newPassword) { + Optional optionalMember = memberRepository.findById(userId); + + if (optionalMember.isPresent()) { + Member member = optionalMember.get(); + if (passwordEncoder.matches(currentPassword, member.getPassword())) { + String newPasswordEncoded = passwordEncoder.encode(newPassword); + member.updatePassword(newPasswordEncoded); + memberRepository.save(member); + return "Password changed successfully."; + } else { + return "Current password is incorrect."; + } + } else { + return "Member not found."; + } + } + + @PostMapping("/change-image-url") + public String changeImageUrl(@PathVariable Long userId, @RequestParam String newImageUrl) { + Optional optionalMember = memberRepository.findById(userId); + + if (optionalMember.isPresent()) { + Member member = optionalMember.get(); + member.updateImage(newImageUrl); + memberRepository.save(member); + return "Image URL changed successfully."; + } else { + return "Member not found."; + } + } + +} diff --git a/src/main/java/com/example/wonderwoman/member/entity/Member.java b/src/main/java/com/example/wonderwoman/member/entity/Member.java index 44ac524..9b09803 100644 --- a/src/main/java/com/example/wonderwoman/member/entity/Member.java +++ b/src/main/java/com/example/wonderwoman/member/entity/Member.java @@ -55,6 +55,10 @@ public void updatePassword(String password) { this.password = password; } + public void updateNickname(String nickname) { + this.password = nickname; + } + public void updateImage(String imgUrl) { this.imgUrl = imgUrl; }