Add favorite entry alternative handling, allowing parennt versions to take priority for favorites sync
This commit is contained in:
+13
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user