Skip to content

feat: 저장한 후보 스타일 조회·저장·삭제 API - #149

Merged
redjungi09 merged 13 commits into
developfrom
feat/saved-style-api/#146
Sep 3, 2026
Merged

feat: 저장한 후보 스타일 조회·저장·삭제 API#149
redjungi09 merged 13 commits into
developfrom
feat/saved-style-api/#146

Conversation

@redjungi09

Copy link
Copy Markdown
Collaborator

관련 이슈

변경 내용

  • GET /me/saved-styles — 최신 저장순 목록. 스타일명·색상(이름·hex)·이미지·AR 재체험용 hairstyle_id
  • POST /me/saved-styles — 카탈로그에 있는 활성 스타일과 색상만 저장. 이름은 저장 시점 카탈로그 값을 스냅샷으로 보관
  • DELETE /me/saved-styles/{savedStyleId} — 공유 연결을 먼저 끊고 삭제, 캡처 파일은 정리 대상 표시
  • 저장 전용 카탈로그 조회 포트와 어댑터

작업 목적

saved_styles 는 있는데 클라이언트로 내보내는 경로가 하나도 없어 후보를 저장할 수단 자체가 없었다. 그래서 POST /shares 가 받도록 되어 있는 saved_style_id 도 실제로는 쓸 수 없었다.

테스트 방법

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

체크리스트

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

기타 사항

  • src/main 이 약 520줄로 상한을 넘겼다. 이미 feat: 헤어 컬러 카탈로그와 팔레트 조회 API #147refactor: 저장한 후보 스타일을 카탈로그 참조로 확장 #148 → 이 PR 로 세 번 쪼갠 뒤의 마지막 조각이고, 조회·저장·삭제가 같은 리소스의 한 계약이라 더 쪼개면 반쪽짜리 API 가 먼저 머지된다
  • 추천 쪽 카탈로그 조회 포트를 재사용하지 않았다. 그쪽은 추천 프로필이 완비된 스타일만 돌려주는데, AR 로 시연 가능한 스타일이 추천 메타데이터까지 갖췄으리란 보장이 없어 저장이 이유 없이 막힌다
  • 후보 삭제는 그 후보를 실은 공유에서 조용히 빼고 링크는 살려 둔다. 기록이 지워졌을 때와 같은 처리다

추천·저장한 후보·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 을 발급한다.
카탈로그 조회는 추천 쪽 포트를 재사용하지 않는다. 그쪽은 추천 프로필이 완비된
스타일만 돌려주는데, AR 로 시연 가능한 스타일이 추천 메타데이터까지 갖췄으리란
보장이 없어 저장이 이유 없이 막힌다.
카드 이미지는 AR 캡처 → 추천 스냅샷 URL → 카탈로그 썸네일 순으로 정하고,
URL 은 보관하지 않고 조회 시점에 발급한다. 후보를 지우면 그 후보를 실은
공유에서도 함께 빠진다 — 링크를 깨는 대신 사라진 내용만 빼는 기존 처리다.
@redjungi09
redjungi09 merged commit f0b228f into develop Sep 3, 2026
1 check passed
@redjungi09
redjungi09 deleted the feat/saved-style-api/#146 branch September 3, 2026 07:40
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