def SendGeoChat(): try: json = request.json modelObject = Event.GeoChat() out = ApplyFullJsonController().serializeJsonToModel(modelObject, json) xml = XMLCoTController().serialize_model_to_CoT(out, 'event') from FreeTAKServer.controllers.SpecificCoTControllers.SendGeoChatController import SendGeoChatController rawcot = RawCoT() rawcot.xmlString = xml rawcot.clientInformation = None object = SendGeoChatController(rawcot) APIPipe.send(object.getObject()) return '200', 200 except Exception as e: print(e)
def sendUserConnectionGeoChat(self, clientInformation): # TODO: refactor as it has a proper implementation of a PM to a user generated by the server ''' function to create and send pm to connecting user :param clientInformation: :return: ''' from FreeTAKServer.controllers.SpecificCoTControllers.SendGeoChatController import SendGeoChatController from FreeTAKServer.model.RawCoT import RawCoT from FreeTAKServer.model.FTSModel.Dest import Dest import uuid if OrchestratorConstants().DEFAULTCONNECTIONGEOCHATOBJ != None: ChatObj = RawCoT() ChatObj.xmlString = f'<event><point/><detail><remarks>{OrchestratorConstants().DEFAULTCONNECTIONGEOCHATOBJ}</remarks><marti><dest/></marti></detail></event>' classobj = SendGeoChatController(ChatObj, AddToDB=False) instobj = classobj.getObject() instobj.modelObject.detail._chat.chatgrp.setuid1( clientInformation.modelObject.uid) dest = Dest() dest.setcallsign( clientInformation.modelObject.detail.contact.callsign) instobj.modelObject.detail.marti.setdest(dest) instobj.modelObject.detail._chat.setchatroom( clientInformation.modelObject.detail.contact.callsign) instobj.modelObject.detail._chat.setparent("RootContactGroup") instobj.modelObject.detail._chat.setid( clientInformation.modelObject.uid) instobj.modelObject.detail._chat.setgroupOwner("True") instobj.modelObject.detail.remarks.setto( clientInformation.modelObject.uid) instobj.modelObject.setuid( 'GeoChat.' + 'SERVER-UID.' + clientInformation.modelObject.detail.contact.callsign + '.' + str(uuid.uuid1())) instobj.modelObject.detail._chat.chatgrp.setid( clientInformation.modelObject.uid) classobj.reloadXmlString() SendDataController().sendDataInQueue(None, instobj, self.clientInformationQueue) return 1 else: return 1