- /api/chat/character/image/my-list 엔드포인트 추가 - 로그인/본인인증 체크 - 캐릭터 프로필 이미지를 리스트 맨 앞에 포함 - 보유 이미지(무료 또는 구매 이력 존재)만 노출 - CloudFront 서명 URL 발급로 접근 제어 - 페이징 로직 개선 - 기존: 전체 조회 후 메모리에서 필터링/슬라이싱 - 변경: QueryDSL로 DB 레벨에서 보유 이미지만 오프셋/리밋 조회 - 프로필 아이템(인덱스 0) 포함을 고려하여 owned offset/limit 계산 - 빈 페이지 요청 시 즉시 빈 결과 반환 - Repository - CharacterImageQueryRepository + Impl 추가 - findOwnedActiveImagesByCharacterPaged(...) 구현 - 구매 이력: CHAT_MESSAGE_PURCHASE, CHARACTER_IMAGE_PURCHASE만 인정, 환불 제외 - 활성 이미지, sortOrder asc, id asc 정렬 + offset/limit - Service - getCharacterImagePath(characterId) 추가 - pageOwnedActiveByCharacterForMember(...) 추가 - Controller - my-list 응답 스키마는 list와 동일하게 totalCount/ownedCount/items 유지 - 페이지 사이즈 상한 20 적용, 5분 만료 서명 URL |
||
---|---|---|
gradle/wrapper | ||
scripts | ||
src | ||
.editorconfig | ||
.gitignore | ||
README.md | ||
appspec.yml | ||
build.gradle.kts | ||
gradlew | ||
gradlew.bat | ||
settings.gradle.kts |