package kr.co.vividnext.sodalive.live.recommend

import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.core.Single
import kr.co.vividnext.sodalive.common.ApiResponse
import kr.co.vividnext.sodalive.following.GetCreatorFollowingAllListResponse
import kr.co.vividnext.sodalive.live.recommend_channel.GetRecommendChannelResponse
import retrofit2.http.GET
import retrofit2.http.Header
import retrofit2.http.Query

interface LiveRecommendApi {
    @GET("/live/recommend")
    fun getRecommendLive(
        @Header("Authorization") authHeader: String
    ): Flowable<ApiResponse<List<GetRecommendLiveResponse>>>

    @GET("/live/recommend/channel")
    fun getRecommendChannelList(
        @Header("Authorization") authHeader: String
    ): Flowable<ApiResponse<List<GetRecommendChannelResponse>>>

    @GET("/live/recommend/following/channel/list")
    fun getFollowingChannelList(
        @Header("Authorization") authHeader: String
    ): Single<ApiResponse<List<GetRecommendChannelResponse>>>

    @GET("/live/recommend/following/channel/all/list")
    fun getCreatorFollowingAllList(
        @Query("page") page: Int,
        @Query("size") size: Int,
        @Header("Authorization") authHeader: String
    ): Single<ApiResponse<GetCreatorFollowingAllListResponse>>
}
