Skip to content

Commit

Permalink
Merge pull request #51 from Mobydick-Team/develop
Browse files Browse the repository at this point in the history
배포를 위한 PR입니다.
  • Loading branch information
soohyuneeee authored Jul 9, 2023
2 parents fa95217 + 4a4cd4f commit f60b948
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
package com.kkm.kkm_server_v2.domain.post.facade;

import com.kkm.kkm_server_v2.domain.post.domain.Image;
import com.kkm.kkm_server_v2.domain.post.domain.Post;
import com.kkm.kkm_server_v2.domain.post.domain.repository.PostRepository;
import com.kkm.kkm_server_v2.domain.post.exception.PostNotFoundException;
import com.kkm.kkm_server_v2.global.infra.S3.service.AwsS3Service;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.stream.Collectors;

@Component
@RequiredArgsConstructor
public class PostFacade {

private final PostRepository postRepository;
private final AwsS3Service awsS3Service;

@Transactional(readOnly = true)
public Post findById(Long postId) {
return postRepository.findById(postId)
.orElseThrow(() -> PostNotFoundException.EXCEPTION);
}
public void deleteImages(Post post) {
List<String> imgUrls = post.getImageList().stream()
.map(Image::getUrl)
.collect(Collectors.toList());
awsS3Service.deleteFiles(imgUrls);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public void execute(Long postId) {
.orElseThrow(() -> PostNotFoundException.EXCEPTION);

post.validatePermission(user);
postFacade.deleteImages(post);
postRepository.delete(post);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.kkm.kkm_server_v2.domain.user.domain.User;
import com.kkm.kkm_server_v2.domain.user.facade.UserFacade;
import com.kkm.kkm_server_v2.domain.user.presentation.dto.request.UpdateUserInfoRequest;
import com.kkm.kkm_server_v2.global.infra.S3.service.AwsS3Service;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

Expand All @@ -12,10 +13,12 @@
@RequiredArgsConstructor
public class UpdateUserInfoService {
private final UserFacade userFacade;
private final AwsS3Service awsS3Service;

@Transactional
public void execute(UpdateUserInfoRequest request, String imgUrl) {
User user = userFacade.getCurrentUser(true);
awsS3Service.deleteFile(user.getImgUrl());
user.updateUserInfo(request.getNickname(), imgUrl);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.kkm.kkm_server_v2.domain.user.domain.User;
import com.kkm.kkm_server_v2.domain.user.facade.UserFacade;
import com.kkm.kkm_server_v2.global.infra.S3.service.AwsS3Service;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand All @@ -10,11 +11,12 @@
@RequiredArgsConstructor
public class UpdateUserProfileImgService {
private final UserFacade userFacade;
private final AwsS3Service awsS3Service;

@Transactional
public void execute(String imgUrl) {
User user = userFacade.getCurrentUser(true);
awsS3Service.deleteFile(user.getImgUrl());
user.updateImgUrl(imgUrl);

}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.kkm.kkm_server_v2.global.infra.S3.service;

import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.DeleteObjectRequest;
import com.amazonaws.services.s3.model.ObjectMetadata;
Expand Down Expand Up @@ -44,7 +43,12 @@ public List<String> uploadFile(List<MultipartFile> multipartFile) {
}).collect(Collectors.toList());
}

public void deleteFile(String fileName) {
public void deleteFiles(List<String> imgUrls) {
imgUrls.forEach(this::deleteFile);
}

public void deleteFile(String imgUrl) {
String fileName = imgUrl.substring(imgUrl.lastIndexOf("/") + 1);
amazonS3.amazonS3Client().deleteObject(new DeleteObjectRequest(awsProperties.getBucket(), fileName));
}

Expand Down

0 comments on commit f60b948

Please sign in to comment.