From 535fcc81dd75ddfc2bf8eeb46e3795ef52550fc1 Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Wed, 19 Jun 2024 15:24:11 +0700 Subject: [PATCH] chore: Prepare find duplicate query --- .../java/eu/kanade/tachiyomi/util/MangaExtensions.kt | 10 ++++++++++ .../src/commonMain/sqldelight/tachiyomi/data/mangas.sq | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt index 065db33c2c..1a9ad6c3fe 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/MangaExtensions.kt @@ -139,6 +139,16 @@ fun Manga.addOrRemoveToFavorites( ): Snackbar? { if (!favorite) { if (checkForDupes) { + // TODO + /* + val duplicateManga = runBlocking(Dispatchers.IO) { handler.awaitOne { + mangasQueries.findDuplicateFavorite( + this@addOrRemoveToFavorites.title, + this@addOrRemoveToFavorites.source, + Manga::mapper, + ) + } } + */ val duplicateManga = db.getDuplicateLibraryManga(this).executeAsBlocking() if (duplicateManga != null) { showAddDuplicateDialog( diff --git a/data/src/commonMain/sqldelight/tachiyomi/data/mangas.sq b/data/src/commonMain/sqldelight/tachiyomi/data/mangas.sq index 27e01754ef..1880f80de8 100644 --- a/data/src/commonMain/sqldelight/tachiyomi/data/mangas.sq +++ b/data/src/commonMain/sqldelight/tachiyomi/data/mangas.sq @@ -40,6 +40,11 @@ SELECT * FROM mangas WHERE _id = :mangaId; +findDuplicateFavorite: +SELECT * +FROM mangas +WHERE favorite = 1 AND lower(title) = :title AND source = :source; + insert: INSERT INTO mangas (source, url, artist, author, description, genre, title, status, thumbnail_url, favorite, last_update, initialized, viewer, hide_title, chapter_flags, date_added, filtered_scanlators, update_strategy) VALUES (:source, :url, :artist, :author, :description, :genre, :title, :status, :thumbnailUrl, :favorite, :lastUpdate, :initialized, :viewer, :hideTitle, :chapterFlags, :dateAdded, :filteredScanlators, :updateStrategy);