Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#193 [feat] 회원 탈퇴 시 이미지 삭제 로직 추가 #196

Merged
merged 3 commits into from
Jan 26, 2024

Conversation

KWY0218
Copy link
Member

@KWY0218 KWY0218 commented Jan 26, 2024

관련 이슈번호

해결하는 데 얼마나 걸렸나요? (예상 작업 시간 / 실제 작업 시간)

  • 1h / 1h

해결하려는 문제가 무엇인가요?

  • 회원 탈퇴 시 이미지는 삭제가 되지 않아서 s3 용량을 차지하는 이슈

어떻게 해결했나요?

  • 유저 탈퇴시

    • 유저의 프로필 이미지는 default 값이므로 삭제하지 않고, 지원서의 캡처 이미지, 모델 이미지를 삭제했습니다.
  • 디자이너 탈퇴 시

    • 디자이너 탈퇴 시 디자이너의 프로필을 삭제했습니다.

로직 수정 사항

  • 데이터베이스에는 image url 형식으로 저장되어 있지만 이미지를 삭제하기 위해선 url의 앞부분은 잘라서 image key만 남겨야 합니다.
    그래서 substring 하는 로직이 delete 할 때도 중복되어서 해당 로직을 s3 service 내로 이동했습니다.

@KWY0218 KWY0218 added the feat label Jan 26, 2024
@KWY0218 KWY0218 requested review from hellozo0 and pkl0912 January 26, 2024 00:52
@KWY0218 KWY0218 self-assigned this Jan 26, 2024
Copy link
Member

@hellozo0 hellozo0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

유저 삭제시 이미지 삭제 놓치고 있었는데.... nice.... 고생하셨습니다....
S3도 언능 공부해봐야겠네여

//Designer designer = designerJpaRepository.findById(userId).orElseThrow(() -> new NotFoundException(DESIGNER_NOT_FOUND_EXCEPTION));
String s3Key = offerImageUrl.substring(54);
String preSignedUrl = s3Service.getPreSignedUrlToDownload(s3Key);
Designer designer = designerJpaRepository.findById(userId).orElseThrow(() -> new NotFoundException(DESIGNER_NOT_FOUND_EXCEPTION));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5 :
이친구는 이전에는 주석이 되었다가 살아났는데 designer 를 해당 함수에서 사용하지 않는 것으로 보이는데 어디서 사용하는 것일까요.>>>???!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hellozo0
해당 서비스 로직은 디자이너가 사용하는 서비스 로직이라서 비즈니스 로직 시작 전에 해당 메서드를 사용하는 사람이 디자이너인지 아닌지 구분하는 용도로만 사용합니다...!

Comment on lines +78 to +79
private String getImageUrlToKey(final String imageUrl) {
return imageUrl.substring(IMAGE_URL_PREFIX_LENGTH);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p5 :
이전 코드에서는 imagekey(?)값으로 이미지를 가져오지 않았는데 어떤 이유로 사용되었는지 알 수 있을까요..?!?!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hellozo0
이미지 url이 https://~~~/bucket/path 이런 식일 때
이미지를 삭제할 때 url 전체를 넣어서 삭제하는 것이 아닌, 앞에 있는 https://~~~ 를 제거해서 bucket/path 값을 넣어야 합니다...!
그래서 substring 로직을 추가했습니다!

Copy link
Contributor

@pkl0912 pkl0912 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

탈퇴 시 이미지 삭제 - image key 만 남기기 확인했습니다!

@KWY0218 KWY0218 merged commit b8d802e into develop Jan 26, 2024
1 check passed
@KWY0218 KWY0218 deleted the feat/#193 branch January 26, 2024 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 회원 탈퇴 시 이미지 삭제 로직 구현
3 participants