♻️ [Refactor] ChallengerStudyViewModel 이식#920
Open
jwon0523 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
resolves #891
✨ PR 유형
♻️ [Refactor] — 레거시
ChallengerStudyViewModel을ActivityPresentation(Tuist) 모듈로 이식📷 스크린샷 or 영상(UI 변경 시)
🛠️ 작업내용
ChallengerStudyViewModel(커리큘럼 조회 단일 책임)을ActivityPresentation모듈로 이식Loadable<CurriculumProgressModel>로 보유 — 신규FetchCurriculumUseCaseProtocol.execute()가 진행률만 반환(레거시CurriculumData·미션은 ♻️ Refactor: FetchCurriculumUseCase (Protocol + Impl) 이식 #749 에서 정의 위치 미확정으로 동결)@Observable+FetchCurriculumUseCaseProtocol단일 의존, 5단 에러 매핑(AppError 패스스루 → Domain → Network → Repository → unknown)arguments:파라미터화📋 추후 진행 상황
ChallengerStudyView이식 (본 ViewModel 이 선행 기반)CurriculumData/주차별 미션 정의 위치 확정 후 미션 카드 로딩 결선📌 리뷰 포인트
Loadable<CurriculumProgressModel>(레거시CurriculumData진행률+미션 대신) — 미션이 ♻️ Refactor: FetchCurriculumUseCase (Protocol + Impl) 이식 #749 에서 동결된 점을 반영한 선택이 적절한지AppError패스스루 →Domain/Network/Repository→unknown폴백 순서·누락 여부appErrorPassthrough케이스가unknown폴백과 결과로 구분되는지(조기catch as AppError동작 검증)FetchCurriculumUseCaseProtocol에만 의존(Repository 직접 의존·미사용 주입 없음)✅ Checklist
PR이 다음 요구 사항을 충족하는지 확인해주세요!!!