Set source properly when creating manga entries

Fixes #8333
This commit is contained in:
arkon
2022-10-30 17:40:17 -04:00
parent fc184f1cfa
commit cac80daa71
5 changed files with 15 additions and 20 deletions

View File

@@ -7,11 +7,11 @@ class NetworkToLocalManga(
private val mangaRepository: MangaRepository,
) {
suspend fun await(manga: Manga, sourceId: Long): Manga {
val localManga = getManga(manga.url, sourceId)
suspend fun await(manga: Manga): Manga {
val localManga = getManga(manga.url, manga.source)
return when {
localManga == null -> {
val id = insertManga(manga, sourceId)
val id = insertManga(manga)
manga.copy(id = id!!)
}
!localManga.favorite -> {
@@ -29,7 +29,7 @@ class NetworkToLocalManga(
return mangaRepository.getMangaByUrlAndSourceId(url, sourceId)
}
private suspend fun insertManga(manga: Manga, sourceId: Long): Long? {
return mangaRepository.insert(manga.copy(source = sourceId))
private suspend fun insertManga(manga: Manga): Long? {
return mangaRepository.insert(manga)
}
}

View File

@@ -232,7 +232,7 @@ fun Manga.toMangaUpdate(): MangaUpdate {
)
}
fun SManga.toDomainManga(): Manga {
fun SManga.toDomainManga(sourceId: Long): Manga {
return Manga.create().copy(
url = url,
title = title,
@@ -244,6 +244,7 @@ fun SManga.toDomainManga(): Manga {
thumbnailUrl = thumbnail_url,
updateStrategy = update_strategy,
initialized = initialized,
source = sourceId,
)
}