Skip to content

feat: 시술기록 사진 파일 교체 지원 - #139

Merged
redjungi09 merged 3 commits into
developfrom
feat/photo-file-replace/#134
Sep 3, 2026
Merged

feat: 시술기록 사진 파일 교체 지원#139
redjungi09 merged 3 commits into
developfrom
feat/photo-file-replace/#134

Conversation

@redjungi09

Copy link
Copy Markdown
Collaborator

관련 이슈

변경 내용

  • PATCH /treatment-records/{recordId}/photos/{photoId}file_id 를 받아 사진이 가리키는 파일을 교체
  • 교체해도 photo_id 는 유지 — 표시 순서와 이 사진을 참조하는 분석 결과가 끊기지 않는다
  • 교체 파일은 요청자 소유의 READY 파일이어야 하고, 이미 다른 사진이 쓰는 파일은 409 FILE_INVALID_STATE
  • AFTER 사진의 파일이 바뀌면 최신 분석 결과를 stale 로 표시
  • treatment_record_photos.file_id 의 JPA updatable = false 해제

작업 목적

사진 자체를 바꾸는 경로가 없어 클라이언트가 새 사진을 추가하는 것 말고는 방법이 없었다. 사진이 중복으로 쌓이고 화면에는 옛 사진이 남는다. 삭제 후 재등록으로 우회하면 photo_id 가 바뀌어 순서와 참조가 끊긴다.

테스트 방법

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

체크리스트

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

기타 사항

  • 파일 중복 첨부 검사는 교체 경로에만 걸었다. POST .../photos 에도 같은 구멍이 있지만 기존 동작이라 이 PR 범위 밖이다 — 필요하면 별도 이슈로 다룬다
  • 컬럼 정의는 그대로라 마이그레이션이 없다. updatable = false 는 JPA 매핑 제약이었다
  • 서버만으로는 끝나지 않는다. 클라이언트가 교체 시 계속 POST .../photos 를 쓰면 사진이 쌓이므로 앱 쪽에서 이 엔드포인트로 옮겨야 한다

photo_id 를 유지한 채 file_id 만 바꿀 수 있어야 한다. 삭제 후 재등록으로
교체하면 식별자가 바뀌어 표시 순서와 이 사진을 참조하는 분석 결과가 끊긴다.
교체 파일은 요청자 소유의 READY 파일이어야 하고, 다른 사진이 이미 쓰는
파일은 붙이지 않는다 — 한 파일을 둘이 공유하면 한쪽을 지울 때 파일이 정리
대상이 되어 남은 사진이 깨진다. AFTER 사진의 내용이 바뀌면 그 사진으로 낸
분석 결과를 stale 로 표시한다.
@redjungi09
redjungi09 merged commit 0b63fd6 into develop Sep 3, 2026
1 check passed
@redjungi09
redjungi09 deleted the feat/photo-file-replace/#134 branch September 3, 2026 01:36
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