diff --git a/src/main/java/org/ntlab/tampoposerver/resources/HelloWorldResource.java b/src/main/java/org/ntlab/tampoposerver/resources/HelloWorldResource.java deleted file mode 100644 index 3f3e884..0000000 --- a/src/main/java/org/ntlab/tampoposerver/resources/HelloWorldResource.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.ntlab.tampoposerver.resources; - -import jakarta.ws.rs.GET; -import jakarta.ws.rs.Path; -import org.springframework.stereotype.Component; - -@Path("/hello-world") -@Component -public class HelloWorldResource { - @GET - public String getHello() { - return "Hello World!!"; - } -} diff --git a/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java b/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java index efe3fba..27a81f8 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java @@ -11,11 +11,9 @@ import java.util.ArrayList; import java.util.List; - -//6/10報告:全部できた(friendまで)、UserRepositoryとの連携ができていない(updateあります?)、responseがない - /* -ログインした時にtokenが返ってくるようにする +//6/10報告:全部できた(friendまで)、UserRepositoryとの連携ができていない(updateあります?)、responseがない +//6/17報告:すべてのユーザーの情報を持ってくるところ、フレンドペアの自分じゃない方のuidを返すところ、フレンドペアの削除はもらったものを連携できていない マスタからこのブランチへと取り込む ブランチ checkout @@ -56,8 +54,8 @@ repositoryのメソッド名:add, get, delete 本来の流れはインターフェースだけ決めておく メソッド名と引数名*/ public Response getUsers() { - //TODO:getAllUserという名前でユーザーのリストを返してくれるメソッドを作ってもらう - List users = userRepository.getAllUser(); + //TODO:getAllUsersという名前でユーザーのリストを返してくれるメソッドを作ってもらう + List users = userRepository.getAllUsers(); if (users.isEmpty()) { return Response.noContent().build(); // 204 } @@ -129,11 +127,11 @@ } - //ログイン swagger通りにuserIdをPathParmにしています + //ログイン @POST - @Path("/login") + @Path("/{userId}/login") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) - public Response login(@PathParm("userId") String userId, @FormParam("password") String password) { + public Response login(@PathParam("userId") String userId, @FormParam("password") String password) { //存在チェック User user = userRepository.getUser(userId); @@ -157,7 +155,6 @@ //トークン発行 String token = user.login(); - return Response.ok(token).build(); } @@ -259,7 +256,7 @@ @PUT @Path("/{userId}/email") @Consumes(MediaType.APPLICATION_FORM_URLENCODED) - public Response updateEmail(@PathParam("userId") String userId, @FormParam("new_email") String newEmail, @FormParm("token") String token) { + public Response updateEmail(@PathParam("userId") String userId, @FormParam("new_email") String newEmail, @FormParam("token") String token) { User user = userRepository.getUser(userId); if (user == null) { @@ -325,6 +322,41 @@ } + //フレンド相手の情報の取得 + @GET + @Path("/{userId}/friends/") + @Produces(MediaType.APPLICATION_JSON) + public Response getFriends(@PathParam("userId") String userId, @QueryParam("token") String token) { + User user = userRepository.getUser(userId); + if (user == null) { + throw new WebApplicationException( + Response.status(Response.Status.NOT_FOUND) + .entity("ユーザーが存在しません") + .build() + ); + } + if (token == null || !token.equals(user.getToken())) { + throw new WebApplicationException( + Response.status(Response.Status.FORBIDDEN) + .entity("認証失敗") + .build() + ); + } + //TODO:山際くんにpairIdを取ってきて自分じゃない方のuserIdを渡すメソッドを作ってもらう + ArrayList friendIds = user.getFriendPairs(); + //pairIdからuserIdを2つ引っ張ってくる + friendIds.get(0).getUser0Id(); + //山際くんが書く + + //userIdで自分じゃない方をピックアップ + + //リストにして返却 + + return Response + .ok(friendIds) + .build(); + } + //自分のペアのpid一覧(JSON)の取得 @GET @@ -348,42 +380,14 @@ ); } - //TODO:済み 岩谷さんに自分のペアのpid一覧を取ってくるメソッドを作ってもらう ArrayList pairIds = user.getFriendPairs(); // JSON で返す return Response.ok(pairIds).build(); } - //フレンド相手の情報の取得 TODOこれが存在する理由がわかっていないので解決する(上と同じような気がする) - @GET - @Path("/{userId}/friends/") - @Produces(MediaType.APPLICATION_JSON) - public Response getFriends(@PathParam("userId") String userId, @QueryParam("token") String token) { - User user = userRepository.getUser(userId); - if (user == null) { - throw new WebApplicationException( - Response.status(Response.Status.NOT_FOUND) - .entity("ユーザーが存在しません") - .build() - ); - } - if (token == null || !token.equals(user.getToken())) { - throw new WebApplicationException( - Response.status(Response.Status.FORBIDDEN) - .entity("認証失敗") - .build() - ); - } - //TODO: 済み 岩谷さんにフレンドIDを取ってくるメソッドを作ってもらう - ArrayList friendIds = user.getFriendPairs(); - return Response - .ok(friendIds) - .build(); - } - - //ペアの削除 + //ペアの削除  TODO:山際くんのものを使うために実装を変更 @DELETE @Path("/{userId}/friends/{pairId}") public Response deleteFriends(@PathParam("userId") String userId, @PathParam("pairId") String pairId, @QueryParam("token") String token) { @@ -401,9 +405,17 @@ ); } + FriendPair pair = user.getFriendPairs() + .stream() + .filter(p -> p.getId().equals(pairId)) + .findFirst() + .orElse(null); + + + //TODO:岩谷さんにペア削除を作ってもらう - user.deleteFriendPair(); + userRepository.deleteFriendPair(userId, pair); return Response.noContent().build(); } }