Add favorite entry alternative handling, allowing parennt versions to take priority for favorites sync

This commit is contained in:
Jobobby04
2023-05-12 22:50:23 -04:00
parent e9a3463455
commit 282a0c4e16
12 changed files with 333 additions and 34 deletions
@@ -0,0 +1,13 @@
package tachiyomi.domain.manga.interactor
import tachiyomi.domain.manga.model.FavoriteEntryAlternative
import tachiyomi.domain.manga.repository.FavoritesEntryRepository
class InsertFavoriteEntryAlternative(
private val favoriteEntryRepository: FavoritesEntryRepository,
) {
suspend fun await(entry: FavoriteEntryAlternative) {
return favoriteEntryRepository.addAlternative(entry)
}
}
@@ -3,7 +3,6 @@ package tachiyomi.domain.manga.model
import exh.metadata.metadata.EHentaiSearchMetadata
data class FavoriteEntry(
val id: Long? = null,
val title: String,
@@ -11,6 +10,10 @@ data class FavoriteEntry(
val token: String,
val otherGid: String? = null,
val otherToken: String? = null,
val category: Int = -1,
) {
fun getUrl() = EHentaiSearchMetadata.idAndTokenToUrl(gid, token)
@@ -0,0 +1,8 @@
package tachiyomi.domain.manga.model
data class FavoriteEntryAlternative(
val otherGid: String,
val otherToken: String,
val gid: String,
val token: String,
)
@@ -1,6 +1,7 @@
package tachiyomi.domain.manga.repository
import tachiyomi.domain.manga.model.FavoriteEntry
import tachiyomi.domain.manga.model.FavoriteEntryAlternative
interface FavoritesEntryRepository {
suspend fun deleteAll()
@@ -8,4 +9,6 @@ interface FavoritesEntryRepository {
suspend fun insertAll(favoriteEntries: List<FavoriteEntry>)
suspend fun selectAll(): List<FavoriteEntry>
suspend fun addAlternative(favoriteEntryAlternative: FavoriteEntryAlternative)
}