add MangaTable.lastFetchedAt and ChapterTable.chaptersLastFetchedAt (#431)

* Add lastFetchedAt and chaptersLastFetchedAt columns to manga

* Update lastFetchedAt columns when data are fetched from source

* Add age and chaptersAge fields to MangaDataClass

* Replace two migrations with single migration
This commit is contained in:
Valter Martinek
2022-10-30 17:46:23 +01:00
committed by GitHub
parent 23f0876c00
commit 0fa2834d25
6 changed files with 46 additions and 2 deletions

View File

@@ -100,6 +100,10 @@ object Chapter {
}
}
}
MangaTable.update({ MangaTable.id eq mangaId }) {
it[MangaTable.chaptersLastFetchedAt] = Instant.now().epochSecond
}
}
// clear any orphaned/duplicate chapters that are in the db but not in `chapterList`

View File

@@ -42,6 +42,7 @@ import uy.kohesive.injekt.injectLazy
import java.io.File
import java.io.IOException
import java.io.InputStream
import java.time.Instant
object Manga {
private fun truncate(text: String?, maxLength: Int): String? {
@@ -90,6 +91,8 @@ object Manga {
it[MangaTable.realUrl] = runCatching {
(source as? HttpSource)?.mangaDetailsRequest(sManga)?.url?.toString()
}.getOrNull()
it[MangaTable.lastFetchedAt] = Instant.now().epochSecond
}
}
@@ -117,6 +120,8 @@ object Manga {
getSource(mangaEntry[MangaTable.sourceReference]),
getMangaMetaMap(mangaId),
mangaEntry[MangaTable.realUrl],
mangaEntry[MangaTable.lastFetchedAt],
mangaEntry[MangaTable.chaptersLastFetchedAt],
true
)
}
@@ -142,6 +147,8 @@ object Manga {
getSource(mangaEntry[MangaTable.sourceReference]),
getMangaMetaMap(mangaId),
mangaEntry[MangaTable.realUrl],
mangaEntry[MangaTable.lastFetchedAt],
mangaEntry[MangaTable.chaptersLastFetchedAt],
false
)

View File

@@ -88,6 +88,8 @@ object MangaList {
0,
meta = getMangaMetaMap(mangaId),
realUrl = mangaEntry[MangaTable.realUrl],
lastFetchedAt = mangaEntry[MangaTable.lastFetchedAt],
chaptersLastFetchedAt = mangaEntry[MangaTable.chaptersLastFetchedAt],
freshData = true
)
} else {
@@ -111,6 +113,8 @@ object MangaList {
mangaEntry[MangaTable.inLibraryAt],
meta = getMangaMetaMap(mangaId),
realUrl = mangaEntry[MangaTable.realUrl],
lastFetchedAt = mangaEntry[MangaTable.lastFetchedAt],
chaptersLastFetchedAt = mangaEntry[MangaTable.chaptersLastFetchedAt],
freshData = false
)
}