Skip to content

Commit 902e2d0

Browse files
committed
CLAP-303 Fix: 파일 null 예외 처리 추가
<footer> - 관련: #365
1 parent 8b81d84 commit 902e2d0

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/main/java/clap/server/adapter/inbound/web/member/MemberInfoController.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
import clap.server.application.port.inbound.member.MemberDetailInfoUsecase;
99
import clap.server.application.port.inbound.member.MemberProfileUsecase;
1010
import clap.server.common.annotation.architecture.WebAdapter;
11+
import clap.server.common.utils.FileTypeValidator;
12+
import clap.server.exception.ApplicationException;
13+
import clap.server.exception.code.FileErrorcode;
1114
import io.swagger.v3.oas.annotations.Operation;
1215
import io.swagger.v3.oas.annotations.tags.Tag;
1316
import lombok.RequiredArgsConstructor;
@@ -49,6 +52,9 @@ public void updateMemberDetailInfo(
4952
@RequestPart(name = "memberInfo") UpdateMemberInfoRequest request,
5053
@RequestPart(name = "profileImage", required = false) MultipartFile profileImage,
5154
@AuthenticationPrincipal SecurityUserDetails userInfo) throws IOException {
55+
if (profileImage !=null && !FileTypeValidator.validImageFile(profileImage.getInputStream())) {
56+
throw new ApplicationException(FileErrorcode.UNSUPPORTED_FILE_TYPE);
57+
}
5258
updateMemberInfoUsecase.updateMemberInfo(userInfo.getUserId(), request, profileImage);
5359
}
5460
}

src/main/java/clap/server/application/service/member/UpdateMemberInfoService.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@
66
import clap.server.application.port.outbound.member.CommandMemberPort;
77
import clap.server.application.port.outbound.s3.S3UploadPort;
88
import clap.server.common.annotation.architecture.ApplicationService;
9-
import clap.server.domain.policy.attachment.FilePathPolicy;
10-
import clap.server.common.utils.FileTypeValidator;
119
import clap.server.domain.model.member.Member;
12-
import clap.server.exception.ApplicationException;
13-
import clap.server.exception.code.FileErrorcode;
10+
import clap.server.domain.policy.attachment.FilePathPolicy;
1411
import lombok.RequiredArgsConstructor;
1512
import org.springframework.transaction.annotation.Transactional;
1613
import org.springframework.web.multipart.MultipartFile;
@@ -27,11 +24,8 @@ class UpdateMemberInfoService implements UpdateMemberInfoUsecase {
2724

2825
@Override
2926
public void updateMemberInfo(Long memberId, UpdateMemberInfoRequest request, MultipartFile profileImage) throws IOException {
30-
if (!FileTypeValidator.validImageFile(profileImage.getInputStream())) {
31-
throw new ApplicationException(FileErrorcode.UNSUPPORTED_FILE_TYPE);
32-
}
3327
Member member = memberService.findActiveMember(memberId);
34-
String profileImageUrl = s3UploadPort.uploadSingleFile(FilePathPolicy.MEMBER_IMAGE, profileImage);
28+
String profileImageUrl = profileImage != null ? s3UploadPort.uploadSingleFile(FilePathPolicy.MEMBER_IMAGE, profileImage) : null;
3529
member.updateMemberInfo(request.name(), request.agitNotification(), request.emailNotification(),
3630
request.kakaoWorkNotification(), profileImageUrl);
3731
commandMemberPort.save(member);

0 commit comments

Comments
 (0)