commit 09/09/2025

This commit is contained in:
2025-09-09 15:54:42 +07:00
parent c01c4e39fd
commit 40f462ce79
24 changed files with 8923 additions and 503 deletions

View File

@@ -1,6 +1,7 @@
package web
import codes.Somecodes
import codes.Somecodes.Companion.ListAudioFiles
import codes.Somecodes.Companion.ValidDate
import codes.Somecodes.Companion.ValidFile
import codes.Somecodes.Companion.ValidScheduleDay
@@ -10,7 +11,9 @@ import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import content.Category
import content.Language
import content.ScheduleDay
import content.VoiceType
import database.LanguageLink
import database.MariaDB
import database.Soundbank
import io.javalin.Javalin
@@ -123,7 +126,7 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.Read_Queue_Paging()))
}
"getAASPagingQueue" ->{
"getAASQueue" ->{
SendReply(wsMessageContext, cmd.command, MariaDB.ArrayListtoString(db.Read_Queue_Table()))
}
@@ -162,11 +165,34 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
before { CheckUsers(it) }
}
path("api") {
path("VoiceType"){
get{
it.result(objectmapper.writeValueAsString(VoiceType.entries.map { vt -> vt.name }))
}
}
path("Category") {
get {
it.result(objectmapper.writeValueAsString(Category.entries.map { cat -> cat.name }) )
}
}
path("Language") {
get {
it.result(objectmapper.writeValueAsString(Language.entries.map { lang -> lang.name }) )
}
}
path("ScheduleDay") {
get {
it.result(objectmapper.writeValueAsString(ScheduleDay.entries.map { day -> day.toString() }))
}
}
path("SoundBank") {
get("List") {
// get soundbank list
it.result(MariaDB.ArrayListtoString(db.SoundbankList))
}
get("ListFiles"){
it.result(objectmapper.writeValueAsString(ListAudioFiles("C:\\soundbank")))
}
post("Add") {
try {
val addvalue = objectmapper.readValue(it.body(), Soundbank::class.java)
@@ -322,6 +348,9 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
// get messagebank list
it.result(MariaDB.ArrayListtoString(db.MessagebankList))
}
post("Add"){
// TODO add new messagebank
}
delete("List") {
// truncate messagebank table
if (db.Clear_Messagebank()) {
@@ -443,6 +472,22 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>, val
// get language link list
it.result(MariaDB.ArrayListtoString(db.LanguageLinkList))
}
post("Add"){
// Parse JSON from request body
val json: JsonNode = objectmapper.readTree(it.body())
val tag = json.get("tag").asText()
val languages = json.get("language").asText().split(";")
if (ValidString(tag)){
if (languages.all { xx -> Language.entries.any { yy -> yy.name== xx} }){
if (db.LanguageLinkList.any { ll -> ll.TAG==tag }){
val newvalue = LanguageLink(0u, tag, languages.joinToString(";"))
if (db.Add_LanguageLink(newvalue)){
it.result("OK")
} else it.status(500).result("Failed to add language link to database")
} else it.status(400).result("TAG=$tag already exists" )
} else it.status(400).result("Contains unsupported language" )
} else it.status(400).result("Invalid tag or language")
}
delete("List") {
// truncate language link table
if (db.Clear_LanguageLink()) {