Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Tools/TNE-Simulator/backend/websocket/partyData.go
T
torsten d5c13033e2 Session 022: Migrate Lts/Tools (72 submodules) to Qt6
- 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)
2026-08-25 14:07:20 +02:00

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
}
}
}