@@ -206,6 +206,20 @@ export class BusinessStartupService extends ChannelStartupService {
206206 return content ;
207207 }
208208
209+ private messageLocationJson ( received : any ) {
210+ const message = received . messages [ 0 ] ;
211+ let content : any = {
212+ locationMessage : {
213+ degreesLatitude : message . location . latitude ,
214+ degreesLongitude : message . location . longitude ,
215+ name : message . location ?. name ,
216+ address : message . location ?. address ,
217+ } ,
218+ } ;
219+ message . context ? ( content = { ...content , contextInfo : { stanzaId : message . context . id } } ) : content ;
220+ return content ;
221+ }
222+
209223 private messageContactsJson ( received : any ) {
210224 const message = received . messages [ 0 ] ;
211225 let content : any = { } ;
@@ -283,6 +297,9 @@ export class BusinessStartupService extends ChannelStartupService {
283297 case 'template' :
284298 messageType = 'conversation' ;
285299 break ;
300+ case 'location' :
301+ messageType = 'locationMessage' ;
302+ break ;
286303 default :
287304 messageType = 'conversation' ;
288305 break ;
@@ -438,6 +455,17 @@ export class BusinessStartupService extends ChannelStartupService {
438455 source : 'unknown' ,
439456 instanceId : this . instanceId ,
440457 } ;
458+ } else if ( received ?. messages [ 0 ] . location ) {
459+ messageRaw = {
460+ key,
461+ pushName,
462+ message : this . messageLocationJson ( received ) ,
463+ contextInfo : this . messageLocationJson ( received ) ?. contextInfo ,
464+ messageType : this . renderMessageType ( received . messages [ 0 ] . type ) ,
465+ messageTimestamp : parseInt ( received . messages [ 0 ] . timestamp ) as number ,
466+ source : 'unknown' ,
467+ instanceId : this . instanceId ,
468+ } ;
441469 } else {
442470 messageRaw = {
443471 key,
0 commit comments