fix(api): 콘텐츠 설정 PATCH 제외 API 파라미터를 제거한다
This commit is contained in:
68
docs/20260327_제외API콘텐츠설정파라미터제거.md
Normal file
68
docs/20260327_제외API콘텐츠설정파라미터제거.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 20260327 제외 API 콘텐츠 설정 파라미터 제거
|
||||
|
||||
## 개요
|
||||
- `PATCH /member/content-preference`를 제외한 모든 API 요청에서 `isAdultContentVisible`, `contentType` 파라미터를 제거한다.
|
||||
- 콘텐츠 설정 동기화 API(`PATCH /member/content-preference`)의 요청/응답 구조와 호출 흐름은 유지한다.
|
||||
|
||||
## 요구사항 요약
|
||||
- 유지 대상 API: `PATCH /member/content-preference`
|
||||
- 제거 대상: 유지 대상 API를 제외한 나머지 API 요청 파라미터의 `isAdultContentVisible`, `contentType`
|
||||
|
||||
## 완료 기준 (Acceptance Criteria)
|
||||
- [x] AC1: `PATCH /member/content-preference` 외 API 정의에서 `isAdultContentVisible`/`contentType` 요청 파라미터가 제거된다.
|
||||
- [x] AC2: 제거에 따라 연쇄되는 Repository/Request 모델 시그니처가 정합성 있게 정리된다.
|
||||
- [x] AC3: `PATCH /member/content-preference` 요청/응답 필드(`isAdultContentVisible`, `contentType`)는 유지된다.
|
||||
- [x] AC4: 정적 진단/빌드/수동 QA(검색 검증) 결과가 통과 또는 사유와 함께 기록된다.
|
||||
|
||||
## 구현 체크리스트
|
||||
- [x] API 타깃(`HomeApi`, `LiveApi`, `SearchApi`, `ContentApi`, `SeriesApi`, `SeriesMainApi`, `ExplorerApi`) 파라미터 제거
|
||||
- [x] 연관 Repository 메서드 시그니처 및 호출부 인자 정리
|
||||
- [x] `PATCH /member/content-preference` 체인(`UserApi`, `UpdateContentPreferenceRequest/Response`, `ContentSettingsViewModel`) 유지 확인
|
||||
- [x] 진단/빌드/수동 QA 실행
|
||||
- [x] 검증 기록 문서화
|
||||
|
||||
## 검증 계획
|
||||
- [x] 정적 진단:
|
||||
- `lsp_diagnostics` on modified Swift files
|
||||
- [x] 빌드:
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
|
||||
- [x] 테스트 시도:
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
|
||||
- [x] 수동 QA:
|
||||
- `grep` 기반으로 `/member/content-preference` PATCH 외 API 요청 파라미터 잔존 여부 확인
|
||||
|
||||
## 검증 기록
|
||||
- 일시: 2026-03-27
|
||||
- 무엇: 제외 API 콘텐츠 설정 파라미터 제거 작업 계획 문서 작성
|
||||
- 왜: 변경 범위와 완료 기준을 선행 고정해 요청사항을 정확히 반영하기 위함
|
||||
- 어떻게: docs 규칙에 맞춰 완료 기준/체크리스트/검증 계획 수립
|
||||
- 실행 명령/도구: `apply_patch(문서 생성)`
|
||||
- 결과: 구현 계획 문서 생성 완료
|
||||
|
||||
- 일시: 2026-03-27
|
||||
- 무엇: `PATCH /member/content-preference` 제외 API의 `isAdultContentVisible`/`contentType` 요청 파라미터 제거
|
||||
- 왜: 콘텐츠 설정 PATCH API를 제외한 다른 API에서 두 파라미터를 전송하지 않도록 하기 위함
|
||||
- 어떻게:
|
||||
- API 타깃(`HomeApi`, `LiveApi`, `SearchApi`, `ContentApi`, `SeriesApi`, `SeriesMainApi`, `ExplorerApi`) case 시그니처와 `task` 파라미터 딕셔너리에서 두 필드를 제거
|
||||
- 연관 Repository 호출부에서 `UserDefaults` 기반 인자 전달 제거
|
||||
- `GetRoomListRequest`의 `isAdultContentVisible` 필드 및 `LiveViewModel` 생성 인자 제거
|
||||
- `PATCH /member/content-preference` 체인(`UserApi.updateContentPreference`, `UpdateContentPreferenceRequest/Response`) 유지 검증
|
||||
- 실행 명령/도구:
|
||||
- 정적 진단: `lsp_diagnostics` (수정 파일 전체)
|
||||
- 빌드:
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
|
||||
- 테스트 시도:
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test`
|
||||
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test`
|
||||
- 수동 QA(검색 검증):
|
||||
- `grep("isAdultContentVisible\\s*:", path="SodaLive/Sources")`
|
||||
- `grep("contentType\\s*:", path="SodaLive/Sources")`
|
||||
- `grep("updateContentPreference|member/content-preference", path="SodaLive/Sources/User/UserApi.swift")`
|
||||
- 결과:
|
||||
- 빌드: `SodaLive`, `SodaLive-dev` Debug 빌드 모두 `BUILD SUCCEEDED`
|
||||
- 테스트: 두 스킴 모두 `Scheme ... is not currently configured for the test action`으로 실행 불가(테스트 액션 미구성)
|
||||
- `lsp_diagnostics`: SourceKit 환경에서 외부 모듈(`Moya`, `CombineMoya`) 해석 한계로 모듈 미해결 에러가 반환됨
|
||||
- 수동 QA: `isAdultContentVisible`/`contentType`는 설정 동기화 체인과 응답 모델/화면 상태에만 남고, `/member/content-preference` PATCH 외 API 요청 파라미터에서는 제거됨
|
||||
Reference in New Issue
Block a user