diff --git a/src/main/java/org/ntlab/tampoposerver/services/FriendService.java b/src/main/java/org/ntlab/tampoposerver/services/FriendService.java index 77e8baf..f2372ba 100644 --- a/src/main/java/org/ntlab/tampoposerver/services/FriendService.java +++ b/src/main/java/org/ntlab/tampoposerver/services/FriendService.java @@ -11,7 +11,6 @@ import java.util.ArrayList; import java.util.Collection; -import java.util.Optional; // MEMO: ユーザーのトークンを認証するところはUserRepositoryに任せる // MEMO: フレンド系の操作で認証が必要な場合はここで対応する @@ -37,14 +36,13 @@ * @return 作成されたフレンドリクエストのインスタンス(tokenに対応したユーザーがsenderIdでもreceiverIdにも関係しない場合は{@code Optional.empty()}) * @apiNote {@code token} が有効かどうか、{@code senderId}と{@code receiverId}に対応したユーザーがそれぞれ存在するかどうかは別に判定が必要 */ - public Optional createFriendRequest(String token, String senderId, String receiverId) { + public FriendRequest createFriendRequest(String token, String senderId, String receiverId) { User sender = userRepository.getUser(senderId); User receiver = userRepository.getUser(receiverId); if (!sender.getToken().equals(token) && !receiver.getToken().equals(token)) { - return Optional.empty(); + return null; } - FriendRequest newRequest = friendRequestRepository.create(new FriendRequest(senderId, receiverId)); - return Optional.of(newRequest); + return friendRequestRepository.create(new FriendRequest(senderId, receiverId)); } /** @@ -97,13 +95,13 @@ * @return 追加されたフレンドペアのインスタンス(エラーがあった場合は{@code Optional.empty()}) * @apiNote {@code token} が有効かどうかは別に判定が必要 */ - public Optional createFriendPair(String user0Id, String user1Id) { + public FriendPair createFriendPair(String user0Id, String user1Id) { // フレンドリクエストを検索して削除する FriendRequest acceptedRequest = friendRequestRepository.findAll().stream().filter((req) -> { return (req.getSenderId().equals(user0Id) && req.getReceiverId().equals(user1Id)) || (req.getSenderId().equals(user1Id) && req.getReceiverId().equals(user0Id)); }).findFirst().orElse(null); if (acceptedRequest == null) { - return Optional.empty(); + return null; } friendRequestRepository.delete(acceptedRequest.getId()); @@ -111,7 +109,7 @@ FriendPair createdPair = friendRepository.add(new FriendPair(user0Id, user1Id)); userRepository.addFriendPair(user0Id, createdPair); userRepository.addFriendPair(user1Id, createdPair); - return Optional.of(createdPair); + return createdPair; } /** @@ -122,17 +120,17 @@ * @return 渡したフレンドペアのIDに対応したフレンドペア * @apiNote {@code token} が有効かどうかは別に判定が必要 */ - public Optional getFriendPair(String token, int friendPairId) { + public FriendPair getFriendPair(String token, int friendPairId) { FriendPair foundPair = friendRepository.find(friendPairId); if (foundPair == null) { - return Optional.empty(); + return null; } User user0 = userRepository.getUser(foundPair.getUser0Id()); User user1 = userRepository.getUser(foundPair.getUser1Id()); if (!user0.getToken().equals(token) && !user1.getToken().equals(token)) { - return Optional.empty(); + return null; } - return Optional.of(foundPair); + return foundPair; } /**