Requested #60

Merged h-maehara merged 2 commits into nitta-lab-2023:master from nitta-lab-2023:Requested on 18 May 2023
Showing 2 changed files
View
22
src/main/java/org/ntlab/nemophila/resources/accounts/RequestedRest.java
import org.ntlab.nemophila.models.accounts.FriendManager;
import org.springframework.stereotype.Component;
 
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.Collection;
 
@Component
public class RequestedRest {
 
@GET
@Path("/{uid}/requested")
@Produces(MediaType.APPLICATION_JSON)
public Collection<String> getRequested(@PathParam("uid") String uid) {
 
//uidが申請を受けているidの一覧を返す
AccountManager am = AccountManager.getInstance();
Account ac = am.getAccount(uid);
FriendManager fm = ac.getFriendManager();
 
 
@DELETE
@Path("/{uid}/requested/{requested_id}")
public void putRequestingId(@PathParam("uid") String uid, @PathParam("requested_id") String requested_id, @FormParam("token") String token){
//uidがrequested_idから受けた申請を拒否する
AccountManager am = AccountManager.getInstance(); //AccountManagerを取得
Account ac = am.getAccount(uid); //uidからAccountインスタンスを取得
Account acFrom = am.getAccount(requested_id); //requested_idから申請元のAccountインスタンスを取得
FriendManager fm = ac.getFriendManager(); //uidのAccountのFriendManagerを取得
FriendManager fmFrom = acFrom.getFriendManager(); //申請元のAccountのFriendManagerを取得
 
//入力されたtokenがuidのものと一致した時、uidのrequestedにある申請元のAccountを、申請元のrequestingにあるuidのAccountを削除する
String acToken = ac.getToken();
if(token.equals(acToken)) {
fm.removeRequested(acFrom);
fmFrom.removeRequesting(ac);
}else{
var response = Response.status(Response.Status.NO_CONTENT);
response.status(401).entity("認証に失敗しました");
throw new WebApplicationException(response.build());
}
 
}
}
View
12
src/main/java/org/ntlab/nemophila/resources/accounts/RequestingRest.java
import org.ntlab.nemophila.models.accounts.FriendManager;
import org.springframework.stereotype.Component;
 
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import java.util.Collection;
 
@Path("/accounts")
public class RequestingRest {
@GET
@Path("/{uid}/requesting")
@Produces(MediaType.APPLICATION_JSON)
public Collection<String> getRequesting(@PathParam("uid") String uid) {
 
//uidが申請をしているidの一覧を返す
AccountManager am = AccountManager.getInstance(); //アカウントマネージャーを取得
Account ac = am.getAccount(uid); //uidからAccountインスタンスを取得
FriendManager fm = ac.getFriendManager(); //uidのAccountのFriendManagerを取得
 
 
@PUT
@Path("/{uid}/requesting/{requesting_id}")
public void putRequestingId(@PathParam("uid") String uid, @PathParam("requesting_id") String requesting_id, @FormParam("token") String token){
 
//uidがrequesting_idに申請を送る
AccountManager am = AccountManager.getInstance(); //AccountManagerを取得
Account ac = am.getAccount(uid); //uidからAccountインスタンスを取得
Account acTo = am.getAccount(requesting_id); //requesting_uidから申請先のAccountインスタンスを取得
Account acTo = am.getAccount(requesting_id); //requesting_idから申請先のAccountインスタンスを取得
FriendManager fm = ac.getFriendManager(); //uidのAccountのFriendManagerを取得
FriendManager fmTo = acTo.getFriendManager(); //申請先のAccountのFriendManagerを取得
 
//入力されたtokenがuidのものと一致した時、uidのrequestingに申請先のAccountを、申請先のrequestedにuidのAccountを追加する
 
@DELETE
@Path("/{uid}/requesting/{requesting_id}")
public void deleteRequestingId(@PathParam("uid") String uid, @PathParam("requesting_id") String requesting_id, @FormParam("token") String token){
 
//uidがrequesting_idに送った申請を取り下げる
AccountManager am = AccountManager.getInstance(); //AccountManagerを取得
Account ac = am.getAccount(uid); //uidからAccountインスタンスを取得
Account acTo = am.getAccount(requesting_id); //requesting_uidから申請先のAccountインスタンスを取得
Account acTo = am.getAccount(requesting_id); //requesting_idから申請先のAccountインスタンスを取得
FriendManager fm = ac.getFriendManager(); //uidのAccountのFriendManagerを取得
FriendManager fmTo = acTo.getFriendManager(); //申請先のAccountのFriendManagerを取得
 
//入力されたtokenがuidのものと一致した時、uidのrequestingにある申請先のAccountを、申請先のrequestedにあるuidのAccountを削除する