Skip to content

Commit 787045e

Browse files
committed
Fix /as reset not delecting db data
1 parent e4054da commit 787045e

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

bukkit/src/main/kotlin/io/github/rothes/esu/bukkit/module/ChatAntiSpamModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ object ChatAntiSpamModule: BukkitModule<ChatAntiSpamModule.ModuleConfig, ChatAnt
113113
"player", UserParser.parser(), DefaultValue.dynamic { it.sender() as PlayerUser }, UserParser()
114114
).handler { context ->
115115
val playerUser = context.get<PlayerUser>("player")
116-
CasDataManager.deleteExpiredAsync(playerUser.dbId)
116+
CasDataManager.deleteAsync(playerUser.dbId)
117117
CasDataManager.cacheById.remove(playerUser.dbId)
118118
CasDataManager.cacheByIp.remove(playerUser.addr)
119119
context.sender().message(locale, { command.reset.resetPlayer },

bukkit/src/main/kotlin/io/github/rothes/esu/bukkit/module/chatantispam/user/CasDataManager.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,19 @@ object CasDataManager {
175175
}
176176
}
177177

178+
fun deleteAsync(key: Any?) {
179+
val where = when (key) {
180+
is Int -> ChatSpamTable.user eq key
181+
is String -> ChatSpamTable.ip eq key
182+
else -> error("Unknown key type ${key?.javaClass?.name} ($key)")
183+
}
184+
StorageManager.coroutineScope.launch {
185+
transaction(database) {
186+
ChatSpamTable.deleteWhere { where }
187+
}
188+
}
189+
}
190+
178191
private val expiredOp
179192
get() = lastAccess.between((-1L).localDateTime, (System.currentTimeMillis() - config.userDataExpiresAfter.toMillis()).localDateTime)
180193

0 commit comments

Comments
 (0)