Skip to content

[TODO] 회원 탈퇴 기능 구현 시 savedPartners 정리 및 getPartners 페이지네이션 수정 #20

Description

@coderabbitai

배경

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가 손상됩니다.


해결 과제

회원 탈퇴 기능 구현 시 아래 두 가지를 함께 처리해 주세요:

  1. Cleanup 로직 추가: 파트너(기업) 삭제 또는 회원 탈퇴 시, 모든 사용자의 savedPartners 배열에서 해당 partnerId를 제거하는 로직 구현
  2. 페이지네이션 메타데이터 수정: getPartnerstotal을 실제 활성(active) 파트너 수 기준으로 수정 (삭제된 파트너 제외)

참고

  • savedPartners 필드는 src/modules/users/schemas/user.schema.ts에 정의되어 있습니다.
  • 단기 대안으로, 응답 필드를 totalSaved / totalActive로 분리하는 방법도 고려할 수 있습니다.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions