diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java index ea3df8d..cbea99a 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java @@ -54,33 +54,27 @@ //相手が既にフレンドの時か、相手から申請を受けている時は実行できない //同じ相手にもう一度申請を送る時は前のものを消して再送(重複しないように、かつArrayListの時系列順を更新できるように) String acToken = ac.getToken(); - if(token.equals(acToken)) { - if(!(acFriends.contains(acTo))) { - if (!(acToRequesting.contains(ac) || acRequested.contains(acTo))) { - if (acRequesting.contains(acTo)) { - fm.removeRequesting(acTo); - } - fm.addRequesting(acTo); - - if (acToRequested.contains(ac)) { - fmTo.removeRequested(ac); - } - fmTo.addRequested(ac); - } else { - var response = Response.status(Response.Status.NO_CONTENT); - response.status(400).entity("リクエストが不正です"); - throw new WebApplicationException(response.build()); - } - }else{ - var response = Response.status(Response.Status.NO_CONTENT); - response.status(400).entity("リクエストが不正です"); - throw new WebApplicationException(response.build()); - } - }else{ + if(!(token.equals(acToken))) { var response = Response.status(Response.Status.NO_CONTENT); response.status(401).entity("認証に失敗しました"); throw new WebApplicationException(response.build()); } + + if(!(acFriends.contains(acTo) || (acToRequesting.contains(ac) || acRequested.contains(acTo)) ) ){ + if (acRequesting.contains(acTo)) { + fm.removeRequesting(acTo); + } + fm.addRequesting(acTo); + + if (acToRequested.contains(ac)) { + fmTo.removeRequested(ac); + } + fmTo.addRequested(ac); + }else{ + var response = Response.status(Response.Status.NO_CONTENT); + response.status(400).entity("リクエストが不正です"); + throw new WebApplicationException(response.build()); + } } @DELETE