@@ -32,6 +32,7 @@ export default class WebhooksEvent {
3232 "user-presenter-unassigned" ,
3333 "user-emoji-changed" ,
3434 "user-raise-hand-changed" ,
35+ "transcript-updated" ,
3536 "chat-group-message-sent" ,
3637 "rap-published" ,
3738 "rap-unpublished" ,
@@ -113,6 +114,9 @@ export default class WebhooksEvent {
113114 "PollStartedEvtMsg" ,
114115 "UserRespondedToPollRespMsg" ,
115116 ] ,
117+ TRANSCRIPT_EVENTS : [
118+ "TranscriptUpdatedEvtMsg"
119+ ]
116120 }
117121
118122 constructor ( inputEvent ) {
@@ -137,6 +141,8 @@ export default class WebhooksEvent {
137141 this . padTemplate ( this . inputEvent ) ;
138142 } else if ( this . mappedEvent ( this . inputEvent , WebhooksEvent . RAW . POLL_EVENTS ) ) {
139143 this . pollTemplate ( this . inputEvent ) ;
144+ } else if ( this . mappedEvent ( this . inputEvent , WebhooksEvent . RAW . TRANSCRIPT_EVENTS ) ) {
145+ this . transcriptTemplate ( this . inputEvent ) ;
140146 } else if ( this . mappedEvent ( this . inputEvent , WebhooksEvent . OUTPUT_EVENTS ) ) {
141147 // Check if input is already a mapped event and return it
142148 this . outputEvent = this . inputEvent ;
@@ -598,6 +604,39 @@ export default class WebhooksEvent {
598604 }
599605 }
600606
607+ transcriptTemplate ( messageObj ) {
608+ const { body } = messageObj . core ;
609+ const userId = this . _extractIntUserID ( messageObj ) ;
610+ const extId = UserMapping . get ( ) . getExternalUserID ( userId ) || body . extId || "" ;
611+ const meetingId = this . _extractIntMeetingID ( messageObj ) ;
612+
613+ this . outputEvent = {
614+ data : {
615+ "type" : "event" ,
616+ "id" : this . mapInternalMessage ( messageObj ) ,
617+ "attributes" :{
618+ "meeting" :{
619+ "internal-meeting-id" : meetingId ,
620+ "external-meeting-id" : IDMapping . get ( ) . getExternalMeetingID ( meetingId )
621+ } ,
622+ "user" :{
623+ "internal-user-id" : userId ,
624+ "external-user-id" : extId ,
625+ } ,
626+ "transcript" :{
627+ "id" : body . transcriptId ,
628+ "transcript" : body . transcript ,
629+ "locale" : body . locale ,
630+ "final" : body . result
631+ }
632+ } ,
633+ "event" :{
634+ "ts" : Date . now ( )
635+ }
636+ }
637+ } ;
638+ }
639+
601640 mapInternalMessage ( message ) {
602641 const name = message ?. envelope ?. name || message ?. header ?. name ;
603642
@@ -620,6 +659,7 @@ export default class WebhooksEvent {
620659 case "UserEmojiChangedEvtMsg" :
621660 case "UserReactionEmojiChangedEvtMsg" : return 'user-emoji-changed' ;
622661 case "UserRaiseHandChangedEvtMsg" : return "user-raise-hand-changed" ;
662+ case "TranscriptUpdatedEvtMsg" : return "transcript-updated" ;
623663 case "GroupChatMessageBroadcastEvtMsg" : return "chat-group-message-sent" ;
624664 case "PublishedRecordingSysMsg" : return "rap-published" ;
625665 case "UnpublishedRecordingSysMsg" : return "rap-unpublished" ;
0 commit comments