diff --git a/src/main/java/org/ntlab/nemophila/models/accounts/FriendManager.java b/src/main/java/org/ntlab/nemophila/models/accounts/FriendManager.java index 3c48b91..24e464c 100644 --- a/src/main/java/org/ntlab/nemophila/models/accounts/FriendManager.java +++ b/src/main/java/org/ntlab/nemophila/models/accounts/FriendManager.java @@ -17,29 +17,27 @@ public void removeFriend(Account friend) {} public void addRequesting(Account to) { - - requesting.add(to); - } public ArrayList getRequesting() { return requesting; } - public void removeRequesting(Account to) {} + public void removeRequesting(Account to) { + requesting.remove(to); + } public void addRequested(Account from) { - - - requesting.add(from); - + requested.add(from); } public ArrayList getRequested() { - return requesting; + return requested; } - public void removeRequested(Account from) {} + public void removeRequested(Account from) { + requested.remove(from); + } } 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 64ee8da..8675311 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java @@ -1,23 +1,66 @@ package org.ntlab.nemophila.resources.accounts; +import org.ntlab.nemophila.models.accounts.Account; +import org.ntlab.nemophila.models.accounts.AccountManager; +import org.ntlab.nemophila.models.accounts.FriendManager; import org.springframework.stereotype.Component; import javax.ws.rs.*; +import java.util.ArrayList; +import java.util.Collection; @Component @Path("/accounts") public class RequestingRest { @GET @Path("/{uid}/requesting") - public String getRequesting(@PathParam("uid") String uid) { + public Collection getRequesting(@PathParam("uid") String uid) { - return null; + AccountManager am = AccountManager.getInstance(); + Account ac = am.getAccount(uid); + FriendManager fm = ac.getFriendManager(); + + ArrayList requesting = fm.getRequesting(); + ArrayList ids = new ArrayList<>(); + + for (Account a: requesting){ + ids.add(a.getId()); + } + + return ids; } @PUT @Path("/{uid}/requesting/{requesting_id}") public String PutRequestingId(@PathParam("uid") String uid, @PathParam("requesting_id") String requesting_id, @FormParam("token") String token){ + AccountManager am = AccountManager.getInstance(); + Account ac = am.getAccount(uid); + Account acto = am.getAccount(requesting_id); + FriendManager fm = ac.getFriendManager(); + FriendManager fmto = acto.getFriendManager(); + + fm.addRequesting(acto); + fmto.addRequested(ac); + return null; } + + @DELETE + @Path("/{uid}/requesting/{requesting_id}") + public String DeleteRequestingId(@PathParam("uid") String uid, @PathParam("requesting_id") String requesting_id, @FormParam("token") String token){ + + AccountManager am = AccountManager.getInstance(); + Account ac = am.getAccount(uid); + Account acto = am.getAccount(requesting_id); + FriendManager fm = ac.getFriendManager(); + FriendManager fmto = acto.getFriendManager(); + + fm.removeRequesting(acto); + fmto.removeRequested(ac); + + return null; + } + + }