diff --git a/src/main/java/org/websoso/WSSServer/controller/UserController.java b/src/main/java/org/websoso/WSSServer/controller/UserController.java index d55ad59a..cfa745b4 100644 --- a/src/main/java/org/websoso/WSSServer/controller/UserController.java +++ b/src/main/java/org/websoso/WSSServer/controller/UserController.java @@ -22,7 +22,6 @@ import org.websoso.WSSServer.dto.feed.UserFeedsGetResponse; import org.websoso.WSSServer.dto.user.EditMyInfoRequest; import org.websoso.WSSServer.dto.user.EditProfileStatusRequest; -import org.websoso.WSSServer.dto.user.UserInfoGetResponse; import org.websoso.WSSServer.dto.user.LoginResponse; import org.websoso.WSSServer.dto.user.MyProfileResponse; import org.websoso.WSSServer.dto.user.NicknameValidation; @@ -30,6 +29,8 @@ import org.websoso.WSSServer.dto.user.ProfileStatusResponse; import org.websoso.WSSServer.dto.user.RegisterUserInfoRequest; import org.websoso.WSSServer.dto.user.UpdateMyProfileRequest; +import org.websoso.WSSServer.dto.user.UserIdAndNicknameResponse; +import org.websoso.WSSServer.dto.user.UserInfoGetResponse; import org.websoso.WSSServer.dto.user.UserNovelCountGetResponse; import org.websoso.WSSServer.dto.userNovel.UserGenrePreferencesGetResponse; import org.websoso.WSSServer.dto.userNovel.UserNovelAndNovelsGetResponse; @@ -191,7 +192,7 @@ public ResponseEntity getUserGenrePreferences(P .status(OK) .body(userNovelService.getUserAttractivePointsAndKeywords(visitor, ownerId)); } - + @PutMapping("/info") public ResponseEntity editMyInfo(Principal principal, @Valid @RequestBody EditMyInfoRequest editMyInfoRequest) { @@ -201,4 +202,12 @@ public ResponseEntity editMyInfo(Principal principal, .status(NO_CONTENT) .build(); } + + @GetMapping("/me") + public ResponseEntity getUserIdAndNickname(Principal principal) { + User user = userService.getUserOrException(Long.valueOf(principal.getName())); + return ResponseEntity + .status(OK) + .body(userService.getUserIdAndNickname(user)); + } } diff --git a/src/main/java/org/websoso/WSSServer/dto/user/UserIdAndNicknameResponse.java b/src/main/java/org/websoso/WSSServer/dto/user/UserIdAndNicknameResponse.java new file mode 100644 index 00000000..3e9d373a --- /dev/null +++ b/src/main/java/org/websoso/WSSServer/dto/user/UserIdAndNicknameResponse.java @@ -0,0 +1,16 @@ +package org.websoso.WSSServer.dto.user; + +import org.websoso.WSSServer.domain.User; + +public record UserIdAndNicknameResponse( + Long userId, + String nickname +) { + + public static UserIdAndNicknameResponse of(User user) { + return new UserIdAndNicknameResponse( + user.getUserId(), + user.getNickname() + ); + } +} diff --git a/src/main/java/org/websoso/WSSServer/service/UserService.java b/src/main/java/org/websoso/WSSServer/service/UserService.java index f90ca75e..1873342f 100644 --- a/src/main/java/org/websoso/WSSServer/service/UserService.java +++ b/src/main/java/org/websoso/WSSServer/service/UserService.java @@ -21,6 +21,7 @@ import org.websoso.WSSServer.domain.User; import org.websoso.WSSServer.dto.user.EditMyInfoRequest; import org.websoso.WSSServer.dto.user.EditProfileStatusRequest; +import org.websoso.WSSServer.dto.user.UserIdAndNicknameResponse; import org.websoso.WSSServer.dto.user.UserInfoGetResponse; import org.websoso.WSSServer.dto.user.LoginResponse; import org.websoso.WSSServer.dto.user.MyProfileResponse; @@ -174,4 +175,9 @@ private Genre findByGenreNameOrThrow(String genreName) { public void editMyInfo(User user, EditMyInfoRequest editMyInfoRequest) { user.editMyInfo(editMyInfoRequest); } + + @Transactional(readOnly = true) + public UserIdAndNicknameResponse getUserIdAndNickname(User user) { + return UserIdAndNicknameResponse.of(user); + } }