diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java index 48058a2..38340a7 100644 --- a/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java +++ b/src/main/java/org/ntlab/tampoposerver/repositories/FriendRepository.java @@ -3,7 +3,9 @@ import org.ntlab.tampoposerver.models.FriendPair; import org.springframework.stereotype.Repository; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; @Repository @@ -65,4 +67,17 @@ FriendPair removedPair = friends.remove(pairId); return removedPair != null; } + + // 指定ユーザーとフレンドの一覧を返す + public List findFriendsByUserId(String userId) { + List result = new ArrayList<>(); + for (FriendPair pair : friends.values()) { + if (pair.getUser0Id().equals(userId)) { + result.add(pair.getUser1Id()); + } else if (pair.getUser1Id().equals(userId)) { + result.add(pair.getUser0Id()); + } + } + return result; + } } diff --git a/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java b/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java index baf59a9..8c4bbb6 100644 --- a/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java +++ b/src/main/java/org/ntlab/tampoposerver/repositories/UserRepository.java @@ -12,7 +12,7 @@ private final HashMap userMap = new HashMap<>(); public UserRepository() { - // ✅ 起動時にユーザーを登録 + // 起動時にユーザーを登録 User user0 = new User("test0", "test0", "0003jfjf8hfjjdjfjhs8n3"); User user1 = new User("test1", "test1", "6666jfjf8hfjjdjfjhs5n2"); diff --git a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java index 903db44..f5050e7 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java @@ -59,7 +59,7 @@ //500は勝手にサーバがエラーでたらでるから書かない } - @Path("/{pair-id}") + @Path("/pairs/{pair-id}") @GET @Produces (MediaType.APPLICATION_JSON) @@ -77,7 +77,7 @@ return Response.status(Response.Status.OK).entity(pair).build(); } - @Path("/{pair-id}") + @Path("/pairs/{pair-id}") @DELETE @Produces (MediaType.APPLICATION_JSON) @@ -99,4 +99,23 @@ //500は勝手にサーバがエラーでたらでるから書かない } -} \ No newline at end of file + @Path("/users/{user-id}") + @GET + @Produces(MediaType.APPLICATION_JSON) + + public Response getFriendslist(@PathParam("user-id") String userId, @QueryParam("token") String token){ + //400 + if (token == null || token.isEmpty()) { //トークンがないか空だったら + var response = Response.status(Response.Status.BAD_REQUEST).entity("トークンが無効です。"); + return Response.status(Response.Status.BAD_REQUEST).build(); + } + //200成功 + var pair = friendService.getFriendIds(token, userId); + if (pair == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + //200成功 + return Response.status(Response.Status.OK).entity(pair).build(); + } +} +