mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-24 03:36:51 +00:00
refactor(data/jellyfin): reload media items on user data change events
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package hu.bbara.purefin.core.data
|
||||
|
||||
import hu.bbara.purefin.model.Episode
|
||||
import hu.bbara.purefin.model.Media
|
||||
import hu.bbara.purefin.model.Movie
|
||||
import hu.bbara.purefin.model.Series
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -11,6 +12,14 @@ interface LocalMediaRepository : MediaMetadataUpdater {
|
||||
val movies: StateFlow<Map<UUID, Movie>>
|
||||
val series: StateFlow<Map<UUID, Series>>
|
||||
val episodes: StateFlow<Map<UUID, Episode>>
|
||||
suspend fun getTypeById(id: UUID): Media? {
|
||||
return when (val media = movies.value[id] ?: series.value[id] ?: episodes.value[id]) {
|
||||
is Movie -> Media.MovieMedia(movieId = media.id)
|
||||
is Series -> Media.SeriesMedia(seriesId = media.id)
|
||||
is Episode -> Media.EpisodeMedia(seriesId = media.seriesId, episodeId = media.id)
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
suspend fun getMovie(id: UUID): Flow<Movie?>
|
||||
suspend fun getSeries(id: UUID): Flow<Series?>
|
||||
suspend fun getEpisode(id: UUID): Flow<Episode?>
|
||||
|
||||
Reference in New Issue
Block a user