From 1cdbed51cdc05a8cef543ec3b2e424546bb1e037 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 28 Mar 2024 01:56:23 -0400 Subject: [PATCH] [F] Fix long casting --- src/main/java/ext/Ext.kt | 6 ++++++ src/main/java/icu/samnyan/aqua/sega/wacca/WaccaServer.kt | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/ext/Ext.kt b/src/main/java/ext/Ext.kt index 256381a8..6760b2cf 100644 --- a/src/main/java/ext/Ext.kt +++ b/src/main/java/ext/Ext.kt @@ -115,6 +115,12 @@ catch (e: Exception) { null } } fun Long.toHex(len: Int = 16): Str = "0x${this.toString(len).padStart(len, '0').uppercase()}" fun Map.toUrl() = entries.joinToString("&") { (k, v) -> "$k=$v" } +fun Any.long() = when (this) { + is Number -> toLong() + is String -> toLong() + else -> 400 - "Invalid number: $this" +} + // Collections operator fun Map.plus(map: Map) = (if (this is MutableMap) this else toMutableMap()).apply { putAll(map) } diff --git a/src/main/java/icu/samnyan/aqua/sega/wacca/WaccaServer.kt b/src/main/java/icu/samnyan/aqua/sega/wacca/WaccaServer.kt index 81ebbf50..2d5172ed 100644 --- a/src/main/java/icu/samnyan/aqua/sega/wacca/WaccaServer.kt +++ b/src/main/java/icu/samnyan/aqua/sega/wacca/WaccaServer.kt @@ -24,7 +24,7 @@ class WaccaServer(val rp: WaccaRepos) { init { api() } // DSL Functions - fun options(u: WaccaUser) = rp.option.findByUser(u).associate { it.optId to it.value } + fun options(u: WaccaUser?) = u?.let { rp.option.findByUser(u).associate { it.optId to it.value } } ?: emptyMap() operator fun Map.get(type: WaccaOptionType) = getOrDefault(type.id, type.default) fun ls(vararg args: Any) = args.toList() @@ -75,9 +75,9 @@ fun WaccaServer.api() { "stateUpScore#" - 0, "otherScore#" - 0, "waccaPoints#" - 0) } "user/status/get" { req, (uid) -> - val ru = rp.user.findById(uid as Long)() + val ru = rp.user.findById(uid.long())() val u = ru ?: WaccaUser() - val o = options(u) + val o = options(ru) u.run { ls( ls(uid, username, "userType" - 1, xp, danLevel, danType, wp, "titlePartIds" - ls(0, 0, 0), loginCount, loginCountDays, loginCountConsec, loginCountDaysConsec, vipExpireTime, loginCountToday, rating),