(cherry picked from commit f0eb42e72d1e267049777a303bd97d96517a9a1f) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/FullBackupRestore.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/full/models/BackupManga.kt # app/src/main/java/eu/kanade/tachiyomi/data/backup/legacy/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt # app/src/main/java/eu/kanade/tachiyomi/source/LocalSource.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/changehandler/OneWayFadeChangeHandler.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SearchPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/SelectionHeader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPageSheet.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/model/ReaderPage.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt # app/src/main/java/eu/kanade/tachiyomi/util/view/ViewExtensions.kt
54 lines
1.8 KiB
Kotlin
Executable File
54 lines
1.8 KiB
Kotlin
Executable File
package exh.metadata.sql.queries
|
|
|
|
import com.pushtorefresh.storio.sqlite.queries.DeleteQuery
|
|
import com.pushtorefresh.storio.sqlite.queries.Query
|
|
import eu.kanade.tachiyomi.data.database.DbProvider
|
|
import eu.kanade.tachiyomi.data.database.inTransaction
|
|
import exh.metadata.sql.models.SearchTitle
|
|
import exh.metadata.sql.tables.SearchTitleTable
|
|
|
|
interface SearchTitleQueries : DbProvider {
|
|
fun getSearchTitlesForManga(mangaId: Long) = db.get()
|
|
.listOfObjects(SearchTitle::class.java)
|
|
.withQuery(
|
|
Query.builder()
|
|
.table(SearchTitleTable.TABLE)
|
|
.where("${SearchTitleTable.COL_MANGA_ID} = ?")
|
|
.whereArgs(mangaId)
|
|
.build(),
|
|
)
|
|
.prepare()
|
|
|
|
fun deleteSearchTitlesForManga(mangaId: Long) = db.delete()
|
|
.byQuery(
|
|
DeleteQuery.builder()
|
|
.table(SearchTitleTable.TABLE)
|
|
.where("${SearchTitleTable.COL_MANGA_ID} = ?")
|
|
.whereArgs(mangaId)
|
|
.build(),
|
|
)
|
|
.prepare()
|
|
|
|
fun insertSearchTitle(searchTitle: SearchTitle) = db.put().`object`(searchTitle).prepare()
|
|
|
|
fun insertSearchTitles(searchTitles: List<SearchTitle>) = db.put().objects(searchTitles).prepare()
|
|
|
|
fun deleteSearchTitle(searchTitle: SearchTitle) = db.delete().`object`(searchTitle).prepare()
|
|
|
|
fun deleteAllSearchTitle() = db.delete().byQuery(
|
|
DeleteQuery.builder()
|
|
.table(SearchTitleTable.TABLE)
|
|
.build(),
|
|
)
|
|
.prepare()
|
|
|
|
fun setSearchTitlesForManga(mangaId: Long, titles: List<SearchTitle>) {
|
|
db.inTransaction {
|
|
deleteSearchTitlesForManga(mangaId).executeAsBlocking()
|
|
titles.chunked(100) { chunk ->
|
|
insertSearchTitles(chunk).executeAsBlocking()
|
|
}
|
|
}
|
|
}
|
|
}
|