diff --git a/src/main/java/org/ntlab/tampoposerver/services/FriendService.java b/src/main/java/org/ntlab/tampoposerver/services/FriendService.java index fbcd3d4..2cd7576 100644 --- a/src/main/java/org/ntlab/tampoposerver/services/FriendService.java +++ b/src/main/java/org/ntlab/tampoposerver/services/FriendService.java @@ -1,7 +1,7 @@ package org.ntlab.tampoposerver.services; +import org.ntlab.tampoposerver.models.FriendPair; import org.ntlab.tampoposerver.models.FriendRequest; -import org.ntlab.tampoposerver.models.User; import org.ntlab.tampoposerver.repositories.FriendRepository; import org.ntlab.tampoposerver.repositories.FriendRequestRepository; import org.ntlab.tampoposerver.repositories.UserRepository; @@ -9,7 +9,10 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Optional; +// MEMO: ユーザーのトークンを認証するところはUserRepositoryに任せる +// MEMO: フレンド系の操作で認証が必要な場合はここで対応する @Service public class FriendService { private final UserRepository userRepository; @@ -24,49 +27,69 @@ } /** - * ユーザー自身に関連するフレンドリクエストをすべて返す + * 新しいフレンドリクエストを作成する * - * @param token ユーザー認証用のトークン - * @return ユーザー自身に関連するすべてのフレンドリクエスト(ユーザートークンが無効だったらnull、リクエストがなければ空のリスト) + * @param token APIリクエストをしてきたユーザーの認証用トークン + * @param senderId フレンドリクエストを送ったユーザーのユーザーID + * @param receiverId フレンドリクエストを受け取ったユーザーのユーザーID + * @return 作成されたフレンドリクエストのインスタンス */ - public ArrayList getFriendRequests(String token) { - // TODO: ユーザーリポジトリの実装待ち User user = userRepository.findUserByToken(token); - User user = null; - if (user == null) { - return null; - } - - ArrayList friendRequests = new ArrayList<>(); - for (FriendRequest request : friendRequestRepository.getFriendRequests()) { - // TODO: ユーザーモデルの実装待ち -// if (request.getSenderId().equals(user.getId()) || request.getReceiverId().equals(user.getId())) { -// friendRequests.add(request); -// } - } - return friendRequests; + public Optional createFriendRequest(String token, String senderId, String receiverId) { + return Optional.empty(); } /** + * ユーザー自身に関連するフレンドリクエストをすべて返す * - * @param token APIリクエストをしてきたユーザーの認証用トークン - * @param senderId フレンドリクエストを送ったユーザーのユーザーID - * @param receiverId フレンドリクエストを受け取ったユーザーのユーザーID - * @return TODO: comment + * @param token ユーザー認証用のトークン + * @return ユーザー自身に関連するすべてのフレンドリクエストのインスタンス(リクエストがなければ空のリスト) */ - public FriendRequest addFriendRequest(String token, String senderId, String receiverId) { - // TODO: ユーザーリポジトリの実装待ち User operatedUser = userRepository.findUserByToken(token); - // TODO: ユーザーリポジトリの実装待ち User sender = userRepository.findUserById(token); - // TODO: ユーザーリポジトリの実装待ち User receiver = userRepository.findUserById(token); - User operatedUser = null; - User sender = null; - User receiver = null; - if (operatedUser == null || senderId == null || receiverId == null) { - return null; - } - if (!operatedUser.equals(sender)) { - return null; - } + public ArrayList getFriendRequests(String token) { + return new ArrayList<>(); + } - return friendRequestRepository.addFriendRequest(senderId, receiverId); + /** + * 指定したフレンドリクエストを削除する + * + * @param token APIリクエストをしてきたユーザーの認証用トークン + * @param friendRequestId 削除する対象のフレンドリクエストのID + * @return 削除に成功したらtrue, それ以外はfalse + */ + public boolean removeFriendRequest(String token, int friendRequestId) { + return false; + } + + /** + * 新しくフレンドペアを作成する + * + * @param token APIリクエストをしてきたユーザーの認証用トークン + * @param user0Id 片方のユーザーのユーザーID + * @param user1Id もう一方のユーザーのユーザーID + * @return 追加されたフレンドペアのインスタンス + */ + public Optional createFriendPair(String token, String user0Id, String user1Id) { + return Optional.empty(); + } + + /** + * 指定したフレンドのペアを取得する + * + * @param token APIリクエストをしてきたユーザーの認証用トークン + * @param friendPairId 取得する対象のフレンドペアのID + * @return 渡したフレンドペアのIDに対応したフレンドペア + */ + public Optional getFriendPair(String token, int friendPairId) { + return Optional.empty(); + } + + /** + * 指定したフレンドのペアを削除する + * + * @param token APIリクエストをしてきたユーザーの認証用トークン + * @param friendPairId 削除する対象のフレンドペアのID + * @return 削除に成功したらtrue, それ以外はfalse + */ + public boolean removeFriendPair(String token, int friendPairId) { + return false; } }