forked from SteamWar/SteamWar
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:
@@ -285,5 +285,5 @@ class SteamwarUser(id: EntityID<Int>): IntEntity(id) {
|
|||||||
fun hasPassword() = password != null
|
fun hasPassword() = password != null
|
||||||
|
|
||||||
fun generateHash(password: String, salt: ByteArray): ByteArray =
|
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 }
|
||||||
}
|
}
|
||||||
@@ -81,7 +81,7 @@ class Token(id: EntityID<Int>): IntEntity(id) {
|
|||||||
|
|
||||||
var name by TokenTable.name
|
var name by TokenTable.name
|
||||||
private set
|
private set
|
||||||
var owner by SteamwarUser referencedOn TokenTable.owner
|
var owner by TokenTable.owner.memoizedTransform({ it.id }, { SteamwarUser.byId(it.value)!! })
|
||||||
private set
|
private set
|
||||||
var created by TokenTable.created.transform({ it.toInstant() }, { Timestamp.from(it) })
|
var created by TokenTable.created.transform({ it.toInstant() }, { Timestamp.from(it) })
|
||||||
private set
|
private set
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import de.steamwar.sql.SchematicType
|
|||||||
import de.steamwar.sql.SteamwarUser
|
import de.steamwar.sql.SteamwarUser
|
||||||
import de.steamwar.sql.Team
|
import de.steamwar.sql.Team
|
||||||
import de.steamwar.sql.UserPerm
|
import de.steamwar.sql.UserPerm
|
||||||
|
import de.steamwar.sql.internal.useDb
|
||||||
import de.steamwar.util.fetchData
|
import de.steamwar.util.fetchData
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
@@ -75,7 +76,7 @@ fun Route.configureDataRoutes() {
|
|||||||
permission = UserPerm.MODERATION
|
permission = UserPerm.MODERATION
|
||||||
}
|
}
|
||||||
get("/users") {
|
get("/users") {
|
||||||
call.respond(SteamwarUser.all().map { ResponseUser.get(it) })
|
call.respond(useDb { SteamwarUser.all().map { ResponseUser.get(it) } })
|
||||||
}
|
}
|
||||||
get("/teams") {
|
get("/teams") {
|
||||||
call.respond(Team.getAll().map { ResponseTeam(it) })
|
call.respond(Team.getAll().map { ResponseTeam(it) })
|
||||||
|
|||||||
Reference in New Issue
Block a user