Starting...

This commit is contained in:
2025-10-27 18:34:31 +01:00
parent e6bbb76a0b
commit a462231bab
65 changed files with 784 additions and 772 deletions
@@ -75,7 +75,7 @@ val SWPermissionCheck = createRouteScopedPlugin("SWAuth", ::SWAuthConfig) {
return@on
}
if (permission != null && !token.user.hasPerm(permission)) {
if (permission != null && !token.user.hasPerm(permission!!)) {
call.respond(HttpStatusCode.Forbidden)
return@on
}
@@ -46,7 +46,7 @@ data class ResponseSchematicType(val name: String, val db: String)
data class ResponseUser(val name: String, val uuid: String, val prefix: String, val perms: List<String>) {
constructor(user: SteamwarUser) : this(user.userName, user.uuid.toString(), user.prefix().chatPrefix, user.perms().filter { !it.name.startsWith("PREFIX_") }.map { it.name }) {
synchronized(cache) {
cache[user.id] = this
cache[user.getId()] = this
}
}
@@ -55,7 +55,7 @@ data class ResponseUser(val name: String, val uuid: String, val prefix: String,
fun get(id: Int): ResponseUser {
synchronized(cache) {
return cache[id] ?: ResponseUser(SteamwarUser.get(id)).also { cache[id] = it }
return cache[id] ?: ResponseUser(SteamwarUser.byId(id)!!).also { cache[id] = it }
}
}
@@ -75,7 +75,7 @@ fun Route.configureDataRoutes() {
permission = UserPerm.MODERATION
}
get("/users") {
call.respond(SteamwarUser.getAll().map { ResponseUser(it) })
call.respond(SteamwarUser.all().map { ResponseUser(it) })
}
get("/teams") {
call.respond(Team.getAll().map { ResponseTeam(it) })
@@ -21,7 +21,6 @@ package de.steamwar.routes
import de.steamwar.sql.Referee
import de.steamwar.sql.SteamwarUser
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.request.*
import io.ktor.server.response.*
@@ -32,23 +31,23 @@ fun Route.configureEventRefereesRouting() {
route("/referees") {
get {
val event = call.receiveEvent() ?: return@get
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.get(it)) })
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.byId(it)!!) })
}
put {
val event = call.receiveEvent() ?: return@put
val referees = call.receive<List<String>>()
referees.forEach {
Referee.add(event.eventID, SteamwarUser.get(UUID.fromString(it)).id)
Referee.add(event.eventID, SteamwarUser.get(UUID.fromString(it))!!.getId())
}
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.get(it)) })
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.byId(it)!!) })
}
delete {
val event = call.receiveEvent() ?: return@delete
val referees = call.receive<List<String>>()
referees.forEach {
Referee.remove(event.eventID, SteamwarUser.get(UUID.fromString(it)).id)
Referee.remove(event.eventID, SteamwarUser.get(UUID.fromString(it))!!.getId())
}
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.get(it)) })
call.respond(Referee.get(event.eventID).map { ResponseUser(SteamwarUser.byId(it)!!) })
}
}
}
@@ -118,7 +118,7 @@ data class ExtendedResponseEvent(
TeamTeilnahme.getTeams(event.eventID).map { ResponseTeam(it) },
EventGroup.get(event).map { ResponseGroups(it) },
EventFight.getEvent(event.eventID).map { ResponseEventFight(it) },
Referee.get(event.eventID).map { ResponseUser(SteamwarUser.get(it)) },
Referee.get(event.eventID).map { ResponseUser(SteamwarUser.byId(it)!!) },
EventRelation.get(event).map { ResponseRelation(it) }
)
}
@@ -221,13 +221,13 @@ fun Route.configureEventsRoute() {
if (updateEvent.addReferee != null) {
updateEvent.addReferee.forEach {
Referee.add(event.eventID, SteamwarUser.get(UUID.fromString(it)).id)
Referee.add(event.eventID, SteamwarUser.get(UUID.fromString(it))!!.getId())
}
}
if (updateEvent.removeReferee != null) {
updateEvent.removeReferee.forEach {
Referee.remove(event.eventID, SteamwarUser.get(UUID.fromString(it)).id)
Referee.remove(event.eventID, SteamwarUser.get(UUID.fromString(it))!!.getId())
}
}
event.update(eventName, deadline, start, end, schemType, maxTeamMembers, publicSchemsOnly)
@@ -128,9 +128,9 @@ fun Route.configureSchematic() {
val user = call.principal<SWAuthPrincipal>()!!.user
var node = SchematicNode.getSchematicNode(user.id, schemName, null as Int?)
var node = SchematicNode.getSchematicNode(user.getId(), schemName, null as Int?)
if (node == null) {
node = SchematicNode.createSchematic(user.id, schemName, null)
node = SchematicNode.createSchematic(user.getId(), schemName, null)
}
try {
@@ -36,7 +36,7 @@ data class UserStats(val eventFightParticipation: Int, val eventParticipation: I
getEventParticipation(user) ?: 0,
getAcceptedSchematics(user) ?: 0,
getFightCount(user) ?: 0,
user.onlinetime / 3600.0
user.getOnlinetime() / 3600.0
)
}