diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt new file mode 100644 index 0000000..d37d7ca --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt @@ -0,0 +1,16 @@ +package com.owenlejeune.tvtime.api.tmdb.model + +import com.google.gson.annotations.SerializedName + +class BaseEpisode( + @SerializedName("air_date") val airDate: String, + @SerializedName("episode_number") val episodeNumber: Int, + @SerializedName("id") val id: Int, + @SerializedName("name") val name: String, + @SerializedName("production_code") val productionCode: String, + @SerializedName("season_number") val seasonNumber: Int, + @SerializedName("still_path") val stillPath: String?, + @SerializedName("vote_average") val voteAverage: Float, + @SerializedName("vote_count") val voteCount: Int +) + diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Season.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Season.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt index 7df0600..22a14df 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Season.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt @@ -2,7 +2,7 @@ package com.owenlejeune.tvtime.api.tmdb.model import com.google.gson.annotations.SerializedName -data class Season( +data class BaseSeason( @SerializedName("id") val id: Int, @SerializedName("air_date") val airDate: String, @SerializedName("episode_count") val episodeCount: Int, diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt index 1989a7a..619e574 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt @@ -1,14 +1,22 @@ package com.owenlejeune.tvtime.api.tmdb.model +import com.google.gson.annotations.SerializedName + abstract class DetailedItem( id: Int, title: String, posterPath: String?, - @Transient open val backdropPath: String?, - @Transient open val genres: List, - @Transient open val overview: String?, - @Transient open val productionCompanies: List, - @Transient open val status: Status, - @Transient open val tagline: String?, - @Transient open val voteAverage: Float + @SerializedName("backdrop_path") val backdropPath: String?, + @SerializedName("genres") val genres: List, + @SerializedName("overview") val overview: String?, + @SerializedName("production_companies") val productionCompanies: List, + @SerializedName("production_countries") val productionCountries: List, + @SerializedName("status") val status: Status, + @SerializedName("tagline") val tagline: String?, + @SerializedName("vote_average") val voteAverage: Float, + @SerializedName("vote_count") val voteCount: Int, + @SerializedName("original_language") val originalLanguage: String, + @SerializedName("original_name", alternate = ["original_title"]) val originalTitle: String, + @SerializedName("popularity") val popularity: Float, + @SerializedName("spoken_languages") val spokenLanguages: List, ): TmdbItem(id, posterPath, title) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt index f82916f..b587fe9 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt @@ -5,24 +5,28 @@ import com.google.gson.annotations.SerializedName class DetailedMovie( id: Int, posterPath: String?, - @SerializedName("title") override val title: String, - @SerializedName("backdrop_path") override val backdropPath: String?, - @SerializedName("genres") override val genres: List, - @SerializedName("overview") override val overview: String?, - @SerializedName("production_companies") override val productionCompanies: List, - @SerializedName("status") override val status: Status, - @SerializedName("tagline") override val tagline: String?, - @SerializedName("vote_average") override val voteAverage: Float, + title: String, + backdropPath: String?, + genres: List, + overview: String?, + productionCompanies: List, + productionCountries: List, + status: Status, + tagline: String?, + voteAverage: Float, + voteCount: Int, + originalLanguage: String, + originalTitle: String, + popularity: Float, + spokenLanguages: List, @SerializedName("adult") val isAdult: Boolean, @SerializedName("budget") val budget: Int, @SerializedName("release_date") val releaseDate: String, @SerializedName("revenue") val revenue: Int, @SerializedName("runtime") val runtime: Int?, @SerializedName("imdb_id") val imdbId: String?, - @SerializedName("original_language") val originalLanguage: String, - @SerializedName("popularity") val popularity: Float, - @SerializedName("production_countries") val productionCountries: List, - @SerializedName("spoken_languages") val spokenLanguages: List, - @SerializedName("original_title") val originalTitle: String, - @SerializedName("vote_count") val voteCount: Int -): DetailedItem(id, title, posterPath, backdropPath, genres, overview, productionCompanies, status, tagline, voteAverage) +): DetailedItem( + id, title, posterPath, backdropPath, genres, overview, + productionCompanies, productionCountries, status, tagline, voteAverage, + voteCount, originalLanguage, originalTitle, popularity, spokenLanguages +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt index 9c71f5b..b1e9e44 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt @@ -5,14 +5,20 @@ import com.google.gson.annotations.SerializedName class DetailedTv( id: Int, posterPath: String?, - @SerializedName("name") override val title: String, - @SerializedName("backdrop_path") override val backdropPath: String?, - @SerializedName("genres") override val genres: List, - @SerializedName("overview") override val overview: String?, - @SerializedName("production_companies") override val productionCompanies: List, - @SerializedName("status") override val status: Status, - @SerializedName("tagline") override val tagline: String?, - @SerializedName("vote_average") override val voteAverage: Float, + title: String, + backdropPath: String?, + genres: List, + overview: String?, + productionCompanies: List, + productionCountries: List, + status: Status, + tagline: String?, + voteAverage: Float, + voteCount: Int, + originalLanguage: String, + originalName: String, + popularity: Float, + spokenLanguages: List, @SerializedName("created_by") val createdBy: List, @SerializedName("first_air_date") val firstAirDate: String, @SerializedName("last_air_date") val lastAirDate: String, @@ -20,6 +26,14 @@ class DetailedTv( @SerializedName("networks") val networks: List, @SerializedName("number_of_episodes") val numberOfEpisodes: Int, @SerializedName("number_of_seasons") val numberOfSeasons: Int, - @SerializedName("seasons") val seasons: List, - @SerializedName("episode_run_time") val episodeRuntime: List -): DetailedItem(id, title, posterPath, backdropPath, genres, overview, productionCompanies, status, tagline, voteAverage) \ No newline at end of file + @SerializedName("seasons") val seasons: List, + @SerializedName("episode_run_time") val episodeRuntime: List, + @SerializedName("languages") val languages: List, + @SerializedName("last_episode_to_air") val lastEpisodeToAir: BaseEpisode, + @SerializedName("origin_country") val originCountry: List, + @SerializedName("type") val type: String +): DetailedItem( + id, title, posterPath, backdropPath, genres, overview, + productionCompanies, productionCountries, status, tagline, voteAverage, + voteCount, originalLanguage, originalName, popularity, spokenLanguages +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt index 8fb19fb..f4773dc 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt @@ -5,5 +5,5 @@ import com.google.gson.annotations.SerializedName class HomePageMovie( id: Int, posterPath: String?, - @SerializedName("title") override val title: String + title: String ): TmdbItem(id, posterPath, title) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt index ea4813e..98751b2 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt @@ -5,5 +5,5 @@ import com.google.gson.annotations.SerializedName class HomePageTv( id: Int, posterPath: String?, - @SerializedName("name") override val title: String, + title: String, ): TmdbItem(id, posterPath, title) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt index 0ac1b96..a8c80d1 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt @@ -5,5 +5,5 @@ import com.google.gson.annotations.SerializedName abstract class TmdbItem( @SerializedName("id") val id: Int, @SerializedName("poster_path") val posterPath: String?, - @Transient open val title: String + @SerializedName("name", alternate = ["title"]) val title: String ) \ No newline at end of file