mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-24 03:36:51 +00:00
feat(libraries): add size property to Library and related models for better content representation
This commit is contained in:
@@ -230,9 +230,11 @@ class InMemoryAppContentRepository @Inject constructor(
|
||||
return when (library.type) {
|
||||
LibraryKind.MOVIES -> library.copy(
|
||||
movies = contentItem.map { it.toMovie(serverUrl()) },
|
||||
size = contentItem.size,
|
||||
)
|
||||
LibraryKind.SERIES -> library.copy(
|
||||
series = contentItem.map { it.toSeries(serverUrl()) },
|
||||
size = contentItem.size,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ fun BaseItemDto.toLibrary(serverUrl: String): Library {
|
||||
artworkKind = ArtworkKind.PRIMARY
|
||||
),
|
||||
type = LibraryKind.MOVIES,
|
||||
size = childCount ?: 0,
|
||||
movies = emptyList(),
|
||||
)
|
||||
CollectionType.TVSHOWS -> Library(
|
||||
@@ -38,6 +39,7 @@ fun BaseItemDto.toLibrary(serverUrl: String): Library {
|
||||
artworkKind = ArtworkKind.PRIMARY
|
||||
),
|
||||
type = LibraryKind.SERIES,
|
||||
size = childCount ?: 0,
|
||||
series = emptyList(),
|
||||
)
|
||||
else -> throw UnsupportedOperationException("Unsupported library type: $collectionType")
|
||||
@@ -133,4 +135,4 @@ private fun formatRuntime(ticks: Long?): String {
|
||||
val hours = TimeUnit.SECONDS.toHours(totalSeconds)
|
||||
val minutes = TimeUnit.SECONDS.toMinutes(totalSeconds) % 60
|
||||
return if (hours > 0) "${hours}h ${minutes}m" else "${minutes}m"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,7 @@ data class CachedLibrary(
|
||||
val name: String,
|
||||
val type: String,
|
||||
val posterUrl: String,
|
||||
val size: Int = 0,
|
||||
val series: List<CachedSeries>? = null,
|
||||
val movies: List<CachedMovie>? = null,
|
||||
)
|
||||
@@ -100,6 +101,7 @@ fun Library.toCachedLibrary() = CachedLibrary(
|
||||
name = name,
|
||||
type = type.name,
|
||||
posterUrl = posterUrl,
|
||||
size = size,
|
||||
series = series?.map { it.toCachedSeries() },
|
||||
movies = movies?.map { it.toCachedMovie() },
|
||||
)
|
||||
@@ -112,6 +114,7 @@ fun CachedLibrary.toLibrary(): Library? {
|
||||
name = name,
|
||||
type = LibraryKind.MOVIES,
|
||||
posterUrl = posterUrl,
|
||||
size = size,
|
||||
movies = movies?.mapNotNull { it.toMovie() } ?: emptyList(),
|
||||
)
|
||||
"SERIES" -> Library(
|
||||
@@ -119,6 +122,7 @@ fun CachedLibrary.toLibrary(): Library? {
|
||||
name = name,
|
||||
type = LibraryKind.SERIES,
|
||||
posterUrl = posterUrl,
|
||||
size = size,
|
||||
series = series?.mapNotNull { it.toSeries() } ?: emptyList(),
|
||||
)
|
||||
else -> null
|
||||
|
||||
Reference in New Issue
Block a user