From 5d917f2fa167cc5a156d56c279c1afc0c2dd52c1 Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 21 Dec 2024 16:13:49 +0900 Subject: [PATCH 1/3] [feat] Implement controller --- .../api/favorite/controller/FavoriteController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java b/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java index 9f558af2..c6a0d3a4 100644 --- a/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java @@ -10,6 +10,7 @@ import org.hankki.hankkiserver.api.favorite.service.FavoriteQueryService; import org.hankki.hankkiserver.api.favorite.service.command.*; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteGetResponse; +import org.hankki.hankkiserver.api.favorite.service.response.FavoriteNicknameGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteOwnershipGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoritesWithStatusGetResponse; import org.hankki.hankkiserver.auth.UserId; @@ -78,4 +79,9 @@ public HankkiResponse createSharedFavorite(@UserId final Long userId, @Pat public HankkiResponse checkFavoriteOwnership(@UserId Long userId, @PathVariable("favoriteId") final long favoriteId) { return HankkiResponse.success(CommonSuccessCode.OK, favoriteQueryService.checkFavoriteOwnership(FavoriteOwnershipGetCommand.of(userId, favoriteId))); } + + @GetMapping("/favorites/{favoriteId}/users/me") + public HankkiResponse getFavoriteUserNickname(@PathVariable("favoriteId") final long id) { + return HankkiResponse.success(CommonSuccessCode.OK, favoriteQueryService.getFavoriteUserNickname(id)); + } } From 2be3070410bbd3e07d89ce93ff2db3b3c83848e0 Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 21 Dec 2024 16:14:22 +0900 Subject: [PATCH 2/3] [feat] Implement service --- .../api/favorite/service/FavoriteQueryService.java | 13 +++++++++++++ .../response/FavoriteNicknameGetResponse.java | 9 +++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java b/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java index 8777f954..d211c263 100644 --- a/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java @@ -2,10 +2,12 @@ import java.util.ArrayList; import lombok.RequiredArgsConstructor; +import org.hankki.hankkiserver.api.auth.service.UserInfoFinder; import org.hankki.hankkiserver.api.favorite.service.command.FavoriteOwnershipGetCommand; import org.hankki.hankkiserver.api.favorite.service.command.FavoritesGetCommand; import org.hankki.hankkiserver.api.favorite.service.command.FavoritesWithStatusGetCommand; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteGetResponse; +import org.hankki.hankkiserver.api.favorite.service.response.FavoriteNicknameGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteOwnershipGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoritesWithStatusGetResponse; import org.hankki.hankkiserver.api.store.service.StoreFinder; @@ -25,6 +27,7 @@ public class FavoriteQueryService { private final FavoriteFinder favoriteFinder; private final StoreFinder storeFinder; + private final UserInfoFinder userInfoFinder; @Transactional(readOnly = true) public FavoriteGetResponse findFavorite(final FavoritesGetCommand command) { @@ -59,6 +62,7 @@ private boolean favoriteHasNoStore(final Favorite favorite) { return favorite.getFavoriteStores().isEmpty(); } + @Transactional(readOnly = true) public FavoriteOwnershipGetResponse checkFavoriteOwnership(final FavoriteOwnershipGetCommand command) { return FavoriteOwnershipGetResponse.of(isOwner(getOwnerIdById(command.favoriteId()), command.userId())); } @@ -70,4 +74,13 @@ private long getOwnerIdById(final long id) { private boolean isOwner(final long ownerId, final long userId) { return ownerId == userId; } + + @Transactional(readOnly = true) + public FavoriteNicknameGetResponse getFavoriteUserNickname(final long id) { + return FavoriteNicknameGetResponse.of(getNicknameByOwnerId(getOwnerIdById(id))); + } + + private String getNicknameByOwnerId(final long userId) { + return userInfoFinder.getUserInfo(userId).getNickname(); + } } diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java b/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java new file mode 100644 index 00000000..3189f2ec --- /dev/null +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java @@ -0,0 +1,9 @@ +package org.hankki.hankkiserver.api.favorite.service.response; + +public record FavoriteNicknameGetResponse( + String nickname +) { + public static FavoriteNicknameGetResponse of(final String nickname) { + return new FavoriteNicknameGetResponse(nickname); + } +} From b07c438f546951ce0453ea2f487274a14bc4b7ce Mon Sep 17 00:00:00 2001 From: PicturePark1101 Date: Sat, 21 Dec 2024 16:24:49 +0900 Subject: [PATCH 3/3] [refac] Refacotr dto naming --- .../api/favorite/controller/FavoriteController.java | 4 ++-- .../api/favorite/service/FavoriteQueryService.java | 6 +++--- .../service/response/FavoriteNicknameGetResponse.java | 9 --------- .../response/FavoriteUserNicknameGetResponse.java | 9 +++++++++ 4 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java create mode 100644 src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteUserNicknameGetResponse.java diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java b/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java index c6a0d3a4..5525c84a 100644 --- a/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/controller/FavoriteController.java @@ -10,7 +10,7 @@ import org.hankki.hankkiserver.api.favorite.service.FavoriteQueryService; import org.hankki.hankkiserver.api.favorite.service.command.*; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteGetResponse; -import org.hankki.hankkiserver.api.favorite.service.response.FavoriteNicknameGetResponse; +import org.hankki.hankkiserver.api.favorite.service.response.FavoriteUserNicknameGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteOwnershipGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoritesWithStatusGetResponse; import org.hankki.hankkiserver.auth.UserId; @@ -81,7 +81,7 @@ public HankkiResponse checkFavoriteOwnership(@User } @GetMapping("/favorites/{favoriteId}/users/me") - public HankkiResponse getFavoriteUserNickname(@PathVariable("favoriteId") final long id) { + public HankkiResponse getFavoriteUserNickname(@PathVariable("favoriteId") final long id) { return HankkiResponse.success(CommonSuccessCode.OK, favoriteQueryService.getFavoriteUserNickname(id)); } } diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java b/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java index d211c263..75410d68 100644 --- a/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/service/FavoriteQueryService.java @@ -7,7 +7,7 @@ import org.hankki.hankkiserver.api.favorite.service.command.FavoritesGetCommand; import org.hankki.hankkiserver.api.favorite.service.command.FavoritesWithStatusGetCommand; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteGetResponse; -import org.hankki.hankkiserver.api.favorite.service.response.FavoriteNicknameGetResponse; +import org.hankki.hankkiserver.api.favorite.service.response.FavoriteUserNicknameGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoriteOwnershipGetResponse; import org.hankki.hankkiserver.api.favorite.service.response.FavoritesWithStatusGetResponse; import org.hankki.hankkiserver.api.store.service.StoreFinder; @@ -76,8 +76,8 @@ private boolean isOwner(final long ownerId, final long userId) { } @Transactional(readOnly = true) - public FavoriteNicknameGetResponse getFavoriteUserNickname(final long id) { - return FavoriteNicknameGetResponse.of(getNicknameByOwnerId(getOwnerIdById(id))); + public FavoriteUserNicknameGetResponse getFavoriteUserNickname(final long id) { + return FavoriteUserNicknameGetResponse.of(getNicknameByOwnerId(getOwnerIdById(id))); } private String getNicknameByOwnerId(final long userId) { diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java b/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java deleted file mode 100644 index 3189f2ec..00000000 --- a/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteNicknameGetResponse.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.hankki.hankkiserver.api.favorite.service.response; - -public record FavoriteNicknameGetResponse( - String nickname -) { - public static FavoriteNicknameGetResponse of(final String nickname) { - return new FavoriteNicknameGetResponse(nickname); - } -} diff --git a/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteUserNicknameGetResponse.java b/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteUserNicknameGetResponse.java new file mode 100644 index 00000000..7c611a9a --- /dev/null +++ b/src/main/java/org/hankki/hankkiserver/api/favorite/service/response/FavoriteUserNicknameGetResponse.java @@ -0,0 +1,9 @@ +package org.hankki.hankkiserver.api.favorite.service.response; + +public record FavoriteUserNicknameGetResponse( + String nickname +) { + public static FavoriteUserNicknameGetResponse of(final String nickname) { + return new FavoriteUserNicknameGetResponse(nickname); + } +}