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 5dca9e0..f5b89ab 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 @@ -2,6 +2,7 @@ import org.ntlab.acanthus_server.models.Accounts; +import org.ntlab.acanthus_server.models.Gallery; import org.springframework.stereotype.Component; import javax.ws.rs.*; @@ -10,6 +11,7 @@ public class InvitedRest { private Accounts accounts = Accounts.getInstance(); + private Gallery gallery = Gallery.getInstance(); /** *accountの中に指定されたaidの作品が入っているかをtrue,falseでかえす @@ -18,7 +20,7 @@ */ @Path("/{uid}/invited") @GET - public boolean checkAccountInvited(@PathParam("ownerUid") int ownerUid, @QueryParam("aid") int aid){ + public boolean checkAccountInvited(@PathParam("uid") int ownerUid, @QueryParam("aid") int aid){ var account = accounts.getAccountByUid(ownerUid); if(account != null){ @@ -43,9 +45,10 @@ */ @Path("/{uid}/invited") @PUT - public void addAccountInvited(@PathParam("invitedUid") int invitedUid, @FormParam("ownerUid") int ownerUid, @FormParam("ownerToken") String ownerToken, @FormParam("aid") int aid){ + public void addAccountInvited(@PathParam("uid") int invitedUid, @FormParam("ownerUid") int ownerUid, @FormParam("ownerToken") String ownerToken, @FormParam("aid") int aid){ var invitedAccount = accounts.getAccountByUid(invitedUid); var ownerAccount = accounts.getAccountByUid(ownerUid); + var invitedAnimation = gallery.getAnimationByAid(aid); if(ownerAccount != null && ownerAccount.getToken().equals(ownerToken)){ var accountInvitedMap = invitedAccount.getInvitedMap(); @@ -55,9 +58,15 @@ throw new WebApplicationException(400); }else{ - //Workクラスのstateを1に変更 - accountInvitedMap.get(aid).setInvites(); + //招待された作品の招待者の中に自分が含まれているか確認 + if(invitedAnimation.searchAnimationInvites(aid, String.valueOf(invitedUid)) != null){ + //Workクラスのstateを1に変更 + accountInvitedMap.get(aid).setInvites(); + }else{ + throw new WebApplicationException(400); + + } } }else{ @@ -75,7 +84,7 @@ */ @Path("/{uid}/invited") @DELETE - public void removeAccountInvited(@PathParam("invitedUid") int invitedUid, @FormParam("invitedToken") String invitedToken, @FormParam("aid") int aid){ + public void removeAccountInvited(@PathParam("uid") int invitedUid, @FormParam("invitedToken") String invitedToken, @FormParam("aid") int aid){ var invitedAccount = accounts.getAccountByUid(invitedUid); if(invitedAccount != null && invitedAccount.getToken().equals(invitedToken)){