commit 26/08/2025

This commit is contained in:
2025-08-26 16:13:37 +07:00
parent 4743b47a89
commit 09b65738af
6 changed files with 638 additions and 52 deletions

View File

@@ -10,6 +10,7 @@ import io.javalin.apibuilder.ApiBuilder.path
import io.javalin.apibuilder.ApiBuilder.post
import io.javalin.apibuilder.ApiBuilder.ws
import io.javalin.http.Context
import io.javalin.websocket.WsMessageContext
import java.time.LocalDateTime
@Suppress("unused")
@@ -17,6 +18,16 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
var app : Javalin? = null
val objectmapper = jacksonObjectMapper()
private fun SendReply(context: WsMessageContext, command: String, value: String) {
try {
if (context.session.isOpen) {
context.send(objectmapper.writeValueAsString(WebsocketReply(command, value)))
}
} catch (_: Exception) {
}
}
fun Start() {
app = Javalin.create {
config ->
@@ -67,38 +78,38 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
val cmd = objectmapper.readValue(wsMessageContext.message(), WebsocketCommand::class.java)
when (cmd.command) {
"getSystemTime" ->{
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, LocalDateTime.now().format(Somecodes.datetimeformat1))))
SendReply(wsMessageContext, cmd.command, LocalDateTime.now().format(Somecodes.datetimeformat1))
}
"getCPUStatus" ->{
Somecodes.getCPUUsage { vv ->
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, vv)))
SendReply(wsMessageContext, cmd.command, vv )
}
}
"getMemoryStatus" ->{
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, Somecodes.getMemoryUsage())))
SendReply(wsMessageContext, cmd.command, Somecodes.getMemoryUsage())
}
"getDiskStatus" ->{
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, Somecodes.getDiskUsage())))
SendReply(wsMessageContext, cmd.command, Somecodes.getDiskUsage())
}
"getNetworkStatus" ->{
// TODO Get Network status
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command,"OK")))
SendReply(wsMessageContext, cmd.command, "OK")
}
"getSoundBankList" ->{
println("getSoundBankList command received")
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, MariaDB.ArrayListtoString(db.SoundbankList))))
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.SoundbankList))
}
"getMessageBankList"->{
println("getMessageBankList command received")
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, MariaDB.ArrayListtoString(db.MessagebankList))) )
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.MessagebankList))
}
"getLanguageList"->{
println("getLanguageList command received")
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, MariaDB.ArrayListtoString(db.LanguageLinkList))))
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.LanguageLinkList))
}
"getTimerList"->{
println("getTimerList command received")
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply(cmd.command, MariaDB.ArrayListtoString(db.SchedulebankList))))
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.SchedulebankList))
}
"getLog" ->{
println("getLog command received")
@@ -107,7 +118,7 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
println("getSetting command received")
}
else -> {
wsMessageContext.send(objectmapper.writeValueAsString(WebsocketReply("error", "Unknown command: ${cmd.command}")))
SendReply(wsMessageContext, cmd.command, "Unknown command")
}
}
} catch (e: Exception){
@@ -152,6 +163,8 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
}
fun CheckUsers(ctx: Context){
val user = ctx.sessionAttribute<String?>("user")
if (user == null) {