parent
4d23f35b9d
commit
2caf220b18
@ -1,51 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.data.database.resolvers
|
|
||||||
|
|
||||||
import android.database.Cursor
|
|
||||||
import com.pushtorefresh.storio.sqlite.operations.get.DefaultGetResolver
|
|
||||||
import eu.kanade.tachiyomi.data.database.mappers.ChapterGetResolver
|
|
||||||
import eu.kanade.tachiyomi.data.database.mappers.HistoryGetResolver
|
|
||||||
import eu.kanade.tachiyomi.data.database.mappers.MangaGetResolver
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.MangaChapterHistory
|
|
||||||
|
|
||||||
class MangaChapterHistoryGetResolver : DefaultGetResolver<MangaChapterHistory>() {
|
|
||||||
companion object {
|
|
||||||
val INSTANCE = MangaChapterHistoryGetResolver()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Manga get resolver
|
|
||||||
*/
|
|
||||||
private val mangaGetResolver = MangaGetResolver()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chapter get resolver
|
|
||||||
*/
|
|
||||||
private val chapterResolver = ChapterGetResolver()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* History get resolver
|
|
||||||
*/
|
|
||||||
private val historyGetResolver = HistoryGetResolver()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Map correct objects from cursor result
|
|
||||||
*/
|
|
||||||
override fun mapFromCursor(cursor: Cursor): MangaChapterHistory {
|
|
||||||
// Get manga object
|
|
||||||
val manga = mangaGetResolver.mapFromCursor(cursor)
|
|
||||||
|
|
||||||
// Get chapter object
|
|
||||||
val chapter = chapterResolver.mapFromCursor(cursor)
|
|
||||||
|
|
||||||
// Get history object
|
|
||||||
val history = historyGetResolver.mapFromCursor(cursor)
|
|
||||||
|
|
||||||
// Make certain column conflicts are dealt with
|
|
||||||
manga.id = chapter.manga_id
|
|
||||||
manga.url = cursor.getString(cursor.getColumnIndexOrThrow("mangaUrl"))
|
|
||||||
chapter.id = history.chapter_id
|
|
||||||
|
|
||||||
// Return result
|
|
||||||
return MangaChapterHistory(manga, chapter, history)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
package eu.kanade.tachiyomi.data.database.resolvers
|
|
||||||
|
|
||||||
import androidx.core.content.contentValuesOf
|
|
||||||
import com.pushtorefresh.storio.sqlite.StorIOSQLite
|
|
||||||
import com.pushtorefresh.storio.sqlite.operations.put.PutResolver
|
|
||||||
import com.pushtorefresh.storio.sqlite.operations.put.PutResult
|
|
||||||
import com.pushtorefresh.storio.sqlite.queries.UpdateQuery
|
|
||||||
import eu.kanade.tachiyomi.data.database.inTransactionReturn
|
|
||||||
import eu.kanade.tachiyomi.data.database.models.Manga
|
|
||||||
import eu.kanade.tachiyomi.data.database.tables.MangaTable
|
|
||||||
|
|
||||||
class MangaTitlePutResolver : PutResolver<Manga>() {
|
|
||||||
|
|
||||||
override fun performPut(db: StorIOSQLite, manga: Manga) = db.inTransactionReturn {
|
|
||||||
val updateQuery = mapToUpdateQuery(manga)
|
|
||||||
val contentValues = mapToContentValues(manga)
|
|
||||||
|
|
||||||
val numberOfRowsUpdated = db.lowLevel().update(updateQuery, contentValues)
|
|
||||||
PutResult.newUpdateResult(numberOfRowsUpdated, updateQuery.table())
|
|
||||||
}
|
|
||||||
|
|
||||||
fun mapToUpdateQuery(manga: Manga) = UpdateQuery.builder()
|
|
||||||
.table(MangaTable.TABLE)
|
|
||||||
.where("${MangaTable.COL_ID} = ?")
|
|
||||||
.whereArgs(manga.id)
|
|
||||||
.build()
|
|
||||||
|
|
||||||
fun mapToContentValues(manga: Manga) =
|
|
||||||
contentValuesOf(
|
|
||||||
MangaTable.COL_TITLE to manga.title,
|
|
||||||
)
|
|
||||||
}
|
|
Loading…
Reference in new issue