Skip to content

Commit

Permalink
[BE] Enhanced Switch (Java 14) 적용
Browse files Browse the repository at this point in the history
  • Loading branch information
Jinwook94 committed Nov 1, 2023
1 parent abc6db1 commit 3192bd8
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 75 deletions.
36 changes: 8 additions & 28 deletions backend/src/main/java/com/bootme/auth/service/AuthService.java
Expand Up @@ -131,20 +131,10 @@ private String verifyIssuer(UserInfo body) {
private void verifyAudience(JwtVo.Body body, OAuthProvider issuer) {
String expectedAud = null;
switch (issuer) {
case BOOTME:
expectedAud = awsSecrets.getBootmeAudience();
break;
case GOOGLE:
expectedAud = awsSecrets.getGoogleAudience();
break;
case NAVER:
expectedAud = awsSecrets.getNaverAudience();
break;
case KAKAO:
expectedAud = awsSecrets.getKakaoAudience();
break;
default:
break;
case BOOTME -> expectedAud = awsSecrets.getBootmeAudience();
case GOOGLE -> expectedAud = awsSecrets.getGoogleAudience();
case NAVER -> expectedAud = awsSecrets.getNaverAudience();
case KAKAO -> expectedAud = awsSecrets.getKakaoAudience();
}
String actualAud = body.getAud();
if (!Objects.equals(expectedAud, actualAud)) {
Expand Down Expand Up @@ -174,20 +164,10 @@ private void verifyExpiration(JwtVo.Body body) {

private void verifySignature(String jwt, OAuthProvider issuer) {
switch (issuer) {
case BOOTME:
verifyBootmeSignature(jwt, awsSecrets.getBootmeSigningKey());
break;
case GOOGLE:
verifyGoogleSignature(jwt);
break;
case NAVER:
verifyNaverSignature(jwt, awsSecrets.getNaverSigningKey());
break;
case KAKAO:
verifyKakaoSignature(jwt);
break;
default:
break;
case BOOTME -> verifyBootmeSignature(jwt, awsSecrets.getBootmeSigningKey());
case GOOGLE -> verifyGoogleSignature(jwt);
case NAVER -> verifyNaverSignature(jwt, awsSecrets.getNaverSigningKey());
case KAKAO -> verifyKakaoSignature(jwt);
}
}

Expand Down
24 changes: 7 additions & 17 deletions backend/src/main/java/com/bootme/image/service/ImageService.java
Expand Up @@ -56,23 +56,13 @@ private File toFile(MultipartFile image) {
}

private String getFormattedFileName(String imageType, Long memberId, File image) {
String uploadPath;
switch (imageType) {
case PROFILE:
uploadPath = String.format("profile/%d/", memberId);
break;
case COURSE_DETAIL:
uploadPath = String.format("course-detail/%d/", memberId);
break;
case POST:
uploadPath = String.format("post/%d/", memberId);
break;
case POST_COMMENT:
uploadPath = String.format("post-comment/%d/", memberId);
break;
default:
throw new ValidationException(INVALID_IMAGE_TYPE, imageType);
}
String uploadPath = switch (imageType) {
case PROFILE -> String.format("profile/%d/", memberId);
case COURSE_DETAIL -> String.format("course-detail/%d/", memberId);
case POST -> String.format("post/%d/", memberId);
case POST_COMMENT -> String.format("post-comment/%d/", memberId);
default -> throw new ValidationException(INVALID_IMAGE_TYPE, imageType);
};

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmm");
String currentDateTime = LocalDateTime.now().format(formatter);
Expand Down
Expand Up @@ -39,38 +39,27 @@ public Notification createUpvoteNotification(Member member, UpvotedNotification
}

public Notification createCommentNotification(Member member, NotificationEventType event, CommentNotification details) {
String message;
switch (event) {
case COMMENT_ADDED:
message = "<b>"+ details.getCommentWriter() + "</b>님이 <b>\"" + details.getPostTitle() + "\"</b>에 댓글을 달았어요. " +
"<span style='color: #7c7c7c;'>" + details.getCommentContent() + "</span>";
break;
case COMMENT_REPLY_ADDED:
message = "<b>" + details.getCommentWriter() + "</b>님이 대댓글을 달았어요. <span style='color: #7c7c7c;'>" + details.getCommentContent() + "</span>";
break;
default:
throw new ResourceNotFoundException(NOT_FOUND_EVENT, event.toString());
}
String message = switch (event) {
case COMMENT_ADDED ->
"<b>" + details.getCommentWriter() + "</b>님이 <b>\"" + details.getPostTitle() + "\"</b>에 댓글을 달았어요. " +
"<span style='color: #7c7c7c;'>" + details.getCommentContent() + "</span>";
case COMMENT_REPLY_ADDED ->
"<b>" + details.getCommentWriter() + "</b>님이 대댓글을 달았어요. <span style='color: #7c7c7c;'>" + details.getCommentContent() + "</span>";
default -> throw new ResourceNotFoundException(NOT_FOUND_EVENT, event.toString());
};
return new Notification(member, event, message);
}

public Notification createCourseBookmarkNotification(Member member, NotificationEventType event, CourseBookmark courseBookmark) {
String courseTitle = courseBookmark.getCourse().getTitle();

String message;
switch (event) {
case REGISTRATION_START:
message = "북마크하신 코스 **" + courseTitle + "**의 접수가 시작되었어요. 놓치지 마시고 신청하세요 \uD83D\uDE0A";
break;
case REGISTRATION_END_IN_THREE_DAYS:
message = "북마크하신 코스 **" + courseTitle + "**의 접수 마감이 3일 남았어요. 놓치지 마시고 신청하세요 \uD83D\uDE00";
break;
case REGISTRATION_END:
message = "북마크하신 코스 **" + courseTitle + "**의 접수 마감일이에요. 놓치지 마시고 신청하세요 \uD83D\uDE04";
break;
default:
throw new ResourceNotFoundException(NOT_FOUND_EVENT, event.toString());
}
String message = switch (event) {
case REGISTRATION_START -> "북마크하신 코스 **" + courseTitle + "**의 접수가 시작되었어요. 놓치지 마시고 신청하세요 \uD83D\uDE0A";
case REGISTRATION_END_IN_THREE_DAYS ->
"북마크하신 코스 **" + courseTitle + "**의 접수 마감이 3일 남았어요. 놓치지 마시고 신청하세요 \uD83D\uDE00";
case REGISTRATION_END -> "북마크하신 코스 **" + courseTitle + "**의 접수 마감일이에요. 놓치지 마시고 신청하세요 \uD83D\uDE04";
default -> throw new ResourceNotFoundException(NOT_FOUND_EVENT, event.toString());
};
return new Notification(member, event, message);
}

Expand Down
Expand Up @@ -60,17 +60,18 @@ public VotableResponse vote(AuthInfo authInfo, VoteRequest request) {
Optional<Vote> existingVote = findExistingVote(votableType, votableId, member.getId());

switch (votableType) {
case POST:
case POST -> {
Post post = postService.getPostById(votableId);
boolean isBookmarked = postBookmarkService.isBookmarkedByMember(authInfo.getMemberId(), post.getId());
handleVote(voteType, existingVote, post, votableType, votableId, member);
return PostDetailResponse.of(post, isBookmarked);
case POST_COMMENT:
}
case POST_COMMENT -> {
Comment comment = commentService.getCommentById(votableId);
handleVote(voteType, existingVote, comment, votableType, votableId, member);
return CommentResponse.of(comment);
default:
throw new ValidationException(INVALID_VOTABLE_TYPE, votableType.toString());
}
default -> throw new ValidationException(INVALID_VOTABLE_TYPE, votableType.toString());
}
}

Expand Down

0 comments on commit 3192bd8

Please sign in to comment.