commit 23/10/2025
This commit is contained in:
@@ -12,6 +12,7 @@ import codes.Somecodes.Companion.ValidScheduleDay
|
||||
import codes.Somecodes.Companion.ValidScheduleTime
|
||||
import codes.Somecodes.Companion.ValidString
|
||||
import codes.Somecodes.Companion.ValidStrings
|
||||
import codes.configFile
|
||||
import com.fasterxml.jackson.databind.JsonNode
|
||||
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
||||
import content.Category
|
||||
@@ -41,9 +42,13 @@ import io.javalin.websocket.WsMessageContext
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook
|
||||
import java.nio.file.Files
|
||||
import java.time.LocalDateTime
|
||||
import codes.configKeys
|
||||
import org.tinylog.Logger
|
||||
//import com.sun.security.auth.login.ConfigFile
|
||||
|
||||
|
||||
@Suppress("unused")
|
||||
class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>) {
|
||||
class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val _config: configFile) {
|
||||
|
||||
var app: Javalin? = null
|
||||
val objectmapper = jacksonObjectMapper()
|
||||
@@ -1448,7 +1453,6 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
path("QueueTable"){
|
||||
get("List"){
|
||||
it.result(MariaDB.ArrayListtoString(db.queuetableDB.List))
|
||||
@@ -1472,6 +1476,7 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>) {
|
||||
db.queuetableDB.Resort()
|
||||
it.result(objectmapper.writeValueAsString(resultMessage("OK")))
|
||||
db.Add_Log("AAS", "Deleted queue sound with index $index")
|
||||
|
||||
} else {
|
||||
it.status(500).result(objectmapper.writeValueAsString(resultMessage("Failed to delete queue sound with index $index")))
|
||||
}
|
||||
@@ -1480,12 +1485,107 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>) {
|
||||
}
|
||||
path("Settings"){
|
||||
|
||||
get("SoundbankDirectory"){
|
||||
val dir = _config.Get(configKeys.SOUNDBANK_DIRECTORY.key)
|
||||
it.result(objectmapper.writeValueAsString(resultMessage(dir)))
|
||||
}
|
||||
post("SoundbankDirectory"){
|
||||
val json : JsonNode = objectmapper.readTree(it.body())
|
||||
val newdir = json.get("directory").asText("")
|
||||
if (ValidString(newdir)){
|
||||
_config.Set(configKeys.SOUNDBANK_DIRECTORY.key, newdir)
|
||||
_config.Save()
|
||||
Logger.info { "Changed Soundbank Directory to $newdir" }
|
||||
it.result(objectmapper.writeValueAsString(resultMessage("OK")))
|
||||
} else {
|
||||
it.status(400)
|
||||
.result(objectmapper.writeValueAsString(resultMessage("Invalid directory value")))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
get("SoundbankResultList"){
|
||||
it.result(objectmapper.writeValueAsString(ListAudioFiles(Somecodes.SoundbankResult_directory)))
|
||||
}
|
||||
|
||||
get("SoundbankResultFile/{filename}"){
|
||||
|
||||
//TODO recheck bener/gak cara downloadnya
|
||||
val filename = it.pathParam("filename")
|
||||
|
||||
val filepath = Somecodes.SoundbankResult_directory.resolve(filename)
|
||||
if (ValidFile(filename) && Files.isRegularFile(filepath)){
|
||||
it.header(
|
||||
"Content-Disposition",
|
||||
"attachment; filename=\"$filename\"")
|
||||
it.outputStream().use { out ->
|
||||
Files.newInputStream(filepath).use { inp ->
|
||||
inp.copyTo(out)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
it.status(404).result(objectmapper.writeValueAsString(resultMessage("File not found")))
|
||||
}
|
||||
}
|
||||
|
||||
get("PagingResultList"){
|
||||
it.result(objectmapper.writeValueAsString(ListAudioFiles(Somecodes.PagingResult_directory)))
|
||||
}
|
||||
|
||||
get ("PagingResultFile/{filename}"){
|
||||
val filename = it.pathParam("filename")
|
||||
val filepath = Somecodes.PagingResult_directory.resolve(filename)
|
||||
if (ValidFile(filename) && Files.isRegularFile(filepath)){
|
||||
it.header("Content-Disposition", "attachment; filename=\"$filename\"")
|
||||
it.outputStream().use { out ->
|
||||
Files.newInputStream(filepath).use { inp ->
|
||||
inp.copyTo(out)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
it.status(404).result(objectmapper.writeValueAsString(resultMessage("File not found")))
|
||||
}
|
||||
}
|
||||
|
||||
get("Messages"){
|
||||
val messages = db.messageDB.List
|
||||
it.result(objectmapper.writeValueAsString(messages))
|
||||
}
|
||||
|
||||
get("FISCode"){
|
||||
//TODO get FIS code
|
||||
val value = object {
|
||||
//get from config file
|
||||
val GOP = _config.Get(configKeys.REMARK_GOP.key)
|
||||
val GBD = _config.Get(configKeys.REMARK_GBD.key)
|
||||
val GFC = _config.Get(configKeys.REMARK_GFC.key)
|
||||
val FLD = _config.Get(configKeys.REMARK_FLD.key)
|
||||
}
|
||||
|
||||
it.result(objectmapper.writeValueAsString(value))
|
||||
}
|
||||
|
||||
post ("FISCode") {
|
||||
//TODO set FIS code
|
||||
|
||||
val json : JsonNode = objectmapper.readTree(it.body())
|
||||
val _gop = json.get("GOP").asText("")
|
||||
val _gbd = json.get("GBD").asText("")
|
||||
val _gfc = json.get("GFC").asText("")
|
||||
val _fld = json.get("FLD").asText("")
|
||||
if (ValidString(_gop) && ValidString(_gbd) && ValidString(_gfc) && ValidString(_fld)){
|
||||
// save to config file
|
||||
_config.Set(configKeys.REMARK_GOP.key, _gop)
|
||||
_config.Set(configKeys.REMARK_GBD.key, _gbd)
|
||||
_config.Set(configKeys.REMARK_GFC.key, _gfc)
|
||||
_config.Set(configKeys.REMARK_FLD.key, _fld)
|
||||
_config.Save()
|
||||
Logger.info { "Changed FIS Codes" }
|
||||
it.result(objectmapper.writeValueAsString(resultMessage("OK")))
|
||||
} else {
|
||||
it.status(400)
|
||||
.result(objectmapper.writeValueAsString(resultMessage("Invalid FIS code value")))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user