- Copied complete Lts/Tools directory from qt5-before to qt6-after - Updated 32 CMakeLists.txt files (Qt5:: → Qt6::) - Tools subdirectory already included in parent Lts/CMakeLists.txt - All 72 tool submodules now present in qt6-migrated-legatus - Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate, DdsView, InfrastructureManagement, and 67 more tools - C++17 standard (RTI 7.7.0 compatibility maintained) - Tests deferred until final validation phase Migration progress: ✅ Lts/Application (68 files) ✅ Lts/DDS (verified Qt6-ready) ✅ Lts/Plugins (60 submodules, verified) ✅ Lts/Projects (5 submodules, verified) ✅ Lts/Proxies (13 submodules, verified) ✅ Lts/Services (47 submodules, verified) ✅ Lts/Tools (72 submodules, copied + CMake updated) ✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap) 🟡 TetraIF (partial) 🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
69 lines
1.5 KiB
Go
Executable File
69 lines
1.5 KiB
Go
Executable File
package websocket
|
|
|
|
import (
|
|
"fmt"
|
|
partydata "legatus-rme/backend/partyData"
|
|
"log"
|
|
"net/http"
|
|
"slices"
|
|
|
|
"github.com/go-playground/validator/v10"
|
|
)
|
|
|
|
func paintIt(color int) string {
|
|
hex := fmt.Sprintf("%06x", color+16777216)
|
|
return "#" + hex
|
|
}
|
|
|
|
func (s *Server) partyData(w http.ResponseWriter, r *http.Request) {
|
|
c, err := s.Upgrader.Upgrade(w, r, nil)
|
|
if err != nil {
|
|
log.Println("Websocket Server - Error upgrading connection:", err)
|
|
return
|
|
}
|
|
defer c.Close()
|
|
|
|
for {
|
|
var req PartyDataWebsocketRequest
|
|
if err := c.ReadJSON(&req); err != nil {
|
|
c.WriteJSON(&ErrorWebsocketResponse{
|
|
Error: err.Error(),
|
|
})
|
|
}
|
|
|
|
err = validator.New().Struct(req)
|
|
if err != nil {
|
|
c.WriteJSON(&ErrorWebsocketResponse{
|
|
Error: err.Error(),
|
|
})
|
|
}
|
|
|
|
if slices.Contains(s.ExerciseIds, req.ExcerciseId) {
|
|
partyDataSocket := OpenWebsocket("partyBaseData", []int{s.ExerciseServicePortMap[fmt.Sprintf("%d-ParticipantManagement1", req.ExcerciseId)]}).(partydata.PartyData)
|
|
partyData := partyDataSocket.GetPartyData()
|
|
|
|
var res []PartyDataWebsocketResponse
|
|
for _, party := range partyData.Data {
|
|
if party.ID == 0 || party.ID == 1 {
|
|
continue
|
|
}
|
|
|
|
colorInHex := paintIt(party.Color)
|
|
|
|
res = append(res, PartyDataWebsocketResponse{
|
|
Id: party.ID,
|
|
Party: party.Name,
|
|
Color: colorInHex,
|
|
})
|
|
}
|
|
|
|
c.WriteJSON(&res)
|
|
} else {
|
|
c.WriteJSON(&ErrorWebsocketResponse{
|
|
Error: "Invalid exerciseId",
|
|
})
|
|
continue
|
|
}
|
|
}
|
|
}
|