forked from SteamWar/SteamWar
@@ -48,6 +48,7 @@ import java.time.Instant
|
||||
fun Route.configureAuditLog() {
|
||||
route("/auditlog") {
|
||||
install(SWPermissionCheck) {
|
||||
mustAuth = true
|
||||
permission = UserPerm.MODERATION
|
||||
}
|
||||
|
||||
@@ -55,13 +56,13 @@ fun Route.configureAuditLog() {
|
||||
val text = call.request.queryParameters["fullText"]
|
||||
val actionText = call.request.queryParameters["actionText"]
|
||||
val serverText = call.request.queryParameters["server"]
|
||||
val actor = call.request.queryParameters.getAll("actor")?.toSet()
|
||||
val actor = call.request.queryParameters.getAll("actor")?.map { it.toInt() }?.toSet()
|
||||
val actionType =
|
||||
call.request.queryParameters.getAll("actionType")?.map { AuditLog.Type.valueOf(it) }?.toSet()
|
||||
val timeGreater = call.request.queryParameters["timeGreater"]?.let { Instant.ofEpochMilli(it.toLong()) }
|
||||
val timeLess = call.request.queryParameters["timeLess"]?.let { Instant.ofEpochMilli(it.toLong()) }
|
||||
|
||||
val serverOwner = call.request.queryParameters.getAll("serverOwner")?.toSet()
|
||||
val serverOwner = call.request.queryParameters.getAll("serverOwner")?.map { it.toInt() }?.toSet()
|
||||
val velocity = call.request.queryParameters["velocity"]?.toBoolean()
|
||||
|
||||
val page = call.request.queryParameters["page"]?.toIntOrNull() ?: 0
|
||||
@@ -96,11 +97,11 @@ data class PagedAuditLog(val rows: Long, val entries: List<AuditLogEntry>) {
|
||||
actionText: String? = null,
|
||||
serverText: String? = null,
|
||||
fullText: String? = null,
|
||||
actor: Set<String>? = null,
|
||||
actor: Set<Int>? = null,
|
||||
actionType: Set<AuditLog.Type>? = null,
|
||||
timeGreater: Instant? = null,
|
||||
timeLess: Instant? = null,
|
||||
serverOwner: Set<String>? = null,
|
||||
serverOwner: Set<Int>? = null,
|
||||
velocity: Boolean? = null,
|
||||
page: Int = 0,
|
||||
limit: Int = 100,
|
||||
@@ -139,7 +140,7 @@ data class PagedAuditLog(val rows: Long, val entries: List<AuditLogEntry>) {
|
||||
query.andWhere { (AuditLogTable.actionText like "%$it%") or (AuditLogTable.server like "%$it%") }
|
||||
}
|
||||
|
||||
actor?.let { query.andWhere { actorTable[SteamwarUserTable.uuid] inList actor } }
|
||||
actor?.let { query.andWhere { AuditLogTable.actor inList actor } }
|
||||
|
||||
actionType?.let { query.andWhere { AuditLogTable.action inList actionType } }
|
||||
|
||||
@@ -147,7 +148,7 @@ data class PagedAuditLog(val rows: Long, val entries: List<AuditLogEntry>) {
|
||||
|
||||
timeLess?.let { query.andWhere { AuditLogTable.time less timeLess } }
|
||||
|
||||
serverOwner?.let { query.andWhere { serverOwnerTable[SteamwarUserTable.uuid] inList serverOwner } }
|
||||
serverOwner?.let { query.andWhere { AuditLogTable.serverOwner inList serverOwner } }
|
||||
|
||||
if (velocity == true) query.andWhere { AuditLogTable.serverOwner.isNull() }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user