Skip to content

♻️ [Refactor] StudyRouter CRUD case 확장 + StudyRepository CRUD 실구현#919

Open
jwon0523 wants to merge 3 commits into
developfrom
refactor/886
Open

♻️ [Refactor] StudyRouter CRUD case 확장 + StudyRepository CRUD 실구현#919
jwon0523 wants to merge 3 commits into
developfrom
refactor/886

Conversation

@jwon0523

Copy link
Copy Markdown
Contributor

resolves #886

✨ PR 유형

♻️ [Refactor] — 레거시 AppProduct/의 스터디 그룹 CRUD를 신규 UMCApp/(Tuist) 모듈로 이식

📷 스크린샷 or 영상(UI 변경 시)

스크린샷 2026-06-27 오후 11 25 43 스크린샷 2026-06-27 오후 11 25 55

🛠️ 작업내용

8차 계획의 스터디 그룹 Data 레이어 CRUD를 완성합니다. #814에서 스텁으로 남겨둔 CRUD를 실구현으로 전환했습니다.

  • Request DTO 3종 이식StudyGroupCreateRequestDTO / StudyGroupUpdateRequestDTO / StudyGroupScheduleCreateRequestDTO
  • StudyRouter CRUD case 8종 확장 — 생성·수정·삭제 + 스터디원/멘토 추가·제거 + 일정 연결 (path·method·task 대칭 처리, 라우터 인라인 딕셔너리 없음)
  • StudyRepository CRUD 실구현 — 스텁 8종 → 실구현, 결과 없는 변경은 performVoidRequest 헬퍼로 통합, 미구현 표식 StudyRepositoryError enum 제거
  • 계약/단위 테스트 — Router(path/method/task) + Request DTO 인코딩 + Repository CRUD(성공/빈 본문/실패)

멤버·포인트 case와 "베스트 워크북"은 본 PR 범위 제외 (9차 멤버 Data 레이어).

📋 추후 진행 상황

  • 9차: OperatorStudyManagement Presentation (본 Data 레이어가 선행 기반)
  • 멤버·포인트 case 확장 (searchChallengersOffset 등)

📌 리뷰 포인트

핵심 의사결정 2가지를 중점적으로 봐주세요:

  1. 식별자 String 와이어 포맷 — 레거시 Request DTO는 ID를 정수로 전송했으나, 서버 정수 전 레이어 String 통일 규칙 + 형제 DecideAttendanceItemDTO(participantMemberId를 String 직렬화) 선례를 따라 문자열로 직렬화했습니다. 생성/멤버/멘토/일정 엔드포인트가 문자열 ID를 수용하는지 서버 스펙 확인 부탁드립니다.
  2. 경로 /api/v1/study-groups — 레거시 및 기존 이식 case와 동일하게 v1 사용 (코드베이스에 /api/v2/study-groups 부재).
  • StudyRepository.swiftperformVoidRequest의 빈 본문(2xx) 성공 처리 (DELETE 등 본문 없는 응답 대비)
  • StudyRouter.swift — CRUD case의 method/task 매핑 대칭성

✅ Checklist

PR이 다음 요구 사항을 충족하는지 확인해주세요!!!

@jwon0523 jwon0523 self-assigned this Jun 27, 2026
@jwon0523 jwon0523 added the 🔨 Refactor 코드 리팩토링 label Jun 27, 2026
@jwon0523 jwon0523 requested a review from JEONG-J June 27, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 Refactor 코드 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

♻️ Refactor: StudyRouter CRUD case 확장 + StudyRepository CRUD 실구현

1 participant