teapod/app/src/main/java/org/mosad/teapod/util/tmdb/TMDBDataTypes.kt
Jannik 1a5b173d96
rework the tmdb controller
the tmdb interation now provides additional information:
* tv seasons & episodes
* movie & tv show (air date, status)
2021-07-10 23:37:16 +02:00

50 lines
1.3 KiB
Kotlin

package org.mosad.teapod.util.tmdb
abstract class TMDBResult{
abstract val id: Int
abstract val name: String?
abstract val overview: String?
abstract val posterPath: String?
abstract val backdropPath: String?
}
data class Movie(
override val id: Int,
override val name: String? = null,
override val overview: String? = null,
override val posterPath: String? = null,
override val backdropPath: String? = null,
val releaseDate: String? = null,
val runtime: Int? = null
// TODO generes
): TMDBResult()
data class TVShow(
override val id: Int,
override val name: String? = null,
override val overview: String? = null,
override val posterPath: String? = null,
override val backdropPath: String? = null,
val firstAirDate: String? = null,
val status: String? = null,
// TODO generes
): TMDBResult()
data class TVSeason(
val id: Int,
val name: String? = null,
val overview: String? = null,
val posterPath: String? = null,
val airDate: String? = null,
val episodes: List<TVEpisode>? = null,
val seasonNumber: Int? = null
)
// TODO decide whether to use nullable or not
data class TVEpisode(
val id: Int,
val name: String? = null,
val overview: String? = null,
val airDate: String? = null,
val episodeNumber: Int? = null
)