배경
PR #19 ([FEAT] 마이비즈니스 도메인 API 구현) 리뷰 중 발견된 이슈로, 현재 회원 탈퇴 기능이 없어 의도적으로 defer된 작업입니다.
관련 코드: src/modules/my-business/my-business.service.ts (lines 75–78)
관련 PR 코멘트: #19 (comment)
요청자: @Takch02
문제
현재 getPartners의 페이지네이션에서 total = savedPartners.length를 사용하는데, 이는 DB에서 삭제된 파트너(기업)도 포함하여 계산합니다.
예: savedPartners에 21개가 있지만 5개가 삭제된 경우 → total: 21 / totalPages: 3을 반환하지만 실제 마지막 페이지는 빈 data: []가 올 수 있어 클라이언트 UX가 손상됩니다.
해결 과제
회원 탈퇴 기능 구현 시 아래 두 가지를 함께 처리해 주세요:
- Cleanup 로직 추가: 파트너(기업) 삭제 또는 회원 탈퇴 시, 모든 사용자의
savedPartners 배열에서 해당 partnerId를 제거하는 로직 구현
- 페이지네이션 메타데이터 수정:
getPartners의 total을 실제 활성(active) 파트너 수 기준으로 수정 (삭제된 파트너 제외)
참고
savedPartners 필드는 src/modules/users/schemas/user.schema.ts에 정의되어 있습니다.
- 단기 대안으로, 응답 필드를
totalSaved / totalActive로 분리하는 방법도 고려할 수 있습니다.
배경
PR #19 ([FEAT] 마이비즈니스 도메인 API 구현) 리뷰 중 발견된 이슈로, 현재 회원 탈퇴 기능이 없어 의도적으로 defer된 작업입니다.
관련 코드:
src/modules/my-business/my-business.service.ts(lines 75–78)관련 PR 코멘트: #19 (comment)
요청자: @Takch02
문제
현재
getPartners의 페이지네이션에서total = savedPartners.length를 사용하는데, 이는 DB에서 삭제된 파트너(기업)도 포함하여 계산합니다.예: savedPartners에 21개가 있지만 5개가 삭제된 경우 →
total: 21 / totalPages: 3을 반환하지만 실제 마지막 페이지는 빈data: []가 올 수 있어 클라이언트 UX가 손상됩니다.해결 과제
회원 탈퇴 기능 구현 시 아래 두 가지를 함께 처리해 주세요:
savedPartners배열에서 해당partnerId를 제거하는 로직 구현getPartners의total을 실제 활성(active) 파트너 수 기준으로 수정 (삭제된 파트너 제외)참고
savedPartners필드는src/modules/users/schemas/user.schema.ts에 정의되어 있습니다.totalSaved/totalActive로 분리하는 방법도 고려할 수 있습니다.