Closed youngdong82 closed 18 hours ago
기존 url이 있고.
USER의 이미지 업로드
1-1. originUrl값 localUrl로 변경
USER의 확인 버튼 클릭
2-1.
localUrl을 S3 업로드하고
새로 받은 ImageUrl 리턴
2-2.
새로 받은 ImageUrl 을 넣어서
UPDATE
2-3.
기존 url 삭제
* 2-1, 2-3에서 문제가 발생 시 ErrorCode.AWS가 발생하고 이후 코드진행이 멈춘다.
* 2-2에서 문제가 발생한다면 서버에서 보내주는 ErrorCode가 발생하고 코드진행이 멈춘다.
* 롤백은 어떻게 할 것인가?
* 2-1 성공 후, 2-2에서 ATX 에러 발생 시 재시도 과정에서 중복적인 업로드가 진행된다.
현재 관리되고 있는 이미지 네이밍, 파일 관리 체계가 개선되어야 한다. 이 상태로는 현재 사용되고 있는 이미지인지, 오류로 인해 업로드는 되었지만 사용되고 있지 않은 이미지인지 알 수 없다. seamless 함이 서비스의 생명인데 이와 같이 관리가 불가능한 상태는 용납할 수 없다. 더불어 지금 고치지 않고 실고객 10명이 100개의 이미지만 올려도, 절대 이걸 정리할 수 없다. 각 이미지마다 사용처를 앞에 붙여야 할듯하다. 이미지 이름은 지금처럼 그냥 Date.now().확장자 로 해도 무방할듯.
머 이런식으로??
관련 데이터 삭제되면 이미지 삭제
이건 프론트에서 수행하기 어렵다. 관련된 것이 함께 사라지는 일이 굉장히 많기 때문이다. 예를 들어, work를 없애면, 관련된 workDetail들이 사라진다. 백엔드에서 해야하지 않을까 싶음
롤백 방법
UpdateImgDto 생성해야하나?
orphan 객체를 아예 안생기게 만들 수는 없는 것 같아. 이를 정리하는 로직을 만들 수 있을까?
현재 이미지는 업로드만 되고 삭제되지 않는다.