# 20260328 콘텐츠 조회 파라미터 제거 및 비로그인 기본값 고정 ## 목적 - 모든 API에서 `isAdultContentVisible`, `contentType` 요청 파라미터를 제거한다. - 비로그인 사용자는 항상 `isAdultContentVisible = false`, `contentType = ContentType.ALL`로 처리한다. - 로그인 사용자는 기존과 동일하게 `MemberContentPreference` 기반 로직을 유지한다. ## 구현 체크리스트 - [x] `isAdultContentVisible`, `contentType`를 받는 잔여 API 시그니처를 모두 제거한다. - QA: `grep("@RequestParam(\"isAdultContentVisible\"|@RequestParam(\"contentType\")")` 결과가 0인지 확인 - [x] 연관 서비스 메서드 시그니처/호출부를 정리한다. - QA: `compileKotlin` 성공으로 시그니처 불일치가 없는지 확인 - [x] 비로그인 기본값을 `false/ALL`로 고정한다. - QA: 익명 분기 `ViewerContentPreference(false/ALL)` 코드 확인 + 관련 테스트 통과 - [x] 로그인 분기는 기존 `memberContentPreferenceService.resolveForQuery(member = member)` 흐름을 유지한다. - QA: 관련 컨트롤러/서비스에서 로그인 분기 호출 유지 확인 - [x] 회귀 검증을 수행한다. - QA: `./gradlew test`, `./gradlew build` 성공 ## 구현 완료 후 기록 ### 1차 구현 - 무엇을: - 잔여 API 파라미터를 전부 제거했다. - `HomeController`, `LiveApiController`, `LiveRoomController`, `AudioContentController`, `AudioContentMainTabHomeController` - 연관 서비스 시그니처와 호출부를 정리했다. - `HomeService`, `LiveApiService`, `LiveRoomService` - 비로그인 분기 기본값을 `ViewerContentPreference(isAdultContentVisible = false, contentType = ContentType.ALL, isAdult = false)`로 고정했다. - 왜: - 요청사항이 “모든 API에서 해당 파라미터 제거 + 비로그인 기본값 고정 + 로그인 기존 동작 유지”로 명확했기 때문이다. - 어떻게: - 명령: - `./gradlew compileKotlin compileTestKotlin` - `grep("@RequestParam(\"isAdultContentVisible\"|@RequestParam(\"contentType\")", include="*Controller.kt")` - `ast-grep: ViewerContentPreference(isAdultContentVisible = false, contentType = ContentType.ALL)` - `./gradlew test` - `./gradlew build` - `lsp_diagnostics`(수정된 `.kt` 파일 대상) - 결과: - 컴파일 성공(`compileKotlin`, `compileTestKotlin`). - 컨트롤러의 `@RequestParam("isAdultContentVisible")`, `@RequestParam("contentType")` 검색 결과 0건. - 비로그인 기본값 고정 분기 5개 위치 확인(`HomeService`, `LiveApiService`, `LiveRoomService`, `AudioContentController`, `AudioContentMainTabHomeController`). - `./gradlew test` 성공. - `./gradlew build` 성공. - 현재 환경은 Kotlin LSP 서버 미구성으로 `lsp_diagnostics(.kt)` 실행 불가였고, Gradle 컴파일/테스트/빌드로 정합성 검증 완료.