diff --git a/src/main/java/umc/spring/file/controller/FileController.java b/src/main/java/umc/spring/file/controller/FileController.java index 9eadce91f9ed2945b0b9c8905b3fb929f2445300..63b25c6e2c99d99994bc343a9da29bf242a9c82d 100644 --- a/src/main/java/umc/spring/file/controller/FileController.java +++ b/src/main/java/umc/spring/file/controller/FileController.java @@ -19,13 +19,13 @@ import java.util.List; @RequestMapping("/api/file") public class FileController { - private final AmazonS3Service amazon3SService; + private final AmazonS3Service amazonS3Service; @PostMapping("/uploads") public List<S3FileDto> uploadFiles( @RequestParam(value = "uploadFilePath") String uploadFilePath, @RequestPart(value = "files") List<MultipartFile> multipartFiles) { - return amazon3SService.uploadFiles(uploadFilePath, multipartFiles); + return amazonS3Service.uploadFiles(uploadFilePath, multipartFiles); } @DeleteMapping("/delete") @@ -34,7 +34,7 @@ public class FileController { @RequestParam(value = "uuidFileName") String uuidFileName) { return ResponseEntity .status(HttpStatus.OK) - .body(amazon3SService.deleteFile(uploadFilePath, uuidFileName)); + .body(amazonS3Service.deleteFile(uploadFilePath, uuidFileName)); } @GetMapping("/get") @@ -42,7 +42,7 @@ public class FileController { @RequestParam String uploadFilePath, @RequestParam String uuidFileName) { try { - InputStream inputStream = amazon3SService.getFile(uploadFilePath, uuidFileName); + InputStream inputStream = amazonS3Service.getFile(uploadFilePath, uuidFileName); if (inputStream != null) { byte[] buffer = new byte[4048]; int bytesRead; diff --git a/src/main/java/umc/spring/post/service/PostServiceImpl.java b/src/main/java/umc/spring/post/service/PostServiceImpl.java index da1195071e0b874785e5b7397d9b9c3f25938b5c..aee8834c12708aec54f9e258f3369bd220a1940e 100644 --- a/src/main/java/umc/spring/post/service/PostServiceImpl.java +++ b/src/main/java/umc/spring/post/service/PostServiceImpl.java @@ -6,6 +6,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.web.server.ResponseStatusException; +import umc.spring.file.domain.S3File; +import umc.spring.file.domain.S3FileDto; +import umc.spring.file.service.AmazonS3Service; import umc.spring.post.data.dto.CommentDto; import umc.spring.post.data.dto.PostDto; import umc.spring.post.data.dto.PostResDto; @@ -29,6 +32,9 @@ public class PostServiceImpl implements PostService{ @Autowired private final PostRepository postRepository; + @Autowired + private final AmazonS3Service amazonS3Service; + @Autowired private final CommentRepository commentRepository; @@ -37,8 +43,9 @@ public class PostServiceImpl implements PostService{ @Autowired private final LikeRepository likeRepository; - public PostServiceImpl(PostRepository postRepository, CommentRepository commentRepository, UserRepository userRepository, LikeRepository likeRepository) { + public PostServiceImpl(PostRepository postRepository, AmazonS3Service amazonS3Service, CommentRepository commentRepository, UserRepository userRepository, LikeRepository likeRepository) { this.postRepository = postRepository; + this.amazonS3Service = amazonS3Service; this.commentRepository = commentRepository; this.userRepository = userRepository; this.likeRepository = likeRepository; @@ -90,10 +97,10 @@ public class PostServiceImpl implements PostService{ catch(Exception e){ throw new ResponseStatusException(HttpStatus.UNAUTHORIZED, "token not found"); } - if(Objects.equals(post.getUserId(), userInfoDto.getUserId())){ - - postRepository.deleteById(post.getId()); - + if(Objects.equals(byId.get().getUserId(), userInfoDto.getUserId())){ + S3File s3File = byId.get().getS3File(); + amazonS3Service.deleteFile(s3File.getUploadFilePath(), s3File.getUploadFileName()); + postRepository.deleteById(id); return true; } throw new ResponseStatusException(HttpStatus.UNAUTHORIZED, "Unauthorized: You do not have permission to delete this post.");