diff --git a/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt b/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt index e460f70b..923b176c 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt @@ -30,6 +30,7 @@ import org.jetbrains.exposed.v1.core.eq import org.jetbrains.exposed.v1.core.lessSubQuery import org.jetbrains.exposed.v1.dao.CompositeEntity import org.jetbrains.exposed.v1.dao.CompositeEntityClass +import org.jetbrains.exposed.v1.dao.flushCache import org.jetbrains.exposed.v1.javatime.CurrentTimestamp import org.jetbrains.exposed.v1.javatime.timestamp import org.jetbrains.exposed.v1.jdbc.select @@ -70,10 +71,10 @@ class Leaderboard(id: EntityID) : CompositeEntity(id) { @JvmStatic fun upsert(userId: Int, name: String, time: Long, bestTime: Boolean) = useDb { - findByIdAndUpdate(CompositeID { + findById(CompositeID { it[LeaderboardTable.userId] = userId it[LeaderboardTable.name] = name - }) { + })?.also { it.time = time it.bestTime = bestTime } ?: new(