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 }