Handling erroring insert

This commit is contained in:
bskjon 2025-01-06 00:19:31 +01:00
parent 64c5df4772
commit be7c742b30
2 changed files with 18 additions and 3 deletions

View File

@ -37,7 +37,7 @@ dependencies {
implementation("org.json:json:20210307") implementation("org.json:json:20210307")
implementation("no.iktdev:exfl:0.0.16-SNAPSHOT") implementation("no.iktdev:exfl:0.0.16-SNAPSHOT")
implementation("no.iktdev.streamit.library:streamit-library-db:1.0.0-alpha11") implementation("no.iktdev.streamit.library:streamit-library-db:1.0.0-alpha12")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")

View File

@ -97,8 +97,8 @@ object ContentCatalogStore {
log.error { "serieInfo in videoDetails is null!" } log.error { "serieInfo in videoDetails is null!" }
return return
} }
val insert = withTransaction(getStoreDatabase()) { val status = insertWithSuccess(getStoreDatabase().database) {
serie.insertIgnore { serie.insert {
it[title] = serieInfo.episodeTitle it[title] = serieInfo.episodeTitle
it[episode] = serieInfo.episodeNumber it[episode] = serieInfo.episodeNumber
it[season] = serieInfo.seasonNumber it[season] = serieInfo.seasonNumber
@ -106,6 +106,21 @@ object ContentCatalogStore {
it[serie.collection] = collection it[serie.collection] = collection
} }
} }
if (!status) {
log.error { "Failed to insert ${videoDetails.fileName} with episode: ${serieInfo.episodeNumber} and season ${serieInfo.seasonNumber}" }
val finalStatus = insertWithSuccess(getStoreDatabase().database) {
serie.insert {
it[title] = serieInfo.episodeTitle
it[episode] = serieInfo.episodeNumber
it[season] = 0
it[video] = videoDetails.fileName
it[serie.collection] = collection
}
}
if (!finalStatus) {
log.error { "Failed to insert ${videoDetails.fileName} with fallback season 0" }
}
}
} }
fun storeMedia(title: String, collection: String, type: String, videoDetails: VideoDetails) { fun storeMedia(title: String, collection: String, type: String, videoDetails: VideoDetails) {