refactor(data/jellyfin): reload media items on user data change events

This commit is contained in:
2026-06-20 16:01:22 +00:00
parent 8d5948438e
commit 6e48b35741
2 changed files with 27 additions and 32 deletions

View File

@@ -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?>