diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveApi.kt new file mode 100644 index 00000000..f6998b9d --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveApi.kt @@ -0,0 +1,15 @@ +package kr.co.vividnext.sodalive.v2.live.onair.data + +import io.reactivex.rxjava3.core.Single +import kr.co.vividnext.sodalive.common.ApiResponse +import retrofit2.http.GET +import retrofit2.http.Header +import retrofit2.http.Query + +interface HomeOnAirLiveApi { + @GET("/api/v2/home/on-air-lives") + fun getOnAirLives( + @Header("Authorization") authHeader: String?, + @Query("page") page: Int + ): Single> +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveModels.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveModels.kt new file mode 100644 index 00000000..15fe3aa2 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveModels.kt @@ -0,0 +1,22 @@ +package kr.co.vividnext.sodalive.v2.live.onair.data + +import androidx.annotation.Keep +import com.google.gson.annotations.SerializedName + +@Keep +data class HomeOnAirLivePageResponse( + @SerializedName("items") val items: List, + @SerializedName("page") val page: Int, + @SerializedName("size") val size: Int, + @SerializedName("hasNext") val hasNext: Boolean +) + +@Keep +data class HomeOnAirLiveResponse( + @SerializedName("roomId") val roomId: Long, + @SerializedName("creatorNickname") val creatorNickname: String, + @SerializedName("creatorProfileImage") val creatorProfileImage: String, + @SerializedName("title") val title: String, + @SerializedName("price") val price: Int, + @SerializedName("beginDateTimeUtc") val beginDateTimeUtc: String +) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveRepository.kt new file mode 100644 index 00000000..21fb3a4d --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/live/onair/data/HomeOnAirLiveRepository.kt @@ -0,0 +1,10 @@ +package kr.co.vividnext.sodalive.v2.live.onair.data + +class HomeOnAirLiveRepository( + private val api: HomeOnAirLiveApi +) { + fun getOnAirLives(authHeader: String?, page: Int) = api.getOnAirLives( + authHeader = authHeader, + page = page + ) +}