diff --git a/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt b/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt index df2af9d..7052e9a 100644 --- a/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt +++ b/nise-backend/src/main/kotlin/com/nisemoe/nise/scheduler/ImportScores.kt @@ -3,6 +3,8 @@ package com.nisemoe.nise.scheduler import com.nisemoe.generated.tables.records.ScoresRecord import com.nisemoe.generated.tables.references.* import com.nisemoe.nise.UserQueueDetails +import com.nisemoe.nise.database.ReplayCacheReplay +import com.nisemoe.nise.database.ReplayCacheService import com.nisemoe.nise.database.ScoreService import com.nisemoe.nise.database.UserService import com.nisemoe.nise.integrations.CircleguardService @@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.RestController import java.time.LocalDateTime import java.time.OffsetDateTime import java.time.ZoneOffset +import java.util.Base64 @Service @RestController @@ -49,7 +52,8 @@ class ImportScores( private val scoreService: ScoreService, private val updateUserQueueService: UpdateUserQueueService, private val circleguardService: CircleguardService, - private val messagingTemplate: SimpMessagingTemplate + private val messagingTemplate: SimpMessagingTemplate, + private val replayCacheService: ReplayCacheService, ) : InitializingBean { private val userToUpdateBucket = mutableListOf() @@ -784,6 +788,22 @@ class ImportScores( ) } + // Insert into replay cache + val replayCacheReplay = ReplayCacheReplay( + score.best_id, + beatmapId, + score.user_id.toInt(), + Base64.getDecoder().decode(scoreReplay.content), + Mod.combineModStrings(score.mods), + ) + val replayCacheInsertSuccess = replayCacheService.insertReplay(replayCacheReplay) + + if (replayCacheInsertSuccess) { + logger.info("Inserted replay ${score.id} into replay cache") + } else { + logger.error("Could not insert replay ${score.id} into replay cache") + } + this.statistics.scoresWithReplayAndAnalyzed++ if (scoreId == null) {