Newer
Older
tampopo-server / src / main / java / org / ntlab / tampoposerver / resources / ChatRequestsResource.java
package org.ntlab.tampoposerver.resources;

import jakarta.ws.rs.*;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import org.springframework.stereotype.Component;

import static jakarta.ws.rs.core.Response.status;



@Path("/chat-requests/")
@Component

public class ChatRequestsResource {

    @GET
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public Response getChatRequests(
            @QueryParam("token") String token,
            @QueryParam("user-id") String userId) {

        //400(認証が必要です)
        if (token == null || token.isEmpty() || userId == null || userId.isEmpty()) {
            return status(Response.Status.BAD_REQUEST)
                    .entity("認証が必要です").build();
        }

        // 岩谷さんのUserRepositoryでtokenの確認を行う

//        //200(成功レスポンス)
//        ArrayList<ChatRequest> request = ChatService.getChatRequests(token, userId);//前の人がListだったらArrayListになるから作ってて頼む時はListで頼め
//        if (request == null) {
//            return status(Response.Status.BAD_REQUEST)
//                    .entity("認証が必要です").build();
//        }
//
//        return Response.status(Response.Status.OK).entity(requests).build(); //entityは返す、まだ誰も作ってないからrequets自分で作るか、しょうさんが作るか
        return null;
    }

    //チャットリクエストの作成
    //トークンを使って他人の情報を返さないように実装する。
//    @POST
//    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
//    public Response postChatRequest(
//            @FormParam("token") String token,
//            @FormParam("sender-id") String senderId,
//            @FormParam("receiver-id") String receiverId) {
//
//        //204チャットがリクエストされました。
//        ChatRequest created = ChatService.createChatRequest(token, senderId, receiverId);
//        if (created == null) {
//            return status(Pesponse.Status.BAD_REQUEST)
//                    .entity("チャットリクエストの作成に失敗しました").build();
//        }
//
//        return Response.
//        status(Response.Status.OK).entity(created.getId()).build();
//    }

//    @Path("/chat-requests/{chat-request-id}")
//    @DELETE
//    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
//    public Response deleteChatRequest(
//            @QueryParam("token") String token,
//            @PathParam("chat-request-id") int chatRequestId) {
//
//        //401承認が必要です
//        if (token == null || token.isEmpty()) {
//            return status(Response.Status.UNAUTHORIZED)
//                    .entity("認証が必要です") // 401
//                    .build();
//        }
//        //403権限がありません
//        boolean hasPermission = checkUserPermission(token, chatRequestId);
//        if (!hasPermission) {
//            return status(Response.Status.FORBIDDEN)
//                    .entity("権限がありません") // 403
//                    .build();
//        }
//
//        //404チャットリクエストが見つかりません。
//        boolean deleted = deleteChatRequestById(chatRequestId);
//        if (!deleted) {
//            return status(Response.Status.NOT_FOUND)
//                    .entity("チャットリクエストが見つかりません") // 404
//                    .build();
//        }
//        //204チャットリクエストが削除されました
//        return status(Response.Status.NO_CONTENT).build();
//    }

}