diff --git a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java index 01502e8..4f4f448 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java @@ -27,12 +27,39 @@ } + @Path("/{pair-id}") + @POST + @Consumes (MediaType.APPLICATION_FORM_URLENCODED) + public Response postFriends(@FormParam("token")String token,@FormParam("user0-id")String user0Id,@FormParam("user1-id")String user1Id){ + //400 + if (token == null || token.isEmpty()) { //トークンがないか空だったら + var response = Response.status(Response.Status.BAD_REQUEST).entity("トークンが無効です。"); + return Response.status(Response.Status.BAD_REQUEST).build(); + } + //403(未認証&トークンの不一致) + if (!userRepository.checkToken(user0Id, token) || !userRepository.checkToken(user1Id, token)) { // ユーザーまたはトークンが存在しない はるかと相談済み + var response = Response.status(Response.Status.FORBIDDEN).entity("認証エラーです。"); + return Response.status(Response.Status.BAD_REQUEST).build(); + } + + //200 + FriendPair pair = friendService.createFriendPair(user0Id,user1Id); + if (pair == null) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + return Response.status(Response.Status.OK).build(); + + //500は勝手にサーバがエラーでたらでるから書かない + } @Path("/{pair-id}") @GET public Response getFriend(@QueryParam("token") String token, @PathParam("pair-id") int pairId) { //400 + if (token == null || token.isBlank()) { //トークンがないか空だったら + return Response.status(Response.Status.BAD_REQUEST).build(); + } //200 FriendPair pair = friendService.getFriendPair(token, pairId); @@ -41,56 +68,20 @@ } return Response.status(Response.Status.OK).build(); } - @POST - @Consumes (MediaType.APPLICATION_FORM_URLENCODED) - public void postFriends(@FormParam("token")String token,@FormParam("user0-id")String user0Id,@FormParam("user1-id")String user1Id){ - //400 - if (token.isBlank()){ //トークンが空文字だった時 - var response = Response.status(Response.Status.NOT_FOUND).entity("不正なリクエストです!"); - throw new WebApplicationException(response.build()); - } - //401 - //if (!UserRepository.getUser()){ //トークンが通らなかった時 - // var response = Response.status(Response.Status.NOT_FOUND).entity("トークンが無効です。");//404 - // throw new WebApplicationException(response.build()); - //} - //403 - - //404 - //if (!friendService.createFriendPair(user0Id,user1Id){ //ユーザIDが変化した時、 - // var response = Response.status(Response.Status.NOT_FOUND).entity("データが存在しません。");//404 - // throw new WebApplicationException(response.build()); - //} - - - //200 - - //500は勝手にサーバがエラーでたらでるから書かない - - - return; - } @Path("/{pair-id}") @DELETE public Response deleteFriend(@QueryParam("token") String token, @PathParam("pair-id") Integer pairId) { //400 - if (token.isBlank()){ //トークンが空文字だった時 - var response = Response.status(Response.Status.NOT_FOUND).entity("不正なリクエストです。"); - throw new WebApplicationException(response.build()); + if (token == null || token.isEmpty()) { //トークンがないか空だったら + var response = Response.status(Response.Status.BAD_REQUEST).entity("トークンが無効です。"); + return Response.status(Response.Status.BAD_REQUEST).build(); } - //401 - //if (!userRepository.getUser()){ //トークンが通らなかった時 - // var response = Response.status(Response.Status.NOT_FOUND).entity("トークンが無効です。");//404 - // throw new WebApplicationException(response.build()); - //} - //403ここで書く必要なし - //404 if (!friendService.removeFriendPair(token,pairId)){ //トークンに対応したユーザが選択したフレンドが存在しない時 var response = Response.status(Response.Status.NOT_FOUND).entity("データが存在しないです。");//404 - throw new WebApplicationException(response.build()); + return Response.status(Response.Status.NOT_FOUND).build(); } //200