mirror of
https://github.com/owenlejeune/TVTime.git
synced 2025-11-08 04:32:43 -05:00
replace all retrofit post call bodies with @field
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v3
|
||||
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.*
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.*
|
||||
|
||||
@@ -9,16 +10,22 @@ interface AccountApi {
|
||||
@GET("account")
|
||||
suspend fun getAccountDetails(): Response<AccountDetails>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("account/{id}/favorite")
|
||||
suspend fun markAsFavorite(
|
||||
@Path("id") id: Int,
|
||||
@Body body: MarkAsFavoriteBody
|
||||
@Field("media_type") mediaType: MediaViewType,
|
||||
@Field("media_id") mediaId: Int,
|
||||
@Field("favorite") isFavorite: Boolean
|
||||
): Response<StatusResponse>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("account/{id}/watchlist")
|
||||
suspend fun addToWatchlist(
|
||||
@Path("id") id: Int,
|
||||
@Body body: WatchlistBody
|
||||
@Field("media_type") mediaType: MediaViewType,
|
||||
@Field("media_id") mediaId: Int,
|
||||
@Field("watchlist") onWatchlist: Boolean
|
||||
): Response<StatusResponse>
|
||||
|
||||
}
|
||||
@@ -2,8 +2,7 @@ package com.owenlejeune.tvtime.api.tmdb.api.v3
|
||||
|
||||
import android.util.Log
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.AccountDetails
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.MarkAsFavoriteBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchlistBody
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
import org.koin.core.component.KoinComponent
|
||||
import org.koin.core.component.inject
|
||||
import retrofit2.Response
|
||||
@@ -18,8 +17,13 @@ class AccountService: KoinComponent {
|
||||
return accountService.getAccountDetails()
|
||||
}
|
||||
|
||||
suspend fun markAsFavorite(accountId: Int, body: MarkAsFavoriteBody) {
|
||||
val response = accountService.markAsFavorite(accountId, body)
|
||||
suspend fun markAsFavorite(
|
||||
accountId: Int,
|
||||
mediaType: MediaViewType,
|
||||
mediaId: Int,
|
||||
isFavorite: Boolean
|
||||
) {
|
||||
val response = accountService.markAsFavorite(accountId, mediaType, mediaId, isFavorite)
|
||||
if (response.isSuccessful) {
|
||||
Log.d(TAG, "Successfully marked as favourite")
|
||||
} else {
|
||||
@@ -27,8 +31,13 @@ class AccountService: KoinComponent {
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun addToWatchlist(accountId: Int, body: WatchlistBody) {
|
||||
val response = accountService.addToWatchlist(accountId, body)
|
||||
suspend fun addToWatchlist(
|
||||
accountId: Int,
|
||||
mediaType: MediaViewType,
|
||||
mediaId: Int,
|
||||
onWatchlist: Boolean
|
||||
) {
|
||||
val response = accountService.addToWatchlist(accountId, mediaType, mediaId, onWatchlist)
|
||||
if (response.isSuccessful) {
|
||||
Log.d(TAG, "Successfully added to watchlist")
|
||||
} else {
|
||||
|
||||
@@ -3,12 +3,15 @@ package com.owenlejeune.tvtime.api.tmdb.api.v3
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.*
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.Field
|
||||
import retrofit2.http.FormUrlEncoded
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.HTTP
|
||||
import retrofit2.http.POST
|
||||
|
||||
interface AuthenticationApi {
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("authentication/session/convert/4")
|
||||
suspend fun createSessionFromV4Token(@Body body: V4TokenBody): Response<CreateSessionResponse>
|
||||
suspend fun createSessionFromV4Token(@Field("access_token") accessToken: String): Response<CreateSessionResponse>
|
||||
}
|
||||
@@ -8,7 +8,7 @@ class AuthenticationService {
|
||||
|
||||
private val service by lazy { TmdbClient().createAuthenticationService() }
|
||||
|
||||
suspend fun createSessionFromV4Token(body: V4TokenBody): Response<CreateSessionResponse> {
|
||||
return service.createSessionFromV4Token(body)
|
||||
suspend fun createSessionFromV4Token(accessToken: String): Response<CreateSessionResponse> {
|
||||
return service.createSessionFromV4Token(accessToken)
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ interface DetailService {
|
||||
|
||||
suspend fun getReviews(id: Int, refreshing: Boolean)
|
||||
|
||||
suspend fun postRating(id: Int, ratingBody: RatingBody)
|
||||
suspend fun postRating(id: Int, rating: Float)
|
||||
|
||||
suspend fun deleteRating(id: Int)
|
||||
|
||||
|
||||
@@ -43,11 +43,12 @@ interface MoviesApi {
|
||||
@GET("movie/{id}/keywords")
|
||||
suspend fun getKeywords(@Path("id") id: Int): Response<KeywordsResponse>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("movie/{id}/rating")
|
||||
suspend fun postMovieRatingAsUser(
|
||||
@Path("id") id: Int,
|
||||
@Query("session_id") sessionId: String,
|
||||
@Body ratingBody: RatingBody
|
||||
@Field("value") rating: Float
|
||||
): Response<StatusResponse>
|
||||
|
||||
@DELETE("movie/{id}/rating")
|
||||
|
||||
@@ -4,11 +4,8 @@ import android.util.Log
|
||||
import androidx.compose.runtime.mutableStateMapOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.paging.PagingData
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.paging.PagingState
|
||||
import com.owenlejeune.tvtime.api.LoadingState
|
||||
import com.owenlejeune.tvtime.api.loadRemoteData
|
||||
import com.owenlejeune.tvtime.api.storedIn
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.AccountStates
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CastMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CrewMember
|
||||
@@ -18,14 +15,9 @@ import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePageResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ImageCollection
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Keyword
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.MovieReleaseResults
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatingBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Review
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResult
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResultMedia
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResultMovie
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Searchable
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SortableSearchResult
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.StatusResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TmdbItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Video
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchProviders
|
||||
@@ -168,9 +160,9 @@ class MoviesService: KoinComponent, DetailService, HomePageService {
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun postRating(id: Int, ratingBody: RatingBody) {
|
||||
override suspend fun postRating(id: Int, rating: Float) {
|
||||
val session = SessionManager.currentSession.value ?: throw Exception("Session must not be null")
|
||||
val response = movieService.postMovieRatingAsUser(id, session.sessionId, ratingBody)
|
||||
val response = movieService.postMovieRatingAsUser(id, session.sessionId, rating)
|
||||
if (response.isSuccessful) {
|
||||
Log.d(TAG, "Successfully rated")
|
||||
getAccountStates(id)
|
||||
|
||||
@@ -43,11 +43,12 @@ interface TvApi {
|
||||
@GET("tv/{id}/keywords")
|
||||
suspend fun getKeywords(@Path("id") id: Int): Response<KeywordsResponse>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("tv/{id}/rating")
|
||||
suspend fun postTvRatingAsUser(
|
||||
@Path("id") id: Int,
|
||||
@Query("session_id") sessionId: String,
|
||||
@Body ratingBody: RatingBody
|
||||
@Field("value") rating: Float
|
||||
): Response<StatusResponse>
|
||||
|
||||
@DELETE("tv/{id}/rating")
|
||||
|
||||
@@ -4,39 +4,26 @@ import android.util.Log
|
||||
import androidx.compose.runtime.mutableStateMapOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.paging.PagingData
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.paging.PagingState
|
||||
import com.owenlejeune.tvtime.api.LoadingState
|
||||
import com.owenlejeune.tvtime.api.loadRemoteData
|
||||
import com.owenlejeune.tvtime.api.storedIn
|
||||
import com.owenlejeune.tvtime.api.tmdb.TmdbClient
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.AccountStates
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CastAndCrew
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CastMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.CrewMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedTv
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ExternalIds
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePageResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ImageCollection
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Keyword
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.KeywordsResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatingBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Review
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ReviewResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResult
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResultMedia
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Season
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SeasonAccountStates
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.StatusResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TmdbItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TvCastAndCrew
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TvCastMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TvContentRatings
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TvCrewMember
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Video
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.VideoResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchProviderResponse
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchProviders
|
||||
import com.owenlejeune.tvtime.utils.SessionManager
|
||||
import com.owenlejeune.tvtime.utils.types.TimeWindow
|
||||
@@ -304,9 +291,9 @@ class TvService: KoinComponent, DetailService, HomePageService {
|
||||
)
|
||||
}
|
||||
|
||||
override suspend fun postRating(id: Int, ratingBody: RatingBody) {
|
||||
override suspend fun postRating(id: Int, rating: Float) {
|
||||
val session = SessionManager.currentSession.value ?: throw Exception("Session must not be null")
|
||||
val response = service.postTvRatingAsUser(id, session.sessionId, ratingBody)
|
||||
val response = service.postTvRatingAsUser(id, session.sessionId, rating)
|
||||
if (response.isSuccessful) {
|
||||
Log.d(TAG, "Successfully posted rating")
|
||||
} else {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v3.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
|
||||
class MarkAsFavoriteBody(
|
||||
@SerializedName("media_type") val mediaType: MediaViewType,
|
||||
@SerializedName("media_id") val mediaId: Int,
|
||||
@SerializedName("favorite") val isFavorite: Boolean
|
||||
)
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v3.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class RatingBody(
|
||||
@SerializedName("value") val rating: Float
|
||||
)
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v3.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class V4TokenBody(
|
||||
@SerializedName("access_token") val accessToken: String
|
||||
)
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v3.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
|
||||
class WatchlistBody(
|
||||
@SerializedName("media_type") val mediaType: MediaViewType,
|
||||
@SerializedName("media_id") val mediaId: Int,
|
||||
@SerializedName("watchlist") val onWatchlist: Boolean
|
||||
)
|
||||
@@ -5,16 +5,20 @@ import com.owenlejeune.tvtime.api.tmdb.api.v4.model.*
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.DELETE
|
||||
import retrofit2.http.Field
|
||||
import retrofit2.http.FormUrlEncoded
|
||||
import retrofit2.http.HTTP
|
||||
import retrofit2.http.POST
|
||||
|
||||
interface AuthenticationV4Api {
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("auth/request_token")
|
||||
suspend fun createRequestToken(@Body body: AuthRequestBody): Response<AuthResponse>
|
||||
suspend fun createRequestToken(@Field("redirect_to") redirect: String): Response<AuthResponse>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("auth/access_token")
|
||||
suspend fun createAccessToken(@Body body: AuthAccessBody): Response<AccessResponse>
|
||||
suspend fun createAccessToken(@Field("request_token") requestToken: String): Response<AccessResponse>
|
||||
|
||||
// @DELETE("auth/access_token")
|
||||
@HTTP(method = "DELETE", path = "auth/access_token", hasBody = true)
|
||||
|
||||
@@ -9,12 +9,12 @@ class AuthenticationV4Service {
|
||||
|
||||
private val service by lazy { TmdbClient().createV4AuthenticationService() }
|
||||
|
||||
suspend fun createRequestToken(body: AuthRequestBody): Response<AuthResponse> {
|
||||
return service.createRequestToken(body)
|
||||
suspend fun createRequestToken(redirect: String): Response<AuthResponse> {
|
||||
return service.createRequestToken(redirect)
|
||||
}
|
||||
|
||||
suspend fun createAccessToken(body: AuthAccessBody): Response<AccessResponse> {
|
||||
return service.createAccessToken(body)
|
||||
suspend fun createAccessToken(requestToken: String): Response<AccessResponse> {
|
||||
return service.createAccessToken(requestToken)
|
||||
}
|
||||
|
||||
suspend fun deleteAccessToken(body: AuthDeleteBody): Response<StatusResponse> {
|
||||
|
||||
@@ -9,8 +9,15 @@ interface ListV4Api {
|
||||
@GET("list/{id}")
|
||||
suspend fun getList(@Path("id") listId: Int): Response<MediaList>
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST("list")
|
||||
suspend fun createList(@Body body: CreateListBody): Response<CreateListResponse>
|
||||
suspend fun createList(
|
||||
@Field("name") name: String,
|
||||
@Field("iso_639_1") language: String,
|
||||
@Field("description") description: String,
|
||||
@Field("public") isPublic: Boolean,
|
||||
@Field("iso_3166_1") localeCode: String
|
||||
): Response<CreateListResponse>
|
||||
|
||||
@PUT("list/{id}")
|
||||
suspend fun updateList(@Path("id") listId: Int, @Body body: ListUpdateBody): Response<StatusResponse>
|
||||
|
||||
@@ -4,9 +4,7 @@ import android.content.Context
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.compose.runtime.mutableStateMapOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AddToListBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.CreateListBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.DeleteListItemsBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.ListUpdateBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.MediaList
|
||||
@@ -34,8 +32,14 @@ class ListV4Service: KoinComponent {
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun createList(body: CreateListBody) {//}: Response<CreateListResponse> {
|
||||
service.createList(body)
|
||||
suspend fun createList(
|
||||
name: String,
|
||||
language: String,
|
||||
description: String,
|
||||
isPublic: Boolean,
|
||||
localeCode: String
|
||||
) {
|
||||
service.createList(name, language, description, isPublic, localeCode)
|
||||
}
|
||||
|
||||
suspend fun updateList(listId: Int, body: ListUpdateBody) {
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v4.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class AuthAccessBody(
|
||||
@SerializedName("request_token") val requestToken: String
|
||||
)
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v4.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class AuthRequestBody(
|
||||
@SerializedName("redirect_to") val redirect: String
|
||||
)
|
||||
@@ -1,11 +0,0 @@
|
||||
package com.owenlejeune.tvtime.api.tmdb.api.v4.model
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
class CreateListBody(
|
||||
@SerializedName("name") val name: String,
|
||||
@SerializedName("iso_639_1") val language: String,
|
||||
@SerializedName("description") val description: String,
|
||||
@SerializedName("public") val isPublic: Boolean,
|
||||
@SerializedName("iso_3166_1") val localeCode: String
|
||||
)
|
||||
@@ -4,8 +4,6 @@ import androidx.lifecycle.ViewModel
|
||||
import androidx.paging.PagingData
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.createPagingFlow
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.AccountService
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.MarkAsFavoriteBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchlistBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.AccountV4Service
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.ListV4Service
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AddToListBody
|
||||
@@ -139,12 +137,12 @@ class AccountViewModel: ViewModel(), KoinComponent {
|
||||
|
||||
suspend fun addToFavourites(type: MediaViewType, itemId: Int, favourited: Boolean) {
|
||||
val accountId = SessionManager.currentSession.value?.accountDetails?.value?.id ?: throw Exception("Session must not be null")
|
||||
accountService.markAsFavorite(accountId, MarkAsFavoriteBody(type, itemId, favourited))
|
||||
accountService.markAsFavorite(accountId, type, itemId, favourited)
|
||||
}
|
||||
|
||||
suspend fun addToWatchlist(type: MediaViewType, itemId: Int, watchlisted: Boolean) {
|
||||
val accountId = SessionManager.currentSession.value?.accountDetails?.value?.id ?: throw Exception("Session must not be null")
|
||||
accountService.addToWatchlist(accountId, WatchlistBody(type, itemId, watchlisted))
|
||||
accountService.addToWatchlist(accountId, type, itemId, watchlisted)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,13 +18,11 @@ import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailedItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ExternalIds
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ImageCollection
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Keyword
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatingBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Review
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.SearchResultMedia
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TmdbItem
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Video
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.WatchProviders
|
||||
import com.owenlejeune.tvtime.extensions.anyOf
|
||||
import com.owenlejeune.tvtime.ui.screens.tabs.MediaTabNavItem
|
||||
import com.owenlejeune.tvtime.utils.types.MediaViewType
|
||||
import com.owenlejeune.tvtime.utils.types.TimeWindow
|
||||
@@ -398,8 +396,8 @@ class MainViewModel: ViewModel(), KoinComponent {
|
||||
|
||||
suspend fun postRating(id: Int, rating: Float, type: MediaViewType) {
|
||||
when (type) {
|
||||
MediaViewType.MOVIE -> movieService.postRating(id, RatingBody(rating))
|
||||
MediaViewType.TV -> tvService.postRating(id, RatingBody(rating))
|
||||
MediaViewType.MOVIE -> movieService.postRating(id, rating)
|
||||
MediaViewType.TV -> tvService.postRating(id, rating)
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,9 +9,7 @@ import com.owenlejeune.tvtime.api.tmdb.api.v3.AccountService
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.AuthenticationService
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v3.model.*
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.AuthenticationV4Service
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AuthAccessBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AuthDeleteBody
|
||||
import com.owenlejeune.tvtime.api.tmdb.api.v4.model.AuthRequestBody
|
||||
import com.owenlejeune.tvtime.preferences.AppPreferences
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
@@ -74,7 +72,7 @@ object SessionManager: KoinComponent {
|
||||
onRedirect: (url: String) -> Unit
|
||||
) {
|
||||
val service = AuthenticationV4Service()
|
||||
val requestTokenResponse = service.createRequestToken(AuthRequestBody(redirect = "app://tvtime.auth.return"))
|
||||
val requestTokenResponse = service.createRequestToken(redirect = "app://tvtime.auth.return")
|
||||
if (requestTokenResponse.isSuccessful) {
|
||||
requestTokenResponse.body()?.let { ctr ->
|
||||
val url = context.getString(R.string.tmdb_auth_url, ctr.requestToken)
|
||||
@@ -92,11 +90,11 @@ object SessionManager: KoinComponent {
|
||||
) {
|
||||
if (currentSession.value is InProgressSession) {
|
||||
val requestToken = currentSession.value!!.sessionId
|
||||
val authResponse = authenticationV4Service.createAccessToken(AuthAccessBody(requestToken))
|
||||
val authResponse = authenticationV4Service.createAccessToken(requestToken)
|
||||
if (authResponse.isSuccessful) {
|
||||
authResponse.body()?.let { ar ->
|
||||
if (ar.success) {
|
||||
val sessionResponse = authenticationService.createSessionFromV4Token(V4TokenBody(ar.accessToken))
|
||||
val sessionResponse = authenticationService.createSessionFromV4Token(ar.accessToken)
|
||||
if (sessionResponse.isSuccessful) {
|
||||
sessionResponse.body()?.let { sr ->
|
||||
preferences.authorizedSessionValues = AuthorizedSessionValues(
|
||||
|
||||
Reference in New Issue
Block a user