-
Notifications
You must be signed in to change notification settings - Fork 0
[Feature/#149] 마이페이지 구현 완료 #150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Caution Review failedThe pull request is closed. Walkthrough마이페이지 탈퇴 기능을 신설하고 네비게이션/화면/뷰모델/도메인/데이터/원격 API를 일괄 추가·확장했다. 저장소(DataStore) 기반 자동로그인 플래그 저장 로컬 데이터소스를 도입했다. 장소 목록 엔티티에 townId를 추가하고 관련 매핑을 갱신했다. 컬렉션 화면의 선택 모드 전달 방식을 슬롯 기반으로 변경했다. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant MS as MainScreen
participant MN as MainNavigator
participant WG as WithdrawNavGraph
participant WR as WithdrawRoute/Screen
participant VM as WithdrawViewModel
participant REP as MypageRepository
participant REM as MypageService
participant LDS as DataStore(Local)
U->>MS: 마이페이지에서 "탈퇴" 선택
MS->>MN: navigateToWithdraw()
MN->>WG: navigate Withdraw
WG->>WR: Compose WithdrawRoute
WR->>VM: Intent.Init
VM->>REP: getWithdrawList()
REP->>REM: GET /api/users/withdraw/reasons
REM-->>REP: withdraw list
REP-->>VM: Result<List<WithdrawEntity>>
VM-->>WR: 상태 업데이트(리스트 표시)
U->>WR: 항목 선택/사유 입력
U->>WR: "탈퇴하기" 클릭
WR->>VM: Intent.WithdrawButtonClick (→ 다이얼로그 표시)
U->>WR: 다이얼로그 확인
WR->>VM: Intent.DialogConfirmClick
VM->>REP: deleteUser(type, reason)
REP->>REM: DELETE /api/users/withdraw (body)
REM-->>REP: NullableBaseResponse<Unit>
REP-->>VM: Result<Unit>
VM->>REP: saveAutoSignIn(false)
REP->>LDS: updateData(autoSignIn=false)
LDS-->>REP: 완료
VM-->>WR: SideEffect.NavigateToOauth
WR->>MN: navigateToOauth()
sequenceDiagram
autonumber
actor U as User
participant MP as MypageRoute
participant VM as MypageViewModel
participant REP as MypageRepository
participant REM as MypageService
participant MAP as Maps
U->>MP: "저장한 장소 전체보기" 클릭
MP->>VM: Intent.PlaceAllClick
VM-->>MP: placeAllState = true
MP->>VM: (초기 로드) getReportPlaceList
VM->>REP: getReportPlaceList(userId)
REP->>REM: GET /api/users/{id}/places
REM-->>REP: PlaceListResponseDto(townId 포함)
REP-->>VM: Result<List<PlaceInfoEntity>>
VM-->>MP: 상태 업데이트(그리드 표시)
U->>MP: 카드 클릭(placeId, townId)
MP->>VM: Intent.PlaceCardClick
VM-->>MP: SideEffect.NavigateToMap(placeId, townId)
MP->>MAP: 지도 상세 이동
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (38)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📌 PR 요약
🌱 작업한 내용
🌱 PR 포인트
📸 스크린샷
📮 관련 이슈
Summary by CodeRabbit