Fix merged manga chapters and merged manga filtered scanlators
This commit is contained in:
@@ -151,5 +151,17 @@ class ChapterRepositoryImpl(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getScanlatorsByMergeId(mangaId: Long): List<String> {
|
||||
return handler.awaitList {
|
||||
chaptersQueries.getScanlatorsByMergeId(mangaId) { it.orEmpty() }
|
||||
}
|
||||
}
|
||||
|
||||
override fun getScanlatorsByMergeIdAsFlow(mangaId: Long): Flow<List<String>> {
|
||||
return handler.subscribeToList {
|
||||
chaptersQueries.getScanlatorsByMergeId(mangaId) { it.orEmpty() }
|
||||
}
|
||||
}
|
||||
// SY <--
|
||||
}
|
||||
|
||||
@@ -71,20 +71,28 @@ AND manga_id = :mangaId;
|
||||
|
||||
getMergedChaptersByMangaId:
|
||||
SELECT C.*
|
||||
FROM chapters C
|
||||
JOIN (
|
||||
SELECT manga_id FROM merged WHERE merge_id = :mangaId
|
||||
FROM (
|
||||
SELECT manga_id,merge_id FROM merged WHERE merge_id = :mangaId
|
||||
) AS M
|
||||
JOIN chapters C
|
||||
ON C.manga_id = M.manga_id
|
||||
LEFT JOIN excluded_scanlators ES
|
||||
ON C.manga_id = ES.manga_id
|
||||
ON M.merge_id = ES.manga_id
|
||||
AND C.scanlator = ES.scanlator
|
||||
WHERE C.manga_id = :mangaId
|
||||
WHERE M.merge_id = :mangaId
|
||||
AND (
|
||||
:applyScanlatorFilter = 0
|
||||
OR ES.scanlator IS NULL
|
||||
);
|
||||
|
||||
getScanlatorsByMergeId:
|
||||
SELECT scanlator
|
||||
FROM (
|
||||
SELECT manga_id FROM merged WHERE merge_id = ?
|
||||
) AS M
|
||||
JOIN chapters
|
||||
ON chapters.manga_id = M.manga_id;
|
||||
|
||||
removeChaptersWithIds:
|
||||
DELETE FROM chapters
|
||||
WHERE _id IN :chapterIds;
|
||||
|
||||
Reference in New Issue
Block a user