Refactor Token and SteamwarUser classes: enhance owner property with memoized transformation, increase hash generation key size, and ensure database usage in useDb block.

Signed-off-by: Chaoscaot <max@maxsp.de>
This commit is contained in:
2025-11-07 18:57:34 +01:00
parent e5a61226ca
commit e50e52950b
3 changed files with 4 additions and 3 deletions
@@ -285,5 +285,5 @@ class SteamwarUser(id: EntityID<Int>): IntEntity(id) {
fun hasPassword() = password != null
fun generateHash(password: String, salt: ByteArray): ByteArray =
PBEKeySpec(password.toCharArray(), salt, 65536, 128).let { factory.generateSecret(it).encoded }
PBEKeySpec(password.toCharArray(), salt, 65536, 512).let { factory.generateSecret(it).encoded }
}
+1 -1
View File
@@ -81,7 +81,7 @@ class Token(id: EntityID<Int>): IntEntity(id) {
var name by TokenTable.name
private set
var owner by SteamwarUser referencedOn TokenTable.owner
var owner by TokenTable.owner.memoizedTransform({ it.id }, { SteamwarUser.byId(it.value)!! })
private set
var created by TokenTable.created.transform({ it.toInstant() }, { Timestamp.from(it) })
private set
@@ -27,6 +27,7 @@ import de.steamwar.sql.SchematicType
import de.steamwar.sql.SteamwarUser
import de.steamwar.sql.Team
import de.steamwar.sql.UserPerm
import de.steamwar.sql.internal.useDb
import de.steamwar.util.fetchData
import io.ktor.http.*
import io.ktor.server.application.*
@@ -75,7 +76,7 @@ fun Route.configureDataRoutes() {
permission = UserPerm.MODERATION
}
get("/users") {
call.respond(SteamwarUser.all().map { ResponseUser.get(it) })
call.respond(useDb { SteamwarUser.all().map { ResponseUser.get(it) } })
}
get("/teams") {
call.respond(Team.getAll().map { ResponseTeam(it) })