diff --git a/src/main/java/org/ntlab/acanthus_server/resources/accounts/InvitedRest.java b/src/main/java/org/ntlab/acanthus_server/resources/accounts/InvitedRest.java index dbe6cd4..dc69740 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/accounts/InvitedRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/accounts/InvitedRest.java @@ -61,7 +61,7 @@ //招待された作品の招待者の中に自分が含まれているか確認 if(invitedAnimation.searchAnimationInvites(aid, String.valueOf(invitedUid)) != null){ //Workクラスのstateを1に変更 - //accountInvitedMap.get(aid).setInvites(); + accountInvitedMap.get(aid).setInvites(aid); }else{ throw new WebApplicationException(400); @@ -86,18 +86,24 @@ @DELETE public void removeAccountInvited(@PathParam("uid") int invitedUid, @FormParam("invitedToken") String invitedToken, @FormParam("aid") int aid){ var invitedAccount = accounts.getAccountByUid(invitedUid); + var animation = gallery.getAnimationByAid(aid); if(invitedAccount != null && invitedAccount.getToken().equals(invitedToken)){ - if(this.checkAccountInvited(invitedUid, aid)) { + if(invitedAccount.getInvitedMap().get(aid) != null && animation.getAnimationInvites().contains(invitedAccount)) { //accountのworkHashMapから削除 invitedAccount.getWorkHashMap().remove(aid); + //animationのinvitesから削除 + animation.removeAnimationInvites(invitedAccount); }else{ //削除しようとしているaidがinvitedHashMapに含まれていない throw new WebApplicationException(400); } - } + }else { + //token認証失敗 + throw new WebApplicationException(400); + } } } \ No newline at end of file