diff --git a/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java b/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java index 7c0ccc7..c46f449 100644 --- a/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java +++ b/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java @@ -9,6 +9,7 @@ import org.patinanetwork.patchats.api.member.dto.UpdateMemberRequest; import org.patinanetwork.patchats.common.dto.ApiResponder; import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -37,11 +38,11 @@ public ResponseEntity> updateMember( return ResponseEntity.ok(ApiResponder.success("Member updated successfully", response)); } - // @GetMapping("/{id}") - // public ResponseEntity> getMember(@PathVariable final UUID id) { - // final MemberDto response = memberService.getMemberById(id); - // return ResponseEntity.ok(ApiResponder.success("Member retrieved successfully", response)); - // } + @GetMapping("/{id}") + public ResponseEntity> getMemberById(@PathVariable final UUID id) { + final MemberDto response = memberService.getMemberById(id); + return ResponseEntity.ok(ApiResponder.success("Member retrieved successfully", response)); + } // @DeleteMapping("/{id}") // public ResponseEntity> deactivateMember(@PathVariable final UUID id) { diff --git a/src/main/java/org/patinanetwork/patchats/api/member/MemberService.java b/src/main/java/org/patinanetwork/patchats/api/member/MemberService.java index 29c7c2e..01f2525 100644 --- a/src/main/java/org/patinanetwork/patchats/api/member/MemberService.java +++ b/src/main/java/org/patinanetwork/patchats/api/member/MemberService.java @@ -58,6 +58,7 @@ public MemberDto updateMember(UpdateMemberRequest request, UUID id) { return MemberDto.from(updatedMember); } + // Helper methods for updateMember private void validateAndUpdateRequired(Member member, UpdateMemberRequest request) { validateAndUpdate(request.firstName(), member::setFirstName, "firstName"); validateAndUpdate(request.lastName(), member::setLastName, "lastName"); @@ -98,13 +99,10 @@ private void updateOptional(Member member, UpdateMemberRequest request) { request.extraNotes().ifPresent(member::setExtraNotes); } - // TODO: Implement these methods after createMember and updateMember is fully functional and tested - // public MemberDto getMemberById(UUID id) { - // return memberRepo - // .getMemberById(id) - // .map(MemberDto::from) - // .orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "Member not found")); - // } + public MemberDto getMemberById(UUID id) { + Member member = memberRepo.getMemberById(id).orElseThrow(() -> new MemberNotFoundException(id)); + return MemberDto.from(member); + } // public MemberDto deactivateMember(UUID id) { // return memberRepo