From d057bdaab0356100c10c28b4a166c1954714c235 Mon Sep 17 00:00:00 2001 From: Barnabas Balogh Date: Thu, 29 Jan 2026 08:50:23 +0100 Subject: [PATCH] feature: Create models for MediaRepository and MediaRepository interface. It will be used for abstract generalized MediaManagement. --- .../hu/bbara/purefin/data/MediaRepository.kt | 22 +++++++++++++++++++ .../hu/bbara/purefin/data/model/Episode.kt | 18 +++++++++++++++ .../hu/bbara/purefin/data/model/Season.kt | 12 ++++++++++ .../hu/bbara/purefin/data/model/Series.kt | 13 +++++++++++ 4 files changed, 65 insertions(+) create mode 100644 app/src/main/java/hu/bbara/purefin/data/MediaRepository.kt create mode 100644 app/src/main/java/hu/bbara/purefin/data/model/Episode.kt create mode 100644 app/src/main/java/hu/bbara/purefin/data/model/Season.kt create mode 100644 app/src/main/java/hu/bbara/purefin/data/model/Series.kt diff --git a/app/src/main/java/hu/bbara/purefin/data/MediaRepository.kt b/app/src/main/java/hu/bbara/purefin/data/MediaRepository.kt new file mode 100644 index 0000000..9bc4564 --- /dev/null +++ b/app/src/main/java/hu/bbara/purefin/data/MediaRepository.kt @@ -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 + + fun getEpisode(seriesId: UUID, seasonId: UUID, episodeId: UUID) : Episode + + fun getEpisodes(seriesId: UUID, seasonId: UUID) : List + + fun getEpisodes(seriesId: UUID) : List + +} \ No newline at end of file diff --git a/app/src/main/java/hu/bbara/purefin/data/model/Episode.kt b/app/src/main/java/hu/bbara/purefin/data/model/Episode.kt new file mode 100644 index 0000000..f6ea2f7 --- /dev/null +++ b/app/src/main/java/hu/bbara/purefin/data/model/Episode.kt @@ -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, + val season: Season, +) diff --git a/app/src/main/java/hu/bbara/purefin/data/model/Season.kt b/app/src/main/java/hu/bbara/purefin/data/model/Season.kt new file mode 100644 index 0000000..d95a75f --- /dev/null +++ b/app/src/main/java/hu/bbara/purefin/data/model/Season.kt @@ -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, + val series: Series +) \ No newline at end of file diff --git a/app/src/main/java/hu/bbara/purefin/data/model/Series.kt b/app/src/main/java/hu/bbara/purefin/data/model/Series.kt new file mode 100644 index 0000000..fdc9d4a --- /dev/null +++ b/app/src/main/java/hu/bbara/purefin/data/model/Series.kt @@ -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 +)