From da393e3aa0278c3644596f020c24702f98b60c54 Mon Sep 17 00:00:00 2001 From: Allison Lee Date: Tue, 11 Aug 2026 12:14:36 -0400 Subject: [PATCH 1/2] Implement getMemberById endpoint --- .../patchats/api/member/MemberController.java | 10 +++++----- .../patchats/api/member/db/repos/MemberSqlRepo.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) 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..bb87126 100644 --- a/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java +++ b/src/main/java/org/patinanetwork/patchats/api/member/MemberController.java @@ -37,11 +37,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/db/repos/MemberSqlRepo.java b/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java index cabf9a8..7f50399 100644 --- a/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java +++ b/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java @@ -95,7 +95,7 @@ public Member createMember(Member member) { } @Override - public List getMembers() { + public List getAllMembers() { String sql = "SELECT * FROM members ORDER BY created_at DESC, id"; return jdbc.sql(sql).query((rs, rowNum) -> parseResultSetToMember(rs)).list(); } From fe5de8bc94152e9a55dd77350b586d34d110b91e Mon Sep 17 00:00:00 2001 From: allimonae Date: Tue, 11 Aug 2026 17:18:17 -0400 Subject: [PATCH 2/2] Implement getMemberById --- .../patchats/api/member/MemberController.java | 1 + .../patchats/api/member/MemberService.java | 12 +++++------- .../patchats/api/member/db/repos/MemberSqlRepo.java | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) 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 bb87126..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; 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 diff --git a/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java b/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java index 7f50399..cabf9a8 100644 --- a/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java +++ b/src/main/java/org/patinanetwork/patchats/api/member/db/repos/MemberSqlRepo.java @@ -95,7 +95,7 @@ public Member createMember(Member member) { } @Override - public List getAllMembers() { + public List getMembers() { String sql = "SELECT * FROM members ORDER BY created_at DESC, id"; return jdbc.sql(sql).query((rs, rowNum) -> parseResultSetToMember(rs)).list(); }