diff --git a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java index 81aac541..9e136da1 100644 --- a/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java +++ b/src/main/java/koreatech/in/domain/Upload/UploadFileLocation.java @@ -5,8 +5,6 @@ @Getter public class UploadFileLocation { - private static final String HTTPS_PROTOCOL = "https://"; - private final String fileUrl; private final String fileName; @@ -16,13 +14,12 @@ private UploadFileLocation(String fileUrl, String fileName) { } public static UploadFileLocation of(String domainName, UploadFile uploadFile) { - return new UploadFileLocation(HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), + return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFile.getFullPath(), uploadFile.getFileName()); } public static UploadFileLocation of(String domainName, UploadFileFullPath uploadFileFullPath) { - return new UploadFileLocation( - HTTPS_PROTOCOL + domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), + return new UploadFileLocation(domainName + UploadFileFullPath.SLASH + uploadFileFullPath.unixValue(), uploadFileFullPath.getFileFullName()); } diff --git a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java index f48fba9f..29ae66a6 100644 --- a/src/main/java/koreatech/in/service/S3UploadServiceImpl.java +++ b/src/main/java/koreatech/in/service/S3UploadServiceImpl.java @@ -4,12 +4,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - import koreatech.in.domain.Upload.DomainEnum; import koreatech.in.domain.Upload.PreSignedUrlResult; import koreatech.in.domain.Upload.UploadFile; @@ -24,12 +18,17 @@ import koreatech.in.dto.normal.upload.response.UploadFilesResponse; import koreatech.in.mapstruct.normal.upload.UploadFileConverter; import koreatech.in.util.S3Util; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; @Service public class S3UploadServiceImpl implements UploadService { - private final S3Util s3Util; + private static final String HTTPS_PROTOCOL = "https://"; + private final S3Util s3Util; private final String bucketName; private final String domainUrlPrefix; @@ -54,7 +53,7 @@ public UploadFileResponse uploadAndGetUrl(MultipartFile multipartFile, DomainEnu @Override public UploadFileResponse uploadAndGetUrlForAdmin(MultipartFile multipartFile, DomainEnum domain) throws - IOException { + IOException { domain.validateFor(multipartFile); UploadFile file = UploadFile.of(multipartFile, domain.enrichDomainPathForAdmin()); @@ -65,7 +64,7 @@ public UploadFileResponse uploadAndGetUrlForAdmin(MultipartFile multipartFile, D } @Override - public UploadFilesResponse uploadAndGetUrls(List multipartFiles, DomainEnum domain) { + public UploadFilesResponse uploadAndGetUrls(List multipartFiles, DomainEnum domain) { multipartFiles.forEach(domain::validateFor); UploadFiles uploadFiles = UploadFiles.of(multipartFiles, domain.enrichDomainPath()); @@ -75,7 +74,7 @@ public UploadFilesResponse uploadAndGetUrls(List multipartFiles, } @Override - public UploadFilesResponse uploadAndGetUrlsForAdmin(List multipartFiles, DomainEnum domain) { + public UploadFilesResponse uploadAndGetUrlsForAdmin(List multipartFiles, DomainEnum domain) { multipartFiles.forEach(domain::validateFor); UploadFiles uploadFiles = UploadFiles.of(multipartFiles, domain.enrichDomainPathForAdmin()); @@ -91,11 +90,13 @@ public PreSignedUrlResponse generatePreSignedUrl(DomainEnum domain, PreSignedUrl domain.validateMetaData(uploadFileMetaData); - UploadFileFullPath uploadFileFullPath = UploadFileFullPath.of(domain.enrichDomainPath(), uploadFileMetaData.getFileName()); + UploadFileFullPath uploadFileFullPath = UploadFileFullPath.of(domain.enrichDomainPath(), + uploadFileMetaData.getFileName()); PreSignedUrlResult preSignedUrlResult = s3Util.generatePreSignedUrlForPut(bucketName, uploadFileMetaData, - uploadFileFullPath.unixValue(), new Date()); + uploadFileFullPath.unixValue(), new Date()); - UploadFileLocation uploadFileLocation = UploadFileLocation.of(domainUrlPrefix, uploadFileFullPath); + UploadFileLocation uploadFileLocation = UploadFileLocation.of(HTTPS_PROTOCOL + domainUrlPrefix, + uploadFileFullPath); return UploadFileConverter.INSTANCE.toPreSignedUrlResponse(preSignedUrlResult, uploadFileLocation); }