Files

40 lines
2.3 KiB
Markdown

# PRD: 팬톡 작성/수정 응답 보강
## 1. Overview
`POST /explorer/profile/cheers`, `PUT /explorer/profile/cheers` 성공 응답의 `data`에 실제 저장/수정된 팬톡 데이터를 `CreatorChannelFanTalkResponse` 스키마로 내려준다.
## 2. Problem
- 현재 두 API는 성공 여부와 메시지만 확인할 수 있고, 클라이언트가 방금 작성/수정된 팬톡 데이터를 응답에서 바로 사용할 수 없다.
- 작성/수정 후 화면 반영을 위해 별도 조회가 필요해질 수 있다.
## 3. Goals
- 작성 API 성공 시 저장된 `CreatorCheers``CreatorChannelFanTalkResponse`로 변환해 `ApiResponse.data`에 포함한다.
- 수정 API 성공 시 수정 후 `CreatorCheers` 상태를 `CreatorChannelFanTalkResponse`로 변환해 `ApiResponse.data`에 포함한다.
- 기존 성공 메시지와 인증/차단/검증 흐름은 유지한다.
## 4. Non-Goals
- API endpoint 경로 변경 또는 신규 endpoint 추가는 하지 않는다.
- legacy `CreatorCheers` 저장 구조는 변경하지 않는다.
- FanTalk 탭 조회 API 응답 스키마는 변경하지 않는다.
## 5. Core Features
### Feature A: 작성/수정 응답 data 보강
#### Requirements
- `POST /explorer/profile/cheers` 반환 타입은 `ApiResponse<CreatorChannelFanTalkResponse>`가 되어야 한다.
- `PUT /explorer/profile/cheers` 반환 타입은 `ApiResponse<CreatorChannelFanTalkResponse>`가 되어야 한다.
- 응답 필드는 기존 V2 FanTalk 탭의 `CreatorChannelFanTalkResponse` 필드와 동일해야 한다.
- legacy `CreatorCheers`에서 응답을 만들 때 작성자 ID, 닉네임, 프로필 이미지 URL, 내용, UTC 생성 시각을 매핑한다.
- 작성/수정 직후 단일 팬톡 응답의 `creatorReplies`는 빈 목록으로 내려준다.
#### Edge Cases
- 작성자가 기본 프로필인 경우 기존 기본 프로필 URL 정책을 유지한다.
- 탈퇴 회원 prefix가 붙은 닉네임은 기존 제거 정책을 적용한다.
- 수정 요청에서 작성자 또는 크리에이터가 비활성 처리한 경우에도 수정 후 현재 row 상태를 응답한다.
## 6. Technical Constraints
- 기존 legacy controller/service를 직접 수정한다.
- 공개 응답 DTO는 기존 `CreatorChannelFanTalkResponse`를 재사용한다.
- 변경은 문서, 테스트, 최소 구현 범위로 제한한다.