From ce47723c15ccb667b0953d48275562d860037158 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 17:12:53 +0900 Subject: [PATCH 01/15] =?UTF-8?q?chore:=20AWS=20SDK=20=EC=9D=98=EC=A1=B4?= =?UTF-8?q?=EC=84=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backend/build.gradle b/backend/build.gradle index 640f73513..c2541db17 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -39,6 +39,9 @@ dependencies { annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" + implementation 'software.amazon.awssdk:auth' + implementation 'software.amazon.awssdk:regions' + runtimeOnly 'com.mysql:mysql-connector-j' implementation 'io.jsonwebtoken:jjwt-api:0.11.5' From fe28b0801502364bc8ed88ef7e7352bd9c84fa30 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 17:41:06 +0900 Subject: [PATCH 02/15] =?UTF-8?q?feat:=20controller=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../refit/domain/interview/api/InterviewController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java index 6780a159b..442697872 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java @@ -12,6 +12,7 @@ import com.shyashyashya.refit.domain.interview.dto.request.QnaSetCreateRequest; import com.shyashyashya.refit.domain.interview.dto.request.RawTextUpdateRequest; import com.shyashyashya.refit.domain.interview.dto.response.GuideQuestionResponse; +import com.shyashyashya.refit.domain.interview.dto.response.PdfUploadUrlResponse; import com.shyashyashya.refit.domain.interview.dto.response.QnaSetCreateResponse; import com.shyashyashya.refit.domain.interview.service.GuideQuestionService; import com.shyashyashya.refit.domain.interview.service.InterviewService; @@ -115,4 +116,12 @@ public ResponseEntity> createQnaSet( var response = ApiResponse.success(COMMON200, body); return ResponseEntity.ok(response); } + + @Operation(summary = "면접 PDF 파일 업로드를 위한 Pre-Signed URL을 요청합니다.") + @GetMapping("/{interviewId}/pdf/upload-url") + public ResponseEntity> getUploadUrl(@PathVariable Long interviewId) { + var body = interviewService.createPdfUploadUrl(interviewId); + var response = ApiResponse.success(COMMON200, body); + return ResponseEntity.ok(response); + } } From 0ca3637dedd17569cb98fe0ab59b7187f37afcfd Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 17:41:16 +0900 Subject: [PATCH 03/15] =?UTF-8?q?feat:=20=EC=9D=91=EB=8B=B5=20dto=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interview/dto/response/PdfUploadUrlResponse.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java new file mode 100644 index 000000000..c30096b9a --- /dev/null +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java @@ -0,0 +1,10 @@ +package com.shyashyashya.refit.domain.interview.dto.response; + +import java.util.Map; + +public record PdfUploadUrlResponse( + String url, + String key, + Map fields +) { +} From 45199d23c84b87c648baafbd5ca6a4ead84b71b2 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 17:41:26 +0900 Subject: [PATCH 04/15] =?UTF-8?q?feat:=20=EC=84=9C=EB=B9=84=EC=8A=A4=20?= =?UTF-8?q?=EC=B4=88=EC=95=88=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/interview/service/InterviewService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java index b8905464c..dab087834 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java @@ -19,6 +19,7 @@ import com.shyashyashya.refit.domain.interview.dto.request.KptSelfReviewUpdateRequest; import com.shyashyashya.refit.domain.interview.dto.request.QnaSetCreateRequest; import com.shyashyashya.refit.domain.interview.dto.request.RawTextUpdateRequest; +import com.shyashyashya.refit.domain.interview.dto.response.PdfUploadUrlResponse; import com.shyashyashya.refit.domain.interview.dto.response.QnaSetCreateResponse; import com.shyashyashya.refit.domain.interview.model.Interview; import com.shyashyashya.refit.domain.interview.model.InterviewReviewStatus; @@ -164,6 +165,15 @@ public Page searchMyInterviews(InterviewSearchRequest request, Pag .map(InterviewDto::from); } + @Transactional + public PdfUploadUrlResponse createPdfUploadUrl(Long interviewId) { + User requestUser = requestUserContext.getRequestUser(); + Interview interview = interviewRepository.findById(interviewId).orElseThrow(() -> new CustomException(INTERVIEW_NOT_FOUND)); + interviewValidator.validateInterviewOwner(interview, requestUser); + + return null; + } + public Page getMyInterviewDrafts(InterviewDraftType draftType, Pageable pageable) { User requestUser = requestUserContext.getRequestUser(); From 3c0130059d912b594778c6516318d5901fb32bca Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 17:58:08 +0900 Subject: [PATCH 05/15] =?UTF-8?q?chore:=20=EC=9D=98=EC=A1=B4=EC=84=B1=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/build.gradle | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/build.gradle b/backend/build.gradle index c2541db17..4c4a2bcbd 100644 --- a/backend/build.gradle +++ b/backend/build.gradle @@ -39,8 +39,10 @@ dependencies { annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" - implementation 'software.amazon.awssdk:auth' - implementation 'software.amazon.awssdk:regions' + implementation platform('software.amazon.awssdk:bom:2.27.21') + implementation 'software.amazon.awssdk:s3' + implementation 'software.amazon.awssdk:sso' + implementation 'software.amazon.awssdk:ssooidc' runtimeOnly 'com.mysql:mysql-connector-j' From fc349548a54015e45e24c2e2d57c03bcc4d19d34 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:34:28 +0900 Subject: [PATCH 06/15] =?UTF-8?q?feat:=20=EC=83=81=EC=88=98=20=EA=B0=92=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../refit/global/property/S3Property.java | 13 +++++++++++++ backend/src/main/resources/application-s3.yml | 6 ++++++ 2 files changed, 19 insertions(+) create mode 100644 backend/src/main/java/com/shyashyashya/refit/global/property/S3Property.java diff --git a/backend/src/main/java/com/shyashyashya/refit/global/property/S3Property.java b/backend/src/main/java/com/shyashyashya/refit/global/property/S3Property.java new file mode 100644 index 000000000..e1436ba83 --- /dev/null +++ b/backend/src/main/java/com/shyashyashya/refit/global/property/S3Property.java @@ -0,0 +1,13 @@ +package com.shyashyashya.refit.global.property; + +import jakarta.validation.constraints.NotBlank; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.validation.annotation.Validated; + +@ConfigurationProperties(prefix = "spring.s3") +@Validated +public record S3Property( + @NotBlank String region, + @NotBlank String bucket, + @NotBlank String prefix, + int presignExpireSeconds) {} diff --git a/backend/src/main/resources/application-s3.yml b/backend/src/main/resources/application-s3.yml index e69de29bb..e619fd05d 100644 --- a/backend/src/main/resources/application-s3.yml +++ b/backend/src/main/resources/application-s3.yml @@ -0,0 +1,6 @@ +spring: + s3: + region: "ap-northeast-2" + bucket: "refit-s3-bucket" + prefix: "interview-pdf/" + presign-expire-seconds: 300 From 68c27cd057c7a2acb1546c01088a65eeba948577 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:35:09 +0900 Subject: [PATCH 07/15] =?UTF-8?q?feat:=20=EC=9D=91=EB=8B=B5=20dto=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interview/dto/response/PdfUploadUrlResponse.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java index c30096b9a..d7ac0fe3b 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java @@ -1,10 +1,5 @@ package com.shyashyashya.refit.domain.interview.dto.response; -import java.util.Map; +import jakarta.validation.constraints.NotNull; -public record PdfUploadUrlResponse( - String url, - String key, - Map fields -) { -} +public record PdfUploadUrlResponse(@NotNull String url, @NotNull String key) {} From d925d3d9a04e8d6e9a133d41bf3b1ca8c6a4b2bf Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:35:48 +0900 Subject: [PATCH 08/15] =?UTF-8?q?feat:=20S3Presigner=20=EB=B9=88=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../refit/global/config/S3Config.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 backend/src/main/java/com/shyashyashya/refit/global/config/S3Config.java diff --git a/backend/src/main/java/com/shyashyashya/refit/global/config/S3Config.java b/backend/src/main/java/com/shyashyashya/refit/global/config/S3Config.java new file mode 100644 index 000000000..d1cde9feb --- /dev/null +++ b/backend/src/main/java/com/shyashyashya/refit/global/config/S3Config.java @@ -0,0 +1,24 @@ +package com.shyashyashya.refit.global.config; + +import com.shyashyashya.refit.global.property.S3Property; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.presigner.S3Presigner; + +@Configuration +@RequiredArgsConstructor +public class S3Config { + + private final S3Property s3Property; + + @Bean + public S3Presigner s3Presigner() { + return S3Presigner.builder() + .region(Region.of(s3Property.region())) + .credentialsProvider(DefaultCredentialsProvider.create()) + .build(); + } +} From b87c2427edc435efeaa2bd8bbccd85e6c321aa50 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:36:30 +0900 Subject: [PATCH 09/15] =?UTF-8?q?feat:=20=EC=84=9C=EB=B9=84=EC=8A=A4=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interview/service/InterviewService.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java index dab087834..35a9858a5 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java @@ -36,7 +36,9 @@ import com.shyashyashya.refit.domain.qnaset.repository.StarAnalysisRepository; import com.shyashyashya.refit.domain.user.model.User; import com.shyashyashya.refit.global.exception.CustomException; +import com.shyashyashya.refit.global.property.S3Property; import com.shyashyashya.refit.global.util.RequestUserContext; +import java.time.Duration; import java.util.List; import java.util.Map; import java.util.function.Function; @@ -47,6 +49,10 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import software.amazon.awssdk.services.s3.model.PutObjectRequest; +import software.amazon.awssdk.services.s3.presigner.S3Presigner; +import software.amazon.awssdk.services.s3.presigner.model.PresignedPutObjectRequest; +import software.amazon.awssdk.services.s3.presigner.model.PutObjectPresignRequest; @Service @RequiredArgsConstructor @@ -63,6 +69,8 @@ public class InterviewService { private final InterviewValidator interviewValidator; private final RequestUserContext requestUserContext; + private final S3Presigner s3Presigner; + private final S3Property s3Property; @Transactional(readOnly = true) public InterviewDto getInterview(Long interviewId) { @@ -168,10 +176,27 @@ public Page searchMyInterviews(InterviewSearchRequest request, Pag @Transactional public PdfUploadUrlResponse createPdfUploadUrl(Long interviewId) { User requestUser = requestUserContext.getRequestUser(); - Interview interview = interviewRepository.findById(interviewId).orElseThrow(() -> new CustomException(INTERVIEW_NOT_FOUND)); + Interview interview = + interviewRepository.findById(interviewId).orElseThrow(() -> new CustomException(INTERVIEW_NOT_FOUND)); interviewValidator.validateInterviewOwner(interview, requestUser); - return null; + String extension = ".pdf"; + String key = s3Property.prefix() + interviewId + extension; + + PutObjectRequest putObjectRequest = PutObjectRequest.builder() + .bucket(s3Property.bucket()) + .key(key) + .contentType("application/pdf") + .build(); + + PutObjectPresignRequest presignRequest = PutObjectPresignRequest.builder() + .signatureDuration(Duration.ofSeconds(s3Property.presignExpireSeconds())) + .putObjectRequest(putObjectRequest) + .build(); + + PresignedPutObjectRequest presigned = s3Presigner.presignPutObject(presignRequest); + + return new PdfUploadUrlResponse(presigned.url().toString(), key); } public Page getMyInterviewDrafts(InterviewDraftType draftType, Pageable pageable) { From f27e3e27250ecbc3c47c7c74e1ace402f042058f Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:37:55 +0900 Subject: [PATCH 10/15] =?UTF-8?q?chore:=20spotless=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/interview/dto/response/PdfUploadUrlResponse.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java index d7ac0fe3b..8297f2d20 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/dto/response/PdfUploadUrlResponse.java @@ -2,4 +2,5 @@ import jakarta.validation.constraints.NotNull; -public record PdfUploadUrlResponse(@NotNull String url, @NotNull String key) {} +public record PdfUploadUrlResponse( + @NotNull String url, @NotNull String key) {} From b7ed0cbf24f84ee43e093d626396393332255477 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Sun, 15 Feb 2026 18:57:23 +0900 Subject: [PATCH 11/15] =?UTF-8?q?test:=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20yml?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/test/resources/application-s3.yml | 6 ++++++ backend/src/test/resources/application.yml | 1 + 2 files changed, 7 insertions(+) create mode 100644 backend/src/test/resources/application-s3.yml diff --git a/backend/src/test/resources/application-s3.yml b/backend/src/test/resources/application-s3.yml new file mode 100644 index 000000000..e619fd05d --- /dev/null +++ b/backend/src/test/resources/application-s3.yml @@ -0,0 +1,6 @@ +spring: + s3: + region: "ap-northeast-2" + bucket: "refit-s3-bucket" + prefix: "interview-pdf/" + presign-expire-seconds: 300 diff --git a/backend/src/test/resources/application.yml b/backend/src/test/resources/application.yml index f9b1ea61d..85318f3c3 100644 --- a/backend/src/test/resources/application.yml +++ b/backend/src/test/resources/application.yml @@ -6,3 +6,4 @@ spring: include: - auth - gemini + - s3 From 97d90125863961018852c1098bbe90a5fe2db785 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Mon, 16 Feb 2026 10:59:50 +0900 Subject: [PATCH 12/15] =?UTF-8?q?feat:=20PDF=20=EC=97=85=EB=A1=9C=EB=93=9C?= =?UTF-8?q?=20url=20=EC=83=9D=EC=84=B1=20=EB=A9=94=EC=86=8C=EB=93=9C?= =?UTF-8?q?=EB=A5=BC=20transactional=20readOnly=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../refit/domain/interview/service/InterviewService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java index 35a9858a5..b1b8a8869 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/service/InterviewService.java @@ -173,7 +173,7 @@ public Page searchMyInterviews(InterviewSearchRequest request, Pag .map(InterviewDto::from); } - @Transactional + @Transactional(readOnly = true) public PdfUploadUrlResponse createPdfUploadUrl(Long interviewId) { User requestUser = requestUserContext.getRequestUser(); Interview interview = From 809a2febab827570c8430027faedf87bbb72ac53 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Mon, 16 Feb 2026 11:00:50 +0900 Subject: [PATCH 13/15] =?UTF-8?q?chore:=20=EB=A9=94=EC=86=8C=EB=93=9C?= =?UTF-8?q?=EB=AA=85=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../refit/domain/interview/api/InterviewController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java b/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java index 442697872..23de3c20d 100644 --- a/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java +++ b/backend/src/main/java/com/shyashyashya/refit/domain/interview/api/InterviewController.java @@ -119,7 +119,7 @@ public ResponseEntity> createQnaSet( @Operation(summary = "면접 PDF 파일 업로드를 위한 Pre-Signed URL을 요청합니다.") @GetMapping("/{interviewId}/pdf/upload-url") - public ResponseEntity> getUploadUrl(@PathVariable Long interviewId) { + public ResponseEntity> createUploadUrl(@PathVariable Long interviewId) { var body = interviewService.createPdfUploadUrl(interviewId); var response = ApiResponse.success(COMMON200, body); return ResponseEntity.ok(response); From 3a825dc0d76f145d09a22266c0f9ee54607eacdb Mon Sep 17 00:00:00 2001 From: zxc534 Date: Mon, 16 Feb 2026 11:05:20 +0900 Subject: [PATCH 14/15] =?UTF-8?q?chore:=20yml=20=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EB=A5=BC=20env=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 --- backend/src/main/resources/application-s3.yml | 8 ++++---- backend/src/test/resources/application-s3.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/main/resources/application-s3.yml b/backend/src/main/resources/application-s3.yml index e619fd05d..7efa1860d 100644 --- a/backend/src/main/resources/application-s3.yml +++ b/backend/src/main/resources/application-s3.yml @@ -1,6 +1,6 @@ spring: s3: - region: "ap-northeast-2" - bucket: "refit-s3-bucket" - prefix: "interview-pdf/" - presign-expire-seconds: 300 + region: "${AWS_S3_REGION}" + bucket: "${AWS_S3_BUCKET}" + prefix: "${AWS_S3_PREFIX}" + presign-expire-seconds: "${AWS_S3_PRESIGN_EXPIRE_SECONDS}" \ No newline at end of file diff --git a/backend/src/test/resources/application-s3.yml b/backend/src/test/resources/application-s3.yml index e619fd05d..96b0267b7 100644 --- a/backend/src/test/resources/application-s3.yml +++ b/backend/src/test/resources/application-s3.yml @@ -1,6 +1,6 @@ spring: s3: - region: "ap-northeast-2" - bucket: "refit-s3-bucket" - prefix: "interview-pdf/" - presign-expire-seconds: 300 + region: "" + bucket: "" + prefix: "" + presign-expire-seconds: 0 From b110cc7d0bc9208b6be9f8bb28dc6fb4f77bab21 Mon Sep 17 00:00:00 2001 From: zxc534 Date: Mon, 16 Feb 2026 11:12:06 +0900 Subject: [PATCH 15/15] =?UTF-8?q?chore:=20spotless=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/main/resources/application-s3.yml | 2 +- backend/src/test/resources/application-s3.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/src/main/resources/application-s3.yml b/backend/src/main/resources/application-s3.yml index 7efa1860d..f53e8f13a 100644 --- a/backend/src/main/resources/application-s3.yml +++ b/backend/src/main/resources/application-s3.yml @@ -3,4 +3,4 @@ spring: region: "${AWS_S3_REGION}" bucket: "${AWS_S3_BUCKET}" prefix: "${AWS_S3_PREFIX}" - presign-expire-seconds: "${AWS_S3_PRESIGN_EXPIRE_SECONDS}" \ No newline at end of file + presign-expire-seconds: "${AWS_S3_PRESIGN_EXPIRE_SECONDS}" diff --git a/backend/src/test/resources/application-s3.yml b/backend/src/test/resources/application-s3.yml index 96b0267b7..422a047af 100644 --- a/backend/src/test/resources/application-s3.yml +++ b/backend/src/test/resources/application-s3.yml @@ -1,6 +1,6 @@ spring: s3: - region: "" - bucket: "" - prefix: "" + region: "dummy" + bucket: "dummy" + prefix: "dummy" presign-expire-seconds: 0