diff --git a/docs/20260224_SNS카카오오픈채팅전환.md b/docs/20260224_SNS카카오오픈채팅전환.md index 7c741b58..35b9497f 100644 --- a/docs/20260224_SNS카카오오픈채팅전환.md +++ b/docs/20260224_SNS카카오오픈채팅전환.md @@ -6,6 +6,9 @@ - [x] 회원 정보 수정 API(`ProfileUpdateRequest`, `MemberService.profileUpdate`) 반영 - [x] SNS 정보를 반환하는 API 응답(`ProfileResponse`, `MyPageResponse`, `CreatorResponse`, `GetCreatorDetailResponse`, `GetLiveRoomUserProfileResponse`, `GetRoomDetailManager`) 반영 - [x] LSP 진단/테스트/빌드 검증 및 결과 기록 +- [x] 2차 수정: non-null Response 호환성을 위해 `GetCreatorDetailResponse`의 `websiteUrl`, `blogUrl` 복구 +- [x] 2차 수정: non-null Response 호환성을 위해 `GetLiveRoomUserProfileResponse`의 `websiteUrl`, `blogUrl` 복구 +- [x] 2차 수정 검증: 테스트/빌드 재실행 및 결과 기록 ## 검증 기록 @@ -17,3 +20,11 @@ - 정적 진단: `lsp_diagnostics` 실행 시 `.kt` LSP 미구성으로 불가(환경 제약 확인) - 동작 검증: `./gradlew test && ./gradlew build` 실행 - 결과: `BUILD SUCCESSFUL` (test 성공 후 build 성공) + +- 2차 수정 + - 무엇을: non-null Response에서 제거되었던 `websiteUrl`, `blogUrl` 필드를 `GetCreatorDetailResponse`, `GetLiveRoomUserProfileResponse`에 복구했다. 동시에 각 서비스 매핑에서 해당 필드를 다시 응답에 포함했다. + - 왜: 필수 응답 키 제거로 인한 하위 호환성 이슈를 해소하기 위해서다. + - 어떻게: + - 코드 반영: `GetCreatorDetailResponse`, `ExplorerService`, `GetLiveRoomUserProfileResponse`, `LiveRoomService` + - 동작 검증: `./gradlew test && ./gradlew build` 실행 + - 결과: `BUILD SUCCESSFUL` (test 성공 후 build 성공) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt index a8eac5e5..9ee7cdcf 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt @@ -248,6 +248,8 @@ class ExplorerService( fancimmUrl = creatorAccount.fancimmUrl, xUrl = creatorAccount.xUrl, youtubeUrl = creatorAccount.youtubeUrl, + websiteUrl = creatorAccount.websiteUrl, + blogUrl = creatorAccount.blogUrl, kakaoOpenChatUrl = creatorAccount.websiteUrl ) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCreatorDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCreatorDetailResponse.kt index e190ce87..835714d6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCreatorDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCreatorDetailResponse.kt @@ -10,5 +10,7 @@ data class GetCreatorDetailResponse( val fancimmUrl: String, val xUrl: String, val youtubeUrl: String, + val websiteUrl: String, + val blogUrl: String, val kakaoOpenChatUrl: String ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/GetLiveRoomUserProfileResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/GetLiveRoomUserProfileResponse.kt index cfbb15a9..b2d2cabb 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/GetLiveRoomUserProfileResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/GetLiveRoomUserProfileResponse.kt @@ -9,6 +9,8 @@ data class GetLiveRoomUserProfileResponse( val fancimmUrl: String, val xUrl: String, val youtubeUrl: String, + val websiteUrl: String, + val blogUrl: String, val kakaoOpenChatUrl: String, val introduce: String, val tags: String, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index bd8502c5..04a230f7 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -1123,6 +1123,8 @@ class LiveRoomService( fancimmUrl = user.fancimmUrl, xUrl = user.xUrl, youtubeUrl = user.youtubeUrl, + websiteUrl = user.websiteUrl, + blogUrl = user.blogUrl, kakaoOpenChatUrl = user.websiteUrl, introduce = user.introduce, tags = user.tags