diff --git a/.idea/misc.xml b/.idea/misc.xml
index 9080f9e..9879958 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java
index df7ee74..fe385b9 100644
--- a/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java
+++ b/src/main/java/org/ntlab/tampoposerver/resources/FriendsResource.java
@@ -1,18 +1,104 @@
package org.ntlab.tampoposerver.resources;
-import jakarta.ws.rs.GET;
-import jakarta.ws.rs.Path;
-import jakarta.ws.rs.PathParam;
-import jakarta.ws.rs.QueryParam;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import org.ntlab.tampoposerver.models.FriendPair;
+import org.ntlab.tampoposerver.repositories.UserRepository;
+import org.ntlab.tampoposerver.services.FriendService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.annotation.AliasFor;
import org.springframework.stereotype.Component;
+import java.util.UUID;
+
@Path("/friends")
@Component
public class FriendsResource {
- @Path("/{pair-id}")
- @GET
- public String getFriends(@QueryParam("token") String token, @PathParam("pair-id") String pairId) {
- return "Hello World!!";
+
+ private UserRepository userRepository = null;
+ private FriendService friendService = null;
+
+ @Autowired
+ public FriendsResource(UserRepository userRepository, FriendService friendService) {
+ this.userRepository = userRepository;
+ this.friendService = friendService;
}
+
+
+
+ @Path("/{pair-id}")
+ @GET
+ public Response getFriend(@QueryParam("token") String token, @PathParam("pair-id") int pairId) {
+ //400
+
+ //200
+ FriendPair pair = friendService.getFriendPair(token, pairId);
+ if (pair == null) {
+ return Response.status(Response.Status.NOT_FOUND).build();
+ }
+ return Response.status(Response.Status.OK).build();
+ }
+ @POST
+ @Consumes (MediaType.APPLICATION_FORM_URLENCODED)
+ public void postFriends(@FormParam("token")String token,@FormParam("user0-id")String user0Id,@FormParam("user1-id")String user1Id){
+ //400
+ if (token.isBlank()){ //トークンが空文字だった時
+ var response = Response.status(Response.Status.NOT_FOUND).entity("不正なリクエストです。");
+ throw new WebApplicationException(response.build());
+ }
+ //401
+ if (!UserRepository.getUser()){ //トークンが通らなかった時
+ var response = Response.status(Response.Status.NOT_FOUND).entity("トークンが無効です。");//404
+ throw new WebApplicationException(response.build());
+ }
+
+ //403
+
+ //404
+ //if (!friendService.createFriendPair(user0Id,user1Id){ //ユーザIDが変化した時、
+ // var response = Response.status(Response.Status.NOT_FOUND).entity("データが存在しません。");//404
+ // throw new WebApplicationException(response.build());
+ //}
+
+
+ //200
+
+ //500は勝手にサーバがエラーでたらでるから書かない
+
+
+ return;
+ }
+ @Path("/{pair-id}")
+ @DELETE
+ public Response deleteFriend(@QueryParam("token") String token, @PathParam("pair-id") Integer pairId) {
+ //400
+ if (token.isBlank()){ //トークンが空文字だった時
+ var response = Response.status(Response.Status.NOT_FOUND).entity("不正なリクエストです。");
+ throw new WebApplicationException(response.build());
+ }
+
+ //401
+ //if (!userRepository.getUser()){ //トークンが通らなかった時
+ // var response = Response.status(Response.Status.NOT_FOUND).entity("トークンが無効です。");//404
+ // throw new WebApplicationException(response.build());
+ //}
+ //403ここで書く必要なし
+
+ //404
+ if (!friendService.removeFriendPair(token,pairId)){ //トークンに対応したユーザが選択したフレンドが存在しない時
+ var response = Response.status(Response.Status.NOT_FOUND).entity("データが存在しないです。");//404
+ throw new WebApplicationException(response.build());
+ }
+
+ //200
+ return Response.status(Response.Status.OK).build();
+
+ //500は勝手にサーバがエラーでたらでるから書かない
+ }
+
+
}
+