package com.example.tampopo_client.resources;

import com.example.tampopo_client.models.ChatMessage;
import com.example.tampopo_client.models.Chatroom;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface ChatroomResource {

    // チャットルームに入る
    @POST("chat-rooms")
    Call<Chatroom> enterChatroom(
            @Query("user0-id") String myId,
            @Query("user1-id") String partnerId,
            @Query("token") String token
    );
    //チャットルームを探す
    @GET("chat-rooms")
    Call<Chatroom> getMyChatroom(
            @Query("user0-id") String userId,
            @Query("token") String token
    );


    // メッセージ送信
    @POST("chat-rooms/{chatroom-id}/{user-id}/message")
    Call<ChatMessage> sendMessage(
            @Query("token") String token,
            @Query("chatroom-id") String chatroomId,
            @Query("user-id") String senderId,
            @Query("message") String content
    );

    // メッセージ一覧取得
    @GET("chat-rooms/{chat-room-id}/{user-id}")
    Call<List<ChatMessage>> getMessages(
            @Query("token") String token,
            @Query("chat-room-id") String chatroomId,
            @Query("user-id") String partnerId
    );

    // チャットルーム削除
    @DELETE("chat-rooms/{chatroom-id}/{user-id}")
    Call<Void> destroyChatroom(
            @Query("token") String token,
            @Query("chatroom-id") String chatroomId,
            @Query("user-id") String userId
    );
}
