package com.adealink.weparty.profile.datasource.remote

import com.adealink.frame.base.Rlt
import com.adealink.frame.network.data.Res
import com.adealink.weparty.profile.relation.data.FansListReq
import com.adealink.weparty.profile.relation.data.FansListRes
import com.adealink.weparty.profile.relation.data.FollowListReq
import com.adealink.weparty.profile.relation.data.FollowListRes
import com.adealink.weparty.profile.relation.data.FollowReq
import com.adealink.weparty.profile.relation.data.FollowStatusReq
import com.adealink.weparty.profile.relation.data.FollowStatusRes
import com.adealink.weparty.profile.relation.data.VisitorListReq
import com.adealink.weparty.profile.relation.data.VisitorListRes
import retrofit2.http.Body
import retrofit2.http.POST

interface FollowHttpService {


    @POST("user/followRelateions/get")
    suspend fun isFollow(
        @Body req: FollowStatusReq
    ): Rlt<Res<FollowStatusRes>>

    @POST("user/follow")
    suspend fun follow(
        @Body req: FollowReq
    ): Rlt<Res<Any>>


    @POST("user/relateion/myFollows")
    suspend fun pullFollowList(
        @Body req: FollowListReq
    ): Rlt<Res<FollowListRes>>


    @POST("user/relateion/fans")
    suspend fun pullFansList(
        @Body req: FansListReq
    ): Rlt<Res<FansListRes>>

    @POST("user/visitors")
    suspend fun pullVisitorList(
        @Body req: VisitorListReq
    ): Rlt<Res<VisitorListRes>>


}