Files
qt5-legatus-legacy/Lts/Tools/TNE-Simulator/backend/participantHandler/checkIfParticipantIsValid.go
T
2026-08-13 18:33:10 +02:00

56 lines
1.9 KiB
Go
Executable File

package participanthandler
import "log"
// CheckIfParticipantIsValid überprüft, ob ein Teilnehmer gültig ist.
// equipmentNumber: Die Nummer des Geräts, dessen Gültigkeit überprüft werden soll.
// Rückgabewert: Gibt eine Struktur zurück, die die Gültigkeit des Teilnehmers und seine Daten enthält.
func (c *ParticipantHandler) CheckIfParticipantIsValid(equipmentNumber int) CheckIfParticipantIsValidReturn {
// Erstellen einer Anfrage zur Überprüfung der Teilnehmergültigkeit
req := CheckIfParticipantIsValidRequest{Type: "baseDlRequest", UUID: "UUID"}
// Senden der Anfrage über das ParticipantManagement
c.ParticipantManagement.WriteJSON(req)
var res CheckIfParticipantIsValidResponse
for {
// Lesen der Antwort vom ParticipantManagement
err := c.ParticipantManagement.ReadJSON(&res)
if err != nil {
log.Fatal("CheckIfParticipantIsValidRequest - Error getting participant data:", err)
}
// Überprüfen, ob die Antwort den erwarteten Typ hat
if res.Type == "participantBaseData" {
break
}
}
var participantData *CheckIfParticipantIsValidReturn
// Durchlaufen der Teilnehmerdaten, um den passenden Teilnehmer zu finden
for _, participant := range res.Data {
if participant.EquipmentNumber == equipmentNumber {
participantData = &CheckIfParticipantIsValidReturn{
TacticalIdentifier: participant.TacticalIdentifier,
Designator: participant.Designator,
EquipmentNumber: participant.EquipmentNumber,
Valid: true,
PartyId: participant.PartyID,
}
}
}
// Falls kein passender Teilnehmer gefunden wurde, wird eine ungültige Struktur zurückgegeben
if participantData == nil {
participantData = &CheckIfParticipantIsValidReturn{
TacticalIdentifier: "",
Designator: "",
EquipmentNumber: 0,
Valid: false,
PartyId: 0,
}
}
return *participantData
}