commit 26/08/2025
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user