diff --git a/nise-backend/src/main/kotlin/com/nisemoe/nise/Models.kt b/nise-backend/src/main/kotlin/com/nisemoe/nise/Models.kt index dc21ee1..dce55dd 100644 --- a/nise-backend/src/main/kotlin/com/nisemoe/nise/Models.kt +++ b/nise-backend/src/main/kotlin/com/nisemoe/nise/Models.kt @@ -65,6 +65,8 @@ data class SimilarReplayEntry( val replay_id_2: Long, val user_id_1: Long, val user_id_2: Long, + val user_banned_1: Boolean, + val user_banned_2: Boolean, val username_1: String, val username_2: String, val beatmap_beatmapset_id: Long, diff --git a/nise-backend/src/main/kotlin/com/nisemoe/nise/database/ScoreService.kt b/nise-backend/src/main/kotlin/com/nisemoe/nise/database/ScoreService.kt index 0d151a4..44244b2 100644 --- a/nise-backend/src/main/kotlin/com/nisemoe/nise/database/ScoreService.kt +++ b/nise-backend/src/main/kotlin/com/nisemoe/nise/database/ScoreService.kt @@ -390,6 +390,8 @@ class ScoreService( fun getSimilarReplays(condition: Condition = DSL.noCondition()): List { val replays = getSimilarReplaysRecords(condition) return mapSimilarReplays(replays) + // Filter scores where the imports have been out of order and the stolen replay's user has been banned + .filter { !it.user_banned_2 } } private fun mapSimilarReplays(replays: List) = replays.map { @@ -400,6 +402,9 @@ class ScoreService( var userId1 = it.get(osuScoreAlias1.USER_ID, Long::class.java) var userId2 = it.get(osuScoreAlias2.USER_ID, Long::class.java) + var userBanned1 = it.get(osuUserAlias1.IS_BANNED, Boolean::class.java) + var userBanned2 = it.get(osuUserAlias2.IS_BANNED, Boolean::class.java) + var username1 = it.get(osuUserAlias1.USERNAME, String::class.java) var username2 = it.get(osuUserAlias2.USERNAME, String::class.java) @@ -422,6 +427,10 @@ class ScoreService( userId1 = userId2 userId2 = tempUserId + val tempUserBanned = userBanned1 + userBanned1 = userBanned2 + userBanned2 = tempUserBanned + val tempUsername = username1 username1 = username2 username2 = tempUsername @@ -444,6 +453,8 @@ class ScoreService( replay_id_2 = replayId2, user_id_1 = userId1, user_id_2 = userId2, + user_banned_1 = userBanned1, + user_banned_2 = userBanned2, username_1 = username1, username_2 = username2, beatmap_beatmapset_id = it.get(BEATMAPS.BEATMAPSET_ID, Long::class.java),