fix crash in TMDBApiController when searchMovie() returns no title
* make title/name optional * for movies use the movie search endpoint instead of multi fixes #65
This commit is contained in:
parent
d3fe81224b
commit
fa28eb35ab
|
@ -90,7 +90,7 @@ class TMDBApiController {
|
||||||
* NoneTMDBSearchMovie if nothing was found
|
* NoneTMDBSearchMovie if nothing was found
|
||||||
*/
|
*/
|
||||||
suspend fun searchMovie(query: String): TMDBSearch<TMDBSearchResultMovie> {
|
suspend fun searchMovie(query: String): TMDBSearch<TMDBSearchResultMovie> {
|
||||||
val searchEndpoint = "/search/multi"
|
val searchEndpoint = "/search/movie"
|
||||||
val parameters = listOf("query" to query, "include_adult" to false)
|
val parameters = listOf("query" to query, "include_adult" to false)
|
||||||
|
|
||||||
return try {
|
return try {
|
||||||
|
|
|
@ -32,7 +32,7 @@ import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
interface TMDBResult {
|
interface TMDBResult {
|
||||||
val id: Int
|
val id: Int
|
||||||
val name: String
|
val name: String? // for movies tmdb return string or null
|
||||||
val overview: String? // for movies tmdb return string or null
|
val overview: String? // for movies tmdb return string or null
|
||||||
val posterPath: String?
|
val posterPath: String?
|
||||||
val backdropPath: String?
|
val backdropPath: String?
|
||||||
|
@ -40,7 +40,7 @@ interface TMDBResult {
|
||||||
|
|
||||||
data class TMDBBase(
|
data class TMDBBase(
|
||||||
override val id: Int,
|
override val id: Int,
|
||||||
override val name: String,
|
override val name: String?,
|
||||||
override val overview: String?,
|
override val overview: String?,
|
||||||
override val posterPath: String?,
|
override val posterPath: String?,
|
||||||
override val backdropPath: String?
|
override val backdropPath: String?
|
||||||
|
@ -59,7 +59,7 @@ data class TMDBSearch<T>(
|
||||||
@Serializable
|
@Serializable
|
||||||
data class TMDBSearchResultMovie(
|
data class TMDBSearchResultMovie(
|
||||||
@SerialName("id") override val id: Int,
|
@SerialName("id") override val id: Int,
|
||||||
@SerialName("title") override val name: String,
|
@SerialName("title") override val name: String?,
|
||||||
@SerialName("overview") override val overview: String?,
|
@SerialName("overview") override val overview: String?,
|
||||||
@SerialName("poster_path") override val posterPath: String?,
|
@SerialName("poster_path") override val posterPath: String?,
|
||||||
@SerialName("backdrop_path") override val backdropPath: String?,
|
@SerialName("backdrop_path") override val backdropPath: String?,
|
||||||
|
@ -68,7 +68,7 @@ data class TMDBSearchResultMovie(
|
||||||
@Serializable
|
@Serializable
|
||||||
data class TMDBSearchResultTVShow(
|
data class TMDBSearchResultTVShow(
|
||||||
@SerialName("id") override val id: Int,
|
@SerialName("id") override val id: Int,
|
||||||
@SerialName("name") override val name: String,
|
@SerialName("name") override val name: String?,
|
||||||
@SerialName("overview") override val overview: String?,
|
@SerialName("overview") override val overview: String?,
|
||||||
@SerialName("poster_path") override val posterPath: String?,
|
@SerialName("poster_path") override val posterPath: String?,
|
||||||
@SerialName("backdrop_path") override val backdropPath: String?,
|
@SerialName("backdrop_path") override val backdropPath: String?,
|
||||||
|
@ -92,7 +92,7 @@ data class TMDBMovie(
|
||||||
@SerialName("release_date") val releaseDate: String,
|
@SerialName("release_date") val releaseDate: String,
|
||||||
@SerialName("runtime") val runtime: Int?,
|
@SerialName("runtime") val runtime: Int?,
|
||||||
@SerialName("status") val status: String,
|
@SerialName("status") val status: String,
|
||||||
// TODO generes
|
// TODO genres
|
||||||
) : TMDBResult
|
) : TMDBResult
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
@ -105,7 +105,7 @@ data class TMDBTVShow(
|
||||||
@SerialName("first_air_date") val firstAirDate: String,
|
@SerialName("first_air_date") val firstAirDate: String,
|
||||||
@SerialName("last_air_date") val lastAirDate: String,
|
@SerialName("last_air_date") val lastAirDate: String,
|
||||||
@SerialName("status") val status: String,
|
@SerialName("status") val status: String,
|
||||||
// TODO generes
|
// TODO genres
|
||||||
) : TMDBResult
|
) : TMDBResult
|
||||||
|
|
||||||
// use null for nullable types, the gui needs to handle/implement a fallback for null values
|
// use null for nullable types, the gui needs to handle/implement a fallback for null values
|
||||||
|
|
Loading…
Reference in New Issue