From cc000f7e078e2d2f8be248f7855f9c66d4c0e331 Mon Sep 17 00:00:00 2001 From: hgo641 Date: Thu, 19 Oct 2023 10:39:17 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EB=A1=9C=EC=A7=81=EC=9D=84=20=EC=84=9C?= =?UTF-8?q?=EB=B9=84=EC=8A=A4=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../image/infrastructure/ImageUploader.java | 14 +++----------- .../java/hanglog/trip/service/ImageService.java | 14 +++++++++++++- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/backend/src/main/java/hanglog/image/infrastructure/ImageUploader.java b/backend/src/main/java/hanglog/image/infrastructure/ImageUploader.java index 59377c0c8..739e5c8db 100644 --- a/backend/src/main/java/hanglog/image/infrastructure/ImageUploader.java +++ b/backend/src/main/java/hanglog/image/infrastructure/ImageUploader.java @@ -8,13 +8,11 @@ import com.amazonaws.services.s3.model.ObjectMetadata; import hanglog.global.exception.ImageException; import hanglog.image.domain.ImageFile; -import hanglog.image.domain.S3ImageEvent; import java.io.IOException; import java.io.InputStream; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Component; @Component @@ -24,7 +22,6 @@ public class ImageUploader { private static final String CACHE_CONTROL_VALUE = "max-age=3153600"; private final AmazonS3 s3Client; - private final ApplicationEventPublisher publisher; @Value("${cloud.aws.s3.bucket}") private String bucket; @@ -33,14 +30,9 @@ public class ImageUploader { private String folder; public List uploadImages(final List imageFiles) { - try { - return imageFiles.stream() - .map(this::uploadImage) - .toList(); - } catch (final ImageException e) { - imageFiles.forEach(imageFile -> publisher.publishEvent(new S3ImageEvent(imageFile.getHashedName()))); - throw e; - } + return imageFiles.stream() + .map(this::uploadImage) + .toList(); } private String uploadImage(final ImageFile imageFile) { diff --git a/backend/src/main/java/hanglog/trip/service/ImageService.java b/backend/src/main/java/hanglog/trip/service/ImageService.java index 62d751fd5..9bd3c9748 100644 --- a/backend/src/main/java/hanglog/trip/service/ImageService.java +++ b/backend/src/main/java/hanglog/trip/service/ImageService.java @@ -5,10 +5,12 @@ import hanglog.global.exception.ImageException; import hanglog.image.domain.ImageFile; +import hanglog.image.domain.S3ImageEvent; import hanglog.image.infrastructure.ImageUploader; import hanglog.trip.dto.response.ImagesResponse; import java.util.List; import lombok.RequiredArgsConstructor; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -20,16 +22,26 @@ public class ImageService { private static final int EMPTY_LIST_SIZE = 0; private final ImageUploader imageUploader; + private final ApplicationEventPublisher publisher; public ImagesResponse save(final List images) { validateSizeOfImages(images); final List imageFiles = images.stream() .map(ImageFile::new) .toList(); - final List imageNames = imageUploader.uploadImages(imageFiles); + final List imageNames = uploadImages(imageFiles); return new ImagesResponse(imageNames); } + private List uploadImages(final List imageFiles) { + try { + return imageUploader.uploadImages(imageFiles); + } catch (final ImageException e) { + imageFiles.forEach(imageFile -> publisher.publishEvent(new S3ImageEvent(imageFile.getHashedName()))); + throw e; + } + } + private void validateSizeOfImages(final List images) { if (images.size() > MAX_IMAGE_LIST_SIZE) { throw new ImageException(EXCEED_IMAGE_LIST_SIZE);