package org.ntlab.acanthus_client.resources.accounts;

import org.ntlab.acanthus_client.entities.FollowAddJson;
import org.ntlab.acanthus_client.entities.FollowUidJson;

import retrofit2.Call;
import retrofit2.http.DELETE;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface FollowsRest {

    //アカウント別のフォロー情報を取得するメソッド

    @GET("accounts/{uid}/follows")
    Call<FollowUidJson> getFollows(
            @Path("uid") Integer uid
    );

    //ユーザーをフォローするメソッド

    @FormUrlEncoded
    @POST("accounts/{uid}/follows")
    Call<FollowAddJson> addFollows(
            @Path("uid") Integer uid,
            @Field("token") String token,
            @Field("followUid") Integer followUid
    );

    //ユーザーのフォローを解除するメソッド


    @DELETE("accounts/{uid}/follows")
    Call<Void> releaseFollows(
            @Path("uid") Integer uid,
            @Query("token") String token,
            @Query("followUid") Integer followUid
    );

}
