Skip to content

Conversation

@dahyun24
Copy link
Contributor

@dahyun24 dahyun24 commented Nov 21, 2025

🔗 연관된 이슈

🚀 변경 유형

  • ✨ 기능 추가 (feature)
  • 🐛 버그 수정 (fix)
  • 📝 문서 변경 (docs)
  • ♻️ 리팩토링 (refactor)
  • 🧪 테스트 추가 / 수정 (test)
  • ⚙️ 설정 변경 (chore)

📝 작업 내용

  • 치즈네컷 원본 이미지에서 썸네일 이미지 제공으로 수정

📸 스크린샷

스크린샷 2025-11-21 오후 11 56 08

💬 리뷰 요구사항

📜 리뷰 규칙

Reviewer는 아래 P5 Rule을 참고하여 리뷰를 진행합니다.
P5 Rule을 통해 Reviewer는 Reviewee에게 리뷰의 의도를 보다 정확히 전달할 수 있습니다.

  • P1: 꼭 반영해주세요 (Comment)
  • P2: 적극적으로 고려해주세요 (Comment)
  • P3: 웬만하면 반영해 주세요 (Comment)
  • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
  • P5: 그냥 사소한 의견입니다 (Approve)

Summary by CodeRabbit

릴리스 노트

  • 버그 수정

    • 앨범 및 미리보기 이미지가 이제 썸네일 형식으로 최적화되어 제공됩니다.
    • API 응답의 이미지 URL이 표준화되었습니다.
  • 문서

    • API 문서에서 이미지 URL 설명을 업데이트했습니다.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

Walkthrough

원본 이미지 URL을 썸네일 URL로 교체하고, 관련 API 문서와 Swagger 스키마 설명을 업데이트한 변경사항입니다. 서비스 로직, 데이터 타입, 공개 인터페이스의 구조적 변화는 없습니다.

Changes

코호트 / 파일 변경 요약
서비스 로직 업데이트
src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java
getCheese4cutByAlbumCodegetPreviewResponse 메서드에서 p.getImageUrl()p.getThumbnailImageUrl() 또는 p.getThumbnailUrl()로 변경하여 썸네일 URL을 반환하도록 수정
응답 DTO 스키마 업데이트
src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java
FinalPhotoInfo 레코드의 @Schema 설명 업데이트: photoId 설명을 "원본 사진 ID"에서 "사진 ID"로, imageUrl 설명을 "사진 원본 URL"에서 "사진 썸네일 URL"로 변경
응답 DTO 스키마 업데이트
src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutPreviewResponse.java
PreviewPhotoInfo 레코드의 imageUrl 필드 @Schema 설명을 "사진 원본 URL"에서 "사진 썸네일 URL"로 변경
API 문서 업데이트
src/main/java/com/cheeeese/cheese4cut/presentation/swagger/Cheese4cutSwagger.java
Swagger 문서의 API 설명에서 원본 URL 참조를 썸네일 URL 참조로 변경 (finalized 상태와 관계없이)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • 주의 사항: Cheese4cutService.java에서 getThumbnailImageUrl()getThumbnailUrl() 메서드명이 일관성 없게 사용되는 부분 확인 필요
  • 확인 항목: 썸네일 URL 필드명이 실제로 이 두 메서드를 통해 올바르게 해석되는지 검증

Possibly related PRs

  • feat: 썸네일 생성 및 callback API 구현 #31: 이번 PR과 연관된 주요 PR로, 서비스 응답에서 썸네일 URL(thumbnailImageUrl/thumbnailUrl)을 사용하도록 변경하며, 이는 해당 PR에서 도입된 썸네일 필드 및 콜백/업데이트 흐름에 의존합니다.

Suggested labels

🐛bug, 📝docs

Suggested reviewers

  • zyovn

Poem

🐰 원본에서 썸네일로, 조용히 전환하고
문서 다듬어 더욱 명확하게 ✨
일관된 모습으로 단정히 정렬하니
사진들은 더욱 가볍고 빠르게 떠오르네 🥬

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경 사항의 핵심을 명확하게 요약하고 있습니다. 원본 이미지에서 썸네일 이미지 제공으로의 변경이 모든 수정 파일에 일관되게 반영되어 있습니다.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/#89-thumbnail

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@dahyun24 dahyun24 self-assigned this Nov 21, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutPreviewResponse.java (1)

49-49: 예시 URL이 변경 사항과 일치하지 않습니다.

description은 "사진 썸네일 URL"로 올바르게 수정되었지만, example URL에 여전히 /original/ 경로가 포함되어 있습니다. 썸네일을 제공하는 것으로 변경되었다면, 예시 URL도 실제 썸네일 경로를 반영하도록 업데이트하는 것이 좋습니다.

src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java (1)

36-36: 예시 URL이 변경 사항과 일치하지 않습니다.

description은 "사진 썸네일 URL"로 올바르게 업데이트되었지만, example URL에 /original/ 경로가 포함되어 있어 실제 썸네일 URL 형식과 다를 수 있습니다. 예시를 실제 썸네일 경로로 수정하는 것을 권장합니다.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fa3de3a and 9179577.

📒 Files selected for processing (4)
  • src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java (2 hunks)
  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java (1 hunks)
  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutPreviewResponse.java (1 hunks)
  • src/main/java/com/cheeeese/cheese4cut/presentation/swagger/Cheese4cutSwagger.java (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-31T13:17:52.523Z
Learnt from: dahyun24
Repo: Say-Cheeeese/BE PR: 35
File: src/main/java/com/cheeeese/photo/application/PhotoService.java:46-52
Timestamp: 2025-10-31T13:17:52.523Z
Learning: In src/main/java/com/cheeeese/photo/application/PhotoService.java, the getRecentThumbnailUrls method intentionally returns only the first thumbnail URL when photos.size() < 5, rather than returning all available thumbnails. This is according to product requirements: 0 photos → empty list, 1-4 photos → single thumbnail (most recent), 5 photos → all 5 thumbnails.

Applied to files:

  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutPreviewResponse.java
  • src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java
  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java
📚 Learning: 2025-11-13T12:56:22.161Z
Learnt from: dahyun24
Repo: Say-Cheeeese/BE PR: 58
File: src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java:149-156
Timestamp: 2025-11-13T12:56:22.161Z
Learning: In src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java, the finalizeCheese4cut method intentionally re-sorts photos using findAllByIdInOrderByLikesDescCreatedDesc(request.photoIds()) instead of preserving the client's requested order. This is a defensive measure to ensure photos are always ordered by likes (DESC) and creation time (DESC), regardless of what order the client sends, preventing incorrect ordering from client errors.

Applied to files:

  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutPreviewResponse.java
  • src/main/java/com/cheeeese/cheese4cut/presentation/swagger/Cheese4cutSwagger.java
  • src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java
  • src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java
🔇 Additional comments (3)
src/main/java/com/cheeeese/cheese4cut/dto/response/Cheese4cutFinalResponse.java (1)

33-33: LGTM!

"원본" 용어를 제거하여 더 일반적인 설명으로 변경한 것이 적절합니다.

src/main/java/com/cheeeese/cheese4cut/presentation/swagger/Cheese4cutSwagger.java (1)

34-35: LGTM!

API 설명이 썸네일 URL 제공으로 명확하게 업데이트되었습니다.

src/main/java/com/cheeeese/cheese4cut/application/Cheese4cutService.java (1)

69-69: 리뷰 코멘트는 부정확합니다. 다른 엔티티 타입에 적절한 메서드 명명입니다.

검증 결과, 두 라인에서 호출하는 메서드는 다른 엔티티 타입에 속한 것으로 확인되었습니다:

  • Line 69: Cheese4cutPhoto 엔티티의 thumbnailImageUrl 필드에 대한 getThumbnailImageUrl() 호출
  • Line 113: Photo 엔티티의 thumbnailUrl 필드에 대한 getThumbnailUrl() 호출

각 엔티티가 서로 다른 필드명을 가지고 있으므로 getter 메서드명이 다른 것은 올바른 설계입니다.

Likely an incorrect or invalid review comment.

@dahyun24 dahyun24 linked an issue Nov 21, 2025 that may be closed by this pull request
@dahyun24 dahyun24 merged commit 3739257 into develop Nov 21, 2025
1 check passed
@zyovn zyovn deleted the fix/#89-thumbnail branch November 21, 2025 17:13
@zyovn zyovn added the 🐛bug Something isn't working label Nov 26, 2025
@zyovn zyovn changed the title #89 fix: 원본 이미지에서 썸네일 이미지 제공으로 수정 fix: 원본 이미지에서 썸네일 이미지 제공으로 수정 Nov 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: 치즈네컷 이미지 썸네일로 제공

3 participants