Skip to content

fix(store): 찜한 매장 카드 이미지를 상품 대표 이미지로 통일 - #217

Merged
chanwoo7 merged 1 commit into
developfrom
fix/store-wishlist-card-images
Aug 26, 2026
Merged

fix(store): 찜한 매장 카드 이미지를 상품 대표 이미지로 통일#217
chanwoo7 merged 1 commit into
developfrom
fix/store-wishlist-card-images

Conversation

@chanwoo7

@chanwoo7 chanwoo7 commented Aug 26, 2026

Copy link
Copy Markdown
Member

배경

이슈 #216 반영입니다.
myWishlistedStores 카드의 imageUrls가 매장 대표 이미지(StoreImage)를 쓰고 있어, 인기 매장 카드(PopularStore.cakeImageUrls, 상품 대표 이미지)와 소스가 달랐습니다.
같은 매장이 화면마다 다른 이미지로 보이고, 셀러가 매장 대표 이미지를 등록하지 않으면 찜 목록 카드만 비는 문제가 있어 상품 이미지 방식으로 통일합니다.

주요 결정 사항

  • 기존 findStoreCakeImages를 재사용하고 limit 파라미터만 추가.
    인기 매장(4장)·오늘픽업 호출부는 기본값으로 기존 동작을 유지하고, 찜 카드만 3장으로 제한합니다.
  • 평점 집계와 이미지 조회를 Promise.all로 병렬화.
  • 목록 쿼리의 store_images select는 제거했습니다(더 이상 사용하지 않음).

검증

  • yarn validate 통과 (190 suites / 1,636 tests).
  • 회귀 테스트 교체 2건: 최신 상품 3장 우선·이미지 없는 매장 빈 배열 / 삭제 이미지·비활성 상품 제외.

Closes #216

이슈 #216 반영.
myWishlistedStores 카드의 imageUrls가 매장 대표 이미지(StoreImage)를 쓰고 있어
인기 매장 카드(PopularStore.cakeImageUrls, 상품 대표 이미지)와 소스가 달랐다 —
같은 매장이 화면마다 다른 이미지로 보이고, 매장 대표 이미지 미등록 시 카드가 비는 문제.

변경점:
- StoreRepository.findStoreCakeImages에 limit 파라미터 추가(기본값 기존 4장 유지)
- StoreWishlistService: StoreImage 대신 findStoreCakeImages(3장) 재사용,
  평점 집계와 Promise.all 병렬화
- StoreWishlistRepository: 목록 select에서 store_images 제거
- SDL imageUrls 설명 갱신

회귀 테스트 2건 교체: 최신 상품 3장 우선·이미지 없는 매장 빈 배열 /
삭제 이미지·비활성 상품 제외.

Closes #216

Claude-Session: https://claude.ai/code/session_01KfiGgWooJdsa4iPQPmqvBj
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b9c94604-9fe4-4e7a-a619-5f69561733bd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions

Copy link
Copy Markdown

🧹 knip — dead-code 리포트

요약 항목 없음
전체 리포트
(knip 출력 없음 — 이슈 0이거나 실행 실패)

청소 후보(오탐 가능) · 기준 docs/guide/architecture-conventions.md

@github-actions

Copy link
Copy Markdown

🩺 NestJS Doctor — 89/100 (Good)

진단 283건 (error 0).

Category error warning info
architecture 0 0 13
correctness 0 130 0
performance 0 24 17
schema 0 0 86
security 0 13 0
architecture / security 상위 항목
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'IAuditLogRepository'.
  • warning security/security/no-exposed-env-vars: Direct 'process.env.NODE_ENV' access in 'AuthController'. Use ConfigService instead.
  • warning security/security/require-guards-on-endpoints: Endpoint 'start' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'callback' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'refresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'logout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogin' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerRefresh' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'sellerLogout' has no @UseGuards() at class or method level.
  • warning security/security/require-guards-on-endpoints: Endpoint 'devIssueToken' has no @UseGuards() at class or method level.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/conversation/repositories/conversation.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'ConversationRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/order/repositories/order.repository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal type 'OrderRepository'.
  • info architecture/architecture/no-barrel-export-internals: Barrel file re-exports internal module '@/features/product/repositories/product.repository'.

오탐 포함 가능 · 기준 docs/guide/architecture-conventions.md

@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
.../features/store/services/store-wishlist.service.ts 75.00% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 97.65% 5028/5149
🟢 Branches 93.98% 2060/2192
🟢 Functions 96.22% 968/1006
🟢 Lines 98.2% 4574/4658

Test suite run success

1636 tests passing in 190 suites.

Report generated by 🧪jest coverage report action from 954d235

@chanwoo7
chanwoo7 merged commit 8a2dcf6 into develop Aug 26, 2026
12 checks passed
@chanwoo7
chanwoo7 deleted the fix/store-wishlist-card-images branch August 26, 2026 18:23
chanwoo7 added a commit that referenced this pull request Aug 27, 2026
fix(store): 찜한 매장 카드 이미지를 상품 대표 이미지로 통일
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant