feature: Create models for MediaRepository and MediaRepository interface. It will be used for abstract generalized MediaManagement.

This commit is contained in:
2026-01-29 08:50:23 +01:00
parent 88e9ca229e
commit d057bdaab0
4 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package hu.bbara.purefin.data
import hu.bbara.purefin.data.model.Episode
import hu.bbara.purefin.data.model.Season
import hu.bbara.purefin.data.model.Series
import java.util.UUID
interface MediaRepository {
fun getSeries(seriesId: UUID, includeContent: Boolean) : Series
fun getSeason(seriesId: UUID, seasonId: UUID, includeContent: Boolean) : Season
fun getSeasons(seriesId: UUID, includeContent: Boolean) : List<Season>
fun getEpisode(seriesId: UUID, seasonId: UUID, episodeId: UUID) : Episode
fun getEpisodes(seriesId: UUID, seasonId: UUID) : List<Episode>
fun getEpisodes(seriesId: UUID) : List<Episode>
}

View File

@@ -0,0 +1,18 @@
package hu.bbara.purefin.data.model
import hu.bbara.purefin.app.content.episode.CastMember
import java.util.UUID
data class Episode(
val id: UUID,
val title: String,
val index: Int,
val releaseDate: String,
val rating: String,
val runtime: String,
val format: String,
val synopsis: String,
val heroImageUrl: String,
val cast: List<CastMember>,
val season: Season,
)

View File

@@ -0,0 +1,12 @@
package hu.bbara.purefin.data.model
import java.util.UUID
data class Season(
val id: UUID,
val name: String,
val index: Int,
val episodeCount: Int,
val episodes: List<Episode>,
val series: Series
)

View File

@@ -0,0 +1,13 @@
package hu.bbara.purefin.data.model
import java.util.UUID
data class Series(
val id: UUID,
val name: String,
val synopsis: String,
val year: String,
val heroImageUrl: String,
val seasonCount: Int,
val seasons: List<Season>
)