Skip to content

refactor: 저장한 후보 스타일을 카탈로그 참조로 확장 - #148

Merged
redjungi09 merged 8 commits into
developfrom
refactor/saved-style-catalog-refs/#145
Sep 3, 2026
Merged

refactor: 저장한 후보 스타일을 카탈로그 참조로 확장#148
redjungi09 merged 8 commits into
developfrom
refactor/saved-style-catalog-refs/#145

Conversation

@redjungi09

Copy link
Copy Markdown
Collaborator

관련 이슈

변경 내용

  • saved_styles.image_url · reasonNOT NULL 해제, color_id 에 카탈로그 참조 연결
  • 도메인·엔티티에 hairstyle_id color_id capture_id memo 매핑
  • 카탈로그 기반 후보를 만드는 SavedStyle.fromCatalog 추가
  • 공유에서 저장된 URL 이 없는 후보는 캡처 파일에 조회 시점 서명 URL 발급

작업 목적

테이블에는 카탈로그 참조 컬럼이 있는데 엔티티가 레거시 5개만 매핑해 카탈로그를 가리키는 후보를 만들 수도 읽을 수도 없었다. image_urlreasonNOT NULL 도 막힘이었다 — AR 후보에는 추천 이유가 없고 이미지도 files 를 가리키는 capture_id 로 다룬다.

테스트 방법

  • 단위 테스트 추가/수정
    • 통합 테스트 완료
    • 수동 테스트 완료

체크리스트

  • 코드가 프로젝트의 코딩 스타일을 따릅니다
    • 자체 코드 리뷰를 완료했습니다
    • 변경 사항에 대한 테스트를 추가했습니다
    • Breaking Changes가 없습니다

기타 사항

  • feat: 헤어 컬러 카탈로그와 팔레트 조회 API #147 위에 쌓여 있다. hair_colors 가 먼저 머지돼야 한다
  • 기존 AI 추천 스냅샷 경로(SavedStyle.create)는 그대로 두고 image_url · reason 을 여전히 요구한다. 레거시 행의 의미가 흐려지지 않게 하기 위해서다
  • style_name 은 계속 필수다. 공유가 이 행을 가리키므로 카탈로그에서 스타일이 내려가도 저장 당시 이름을 보여야 한다

추천·저장한 후보·AR 이 모두 color_id 를 들고 있는데 가리킬 표가 없어 아무도
값을 채우지 못했다. hairstyle_assets 와 짝을 이루는 공용 카탈로그를 만들고,
값이 전부 비어 있는 지금 recommendation_items 의 참조 무결성도 함께 연결한다.
image_url 과 reason 이 NOT NULL 이라 AR 에서 저장하는 후보를 넣을 수 없었다.
AR 후보에는 추천 이유가 없고 이미지도 files 를 가리키는 capture_id 로 다룬다.
값이 전부 비어 있는 color_id 에는 지금 카탈로그 참조를 건다.
테이블에는 hairstyle_id·color_id·capture_id·memo 가 있는데 엔티티가 레거시
5개 컬럼만 매핑해, 카탈로그를 가리키는 후보를 만들 수도 읽을 수도 없었다.
저장된 image_url 이 없는 카탈로그 기반 후보는 공유 화면에서 이미지 자리가
비어 버린다. 사진과 같은 규칙으로 READY 인 캡처 파일에만 URL 을 발급한다.
@redjungi09
redjungi09 merged commit c3d40dc into develop Sep 3, 2026
1 check passed
@redjungi09
redjungi09 deleted the refactor/saved-style-catalog-refs/#145 branch September 3, 2026 07:39
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