diff --git a/src/main/java/se/ton/t210/controller/MemberController.java b/src/main/java/se/ton/t210/controller/MemberController.java index 7c674d5..1365049 100644 --- a/src/main/java/se/ton/t210/controller/MemberController.java +++ b/src/main/java/se/ton/t210/controller/MemberController.java @@ -51,8 +51,8 @@ public ResponseEntity sendEmailAuthMail(@Valid @Email String email) { } @PostMapping("/api/reset/userInfo") - public ResponseEntity resetUserInfo(@RequestBody ResetPersonalInfoRequest request) { - final Member member = new Member(1L, "홍길동", "email@pawd.com", "password", ApplicationType.PoliceOfficerMale); + public ResponseEntity resetUserInfo(@LoginMember LoginMemberInfo member, + @RequestBody ResetPersonalInfoRequest request) { memberService.resetUserInfo(member, request); return ResponseEntity.ok().build(); } diff --git a/src/main/java/se/ton/t210/service/MemberService.java b/src/main/java/se/ton/t210/service/MemberService.java index 29424c7..bc1bae5 100644 --- a/src/main/java/se/ton/t210/service/MemberService.java +++ b/src/main/java/se/ton/t210/service/MemberService.java @@ -159,8 +159,11 @@ public MemberPersonalInfoResponse getPersonalInfo(String accessToken) { return memberRepository.getMemberByEmail(email); } - public void resetUserInfo(Member member, ResetPersonalInfoRequest request) { + public void resetUserInfo(LoginMemberInfo memberInfo, ResetPersonalInfoRequest request) { + Member member = memberRepository.findById(memberInfo.getId()).orElseThrow(() -> { + throw new AuthException(HttpStatus.CONFLICT, "Email is not exists"); + } + ); member.resetPersonalInfo(request); - memberRepository.save(member); } } diff --git a/src/main/resources/static/js/setting-account.js b/src/main/resources/static/js/setting-account.js index cdeca26..a816fe4 100644 --- a/src/main/resources/static/js/setting-account.js +++ b/src/main/resources/static/js/setting-account.js @@ -25,12 +25,12 @@ document.addEventListener("DOMContentLoaded", function () { console.log(event.target.textContent); if (event.target.textContent === "경찰직공무원(남)" || event.target.textContent === "경찰직공무원(여)") { - imgElement.src ="../files/type_icon4.png"; // 경찰직 이미지 경로로 변경 + imgElement.src = "../files/type_icon4.png"; // 경찰직 이미지 경로로 변경 } else if (event.target.textContent === "소방직공무원(남)" || event.target.textContent === "소방직공무원(여)") { - imgElement.src ="../files/type_icon2.jpeg"; // 소방직 이미지 경로로 변경 + imgElement.src = "../files/type_icon2.jpeg"; // 소방직 이미지 경로로 변경 } else if (event.target.textContent === "교정직공무원(남)" || event.target.textContent === "교정직공무원(여)") { - imgElement.src ="../files/type_icon3.png";// 교정직 이미지 경로로 변경 - } + imgElement.src = "../files/type_icon3.png";// 교정직 이미지 경로로 변경 + } dropdownText.id = event.target.id; dropdown.classList.remove("active"); } @@ -138,7 +138,7 @@ document.addEventListener("DOMContentLoaded", function () { passwordInput2.addEventListener("input", checkPasswordMatch) const signUpBtn = document.querySelector(".button2"); - signUpBtn.addEventListener("click", function () { + signUpBtn.addEventListener("click", async function () { if (!passwordMachResult) { sAlert("비밀번호가 일치하지 않습니다.") // alert("Passwords must match."); @@ -146,10 +146,32 @@ document.addEventListener("DOMContentLoaded", function () { } else { console.log(passwordMachResult); // Call API to save password 여기서 저장 api 호출~~!! + const restPassword = passwordInput.value + const resetApplicationTypeKey = dropdownText.id + + // 회원가입 - 서버에 요청 + const userData = { + password: restPassword, + applicationType: resetApplicationTypeKey + }; + try { + const response = await fetch(currentDomain + "/api/reset/userInfo", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(userData), + }); + if (!response.ok) { + const data = await response.text(); + throw new Error(data || "회원 정보 수정 실패"); + } + sAlert("회원정보 수정이 완료되었습니다."); + } catch (error) { + sAlert("수정에 실패했습니다."); + } } }); - - }); // Password toggle @@ -206,16 +228,16 @@ async function fetchMemberInfo() { console.log("applicationTypeStandardName:", applicationTypeStandardName); - dropdownText.textContent=applicationTypeStandardName; - nameInput.textContent=name; - emailInput.textContent=email; + dropdownText.textContent = applicationTypeStandardName; + nameInput.textContent = name; + emailInput.textContent = email; if (applicationTypeStandardName === "경찰직공무원(남)" || applicationTypeStandardName === "경찰직공무원(여)") { - imgElement.src ="../files/type_icon4.png"; // 경찰직 이미지 경로로 변경 + imgElement.src = "../files/type_icon4.png"; // 경찰직 이미지 경로로 변경 } else if (applicationTypeStandardName === "소방직공무원(남)" || applicationTypeSta쇼ndardName === "소방직공무원(여)") { - imgElement.src ="../files/type_icon2.jpeg"; // 소방직 이미지 경로로 변경 + imgElement.src = "../files/type_icon2.jpeg"; // 소방직 이미지 경로로 변경 } else if (applicationTypeStandardName === "교정직공무원(남)" || applicationTypeStandardName === "교정직공무원(여)") { - imgElement.src ="../files/type_icon3.png";// 교정직 이미지 경로로 변경 -} + imgElement.src = "../files/type_icon3.png";// 교정직 이미지 경로로 변경 + } } async function fetchApplicationTypeName() {