Sound On Demand For Adult
Go to file
Klaus 48b0190242 feat(character-image): 보유 이미지 전용 목록 API 추가 및 DB 페이징 적용
- /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
2025-08-26 23:52:30 +09:00
gradle/wrapper gradle 설정 - daemon, configureondemand true로 변경 2023-07-24 14:50:09 +09:00
scripts CodeDeploy 스크립트 추가 2023-07-21 19:45:23 +09:00
src feat(character-image): 보유 이미지 전용 목록 API 추가 및 DB 페이징 적용 2025-08-26 23:52:30 +09:00
.editorconfig first commit 2023-07-21 16:25:53 +09:00
.gitignore feat: .junie/, .kiro/ 폴더 이하 파일들 git에 포함되지 않도록 코드 추가 2025-08-05 16:41:53 +09:00
README.md first commit 2023-07-21 16:25:53 +09:00
appspec.yml CodeDeploy 스크립트 추가 2023-07-21 19:45:23 +09:00
build.gradle.kts feat: 커뮤니티 글 등록/수정 2025-07-03 15:26:35 +09:00
gradlew first commit 2023-07-21 16:25:53 +09:00
gradlew.bat first commit 2023-07-21 16:25:53 +09:00
settings.gradle.kts first commit 2023-07-21 16:25:53 +09:00

README.md

소다라이브(Sound of Demand for Adult)