@ale-rainbow/web-sdk 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +501 -0
- package/lib/index.js.map +7 -0
- package/lib/libs/index.d.ts +3 -0
- package/lib/libs/index.d.ts.map +1 -0
- package/lib/libs/strophe/strophe-plugin.d.ts +13 -0
- package/lib/libs/strophe/strophe-plugin.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.jingle.d.ts +35 -0
- package/lib/libs/strophe/strophe.jingle.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.jingle.sdp.d.ts +44 -0
- package/lib/libs/strophe/strophe.jingle.sdp.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.jingle.session.d.ts +624 -0
- package/lib/libs/strophe/strophe.jingle.session.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.jingle.session.stats.d.ts +791 -0
- package/lib/libs/strophe/strophe.jingle.session.stats.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.lastactivity.d.ts +9 -0
- package/lib/libs/strophe/strophe.lastactivity.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.mam.d.ts +11 -0
- package/lib/libs/strophe/strophe.mam.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.ping.d.ts +39 -0
- package/lib/libs/strophe/strophe.ping.d.ts.map +1 -0
- package/lib/libs/strophe/strophe.rsm.d.ts +24 -0
- package/lib/libs/strophe/strophe.rsm.d.ts.map +1 -0
- package/lib/libs/strophe/types.d.ts +23 -0
- package/lib/libs/strophe/types.d.ts.map +1 -0
- package/lib/models/authSettings.model.d.ts +38 -0
- package/lib/models/authSettings.model.d.ts.map +1 -0
- package/lib/models/bubble.model.d.ts +1114 -0
- package/lib/models/bubble.model.d.ts.map +1 -0
- package/lib/models/bubbleConferenceRecap.model.d.ts +532 -0
- package/lib/models/bubbleConferenceRecap.model.d.ts.map +1 -0
- package/lib/models/call.model.d.ts +1271 -0
- package/lib/models/call.model.d.ts.map +1 -0
- package/lib/models/callLog.model.d.ts +361 -0
- package/lib/models/callLog.model.d.ts.map +1 -0
- package/lib/models/channel.model.d.ts +692 -0
- package/lib/models/channel.model.d.ts.map +1 -0
- package/lib/models/channelMessage.model.d.ts +300 -0
- package/lib/models/channelMessage.model.d.ts.map +1 -0
- package/lib/models/cli.model.d.ts +59 -0
- package/lib/models/cli.model.d.ts.map +1 -0
- package/lib/models/common/context.d.ts +37 -0
- package/lib/models/common/context.d.ts.map +1 -0
- package/lib/models/common/error.d.ts +26 -0
- package/lib/models/common/error.d.ts.map +1 -0
- package/lib/models/common/fileDescriptor.d.ts +317 -0
- package/lib/models/common/fileDescriptor.d.ts.map +1 -0
- package/lib/models/common/filePublicDownload.d.ts +26 -0
- package/lib/models/common/filePublicDownload.d.ts.map +1 -0
- package/lib/models/common/fileViewer.d.ts +20 -0
- package/lib/models/common/fileViewer.d.ts.map +1 -0
- package/lib/models/common/index.d.ts +9 -0
- package/lib/models/common/index.d.ts.map +1 -0
- package/lib/models/common/theme.d.ts +185 -0
- package/lib/models/common/theme.d.ts.map +1 -0
- package/lib/models/common/themeColor.d.ts +47 -0
- package/lib/models/common/themeColor.d.ts.map +1 -0
- package/lib/models/common/userTheme.d.ts +42 -0
- package/lib/models/common/userTheme.d.ts.map +1 -0
- package/lib/models/company-invitation.model.d.ts +42 -0
- package/lib/models/company-invitation.model.d.ts.map +1 -0
- package/lib/models/company.model.d.ts +639 -0
- package/lib/models/company.model.d.ts.map +1 -0
- package/lib/models/contact.model.d.ts +1208 -0
- package/lib/models/contact.model.d.ts.map +1 -0
- package/lib/models/conversation.model.d.ts +768 -0
- package/lib/models/conversation.model.d.ts.map +1 -0
- package/lib/models/customManifest.model.d.ts +82 -0
- package/lib/models/customManifest.model.d.ts.map +1 -0
- package/lib/models/dataChannel.model.d.ts +178 -0
- package/lib/models/dataChannel.model.d.ts.map +1 -0
- package/lib/models/dial-in-phone-numbers.model.d.ts +18 -0
- package/lib/models/dial-in-phone-numbers.model.d.ts.map +1 -0
- package/lib/models/directoryContact.model.d.ts +205 -0
- package/lib/models/directoryContact.model.d.ts.map +1 -0
- package/lib/models/event.model.d.ts +14 -0
- package/lib/models/event.model.d.ts.map +1 -0
- package/lib/models/favorite.model.d.ts +94 -0
- package/lib/models/favorite.model.d.ts.map +1 -0
- package/lib/models/fileDocument.model.d.ts +345 -0
- package/lib/models/fileDocument.model.d.ts.map +1 -0
- package/lib/models/geoLoc.model.d.ts +6 -0
- package/lib/models/geoLoc.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +46 -0
- package/lib/models/index.d.ts.map +1 -0
- package/lib/models/invitation.model.d.ts +88 -0
- package/lib/models/invitation.model.d.ts.map +1 -0
- package/lib/models/invoices.model.d.ts +76 -0
- package/lib/models/invoices.model.d.ts.map +1 -0
- package/lib/models/logEntry.model.d.ts +23 -0
- package/lib/models/logEntry.model.d.ts.map +1 -0
- package/lib/models/message.model.d.ts +400 -0
- package/lib/models/message.model.d.ts.map +1 -0
- package/lib/models/messageAdditionalContent.parsers.d.ts +32 -0
- package/lib/models/messageAdditionalContent.parsers.d.ts.map +1 -0
- package/lib/models/offer.model.d.ts +16 -0
- package/lib/models/offer.model.d.ts.map +1 -0
- package/lib/models/p2pRecap.model.d.ts +372 -0
- package/lib/models/p2pRecap.model.d.ts.map +1 -0
- package/lib/models/paymentMethods.model.d.ts +98 -0
- package/lib/models/paymentMethods.model.d.ts.map +1 -0
- package/lib/models/personalRoutine.model.d.ts +173 -0
- package/lib/models/personalRoutine.model.d.ts.map +1 -0
- package/lib/models/poll.model.d.ts +139 -0
- package/lib/models/poll.model.d.ts.map +1 -0
- package/lib/models/rainbow-auth.model.d.ts +137 -0
- package/lib/models/rainbow-auth.model.d.ts.map +1 -0
- package/lib/models/searchTextConvResults.model.d.ts +30 -0
- package/lib/models/searchTextConvResults.model.d.ts.map +1 -0
- package/lib/models/site.model.d.ts +165 -0
- package/lib/models/site.model.d.ts.map +1 -0
- package/lib/models/subscription.model.d.ts +592 -0
- package/lib/models/subscription.model.d.ts.map +1 -0
- package/lib/models/telephonyConfig.model.d.ts +144 -0
- package/lib/models/telephonyConfig.model.d.ts.map +1 -0
- package/lib/models/telephonyForward.model.d.ts +47 -0
- package/lib/models/telephonyForward.model.d.ts.map +1 -0
- package/lib/models/todo.model.d.ts +103 -0
- package/lib/models/todo.model.d.ts.map +1 -0
- package/lib/models/transcription.model.d.ts +59 -0
- package/lib/models/transcription.model.d.ts.map +1 -0
- package/lib/models/user.model.d.ts +1008 -0
- package/lib/models/user.model.d.ts.map +1 -0
- package/lib/models/userProfileTemplate.model.d.ts +735 -0
- package/lib/models/userProfileTemplate.model.d.ts.map +1 -0
- package/lib/models/usersList.model.d.ts +117 -0
- package/lib/models/usersList.model.d.ts.map +1 -0
- package/lib/models/webConferenceParticipant.model.d.ts +135 -0
- package/lib/models/webConferenceParticipant.model.d.ts.map +1 -0
- package/lib/models/webConferenceSession.model.d.ts +658 -0
- package/lib/models/webConferenceSession.model.d.ts.map +1 -0
- package/lib/models/webinar.model.d.ts +738 -0
- package/lib/models/webinar.model.d.ts.map +1 -0
- package/lib/models/webinarRecap.model.d.ts +118 -0
- package/lib/models/webinarRecap.model.d.ts.map +1 -0
- package/lib/node.d.ts +3 -0
- package/lib/node.d.ts.map +1 -0
- package/lib/node.js +423 -0
- package/lib/node.js.map +7 -0
- package/lib/node.sdk.d.ts +41 -0
- package/lib/node.sdk.d.ts.map +1 -0
- package/lib/plugins/admin.plugin.d.ts +6 -0
- package/lib/plugins/admin.plugin.d.ts.map +1 -0
- package/lib/plugins/bubbleConference.plugin.d.ts +6 -0
- package/lib/plugins/bubbleConference.plugin.d.ts.map +1 -0
- package/lib/plugins/bubbleTag.plugin.d.ts +6 -0
- package/lib/plugins/bubbleTag.plugin.d.ts.map +1 -0
- package/lib/plugins/bubbles.plugin.d.ts +6 -0
- package/lib/plugins/bubbles.plugin.d.ts.map +1 -0
- package/lib/plugins/businessDirectory.plugin.d.ts +6 -0
- package/lib/plugins/businessDirectory.plugin.d.ts.map +1 -0
- package/lib/plugins/callRecorder.plugin.d.ts +6 -0
- package/lib/plugins/callRecorder.plugin.d.ts.map +1 -0
- package/lib/plugins/calllog.plugin.d.ts +6 -0
- package/lib/plugins/calllog.plugin.d.ts.map +1 -0
- package/lib/plugins/calls.plugin.d.ts +6 -0
- package/lib/plugins/calls.plugin.d.ts.map +1 -0
- package/lib/plugins/channels.plugin.d.ts +6 -0
- package/lib/plugins/channels.plugin.d.ts.map +1 -0
- package/lib/plugins/dataChannel.plugin.d.ts +6 -0
- package/lib/plugins/dataChannel.plugin.d.ts.map +1 -0
- package/lib/plugins/deviceManagement.plugin.d.ts +6 -0
- package/lib/plugins/deviceManagement.plugin.d.ts.map +1 -0
- package/lib/plugins/favorites.plugin.d.ts +6 -0
- package/lib/plugins/favorites.plugin.d.ts.map +1 -0
- package/lib/plugins/fileDocument.plugin.d.ts +6 -0
- package/lib/plugins/fileDocument.plugin.d.ts.map +1 -0
- package/lib/plugins/helpCenter.plugin.d.ts +6 -0
- package/lib/plugins/helpCenter.plugin.d.ts.map +1 -0
- package/lib/plugins/index.d.ts +27 -0
- package/lib/plugins/index.d.ts.map +1 -0
- package/lib/plugins/microsoft0365Ad.plugin.d.ts +6 -0
- package/lib/plugins/microsoft0365Ad.plugin.d.ts.map +1 -0
- package/lib/plugins/pbxUsers.plugin.d.ts +6 -0
- package/lib/plugins/pbxUsers.plugin.d.ts.map +1 -0
- package/lib/plugins/personalDirectory.plugin.d.ts +6 -0
- package/lib/plugins/personalDirectory.plugin.d.ts.map +1 -0
- package/lib/plugins/plugin.d.ts +8 -0
- package/lib/plugins/plugin.d.ts.map +1 -0
- package/lib/plugins/polls.plugin.d.ts +6 -0
- package/lib/plugins/polls.plugin.d.ts.map +1 -0
- package/lib/plugins/rpc.plugin.d.ts +6 -0
- package/lib/plugins/rpc.plugin.d.ts.map +1 -0
- package/lib/plugins/telemetry.plugin.d.ts +6 -0
- package/lib/plugins/telemetry.plugin.d.ts.map +1 -0
- package/lib/plugins/telephony.plugin.d.ts +6 -0
- package/lib/plugins/telephony.plugin.d.ts.map +1 -0
- package/lib/plugins/telephonyConfig.plugin.d.ts +6 -0
- package/lib/plugins/telephonyConfig.plugin.d.ts.map +1 -0
- package/lib/plugins/transcription.plugin.d.ts +6 -0
- package/lib/plugins/transcription.plugin.d.ts.map +1 -0
- package/lib/plugins/usersList.plugin.d.ts +6 -0
- package/lib/plugins/usersList.plugin.d.ts.map +1 -0
- package/lib/plugins/virtualBackground.plugin.d.ts +6 -0
- package/lib/plugins/virtualBackground.plugin.d.ts.map +1 -0
- package/lib/plugins/webinar.plugin.d.ts +6 -0
- package/lib/plugins/webinar.plugin.d.ts.map +1 -0
- package/lib/rainbow.sdk.d.ts +309 -0
- package/lib/rainbow.sdk.d.ts.map +1 -0
- package/lib/services/admin/admin-alarm.service.d.ts +42 -0
- package/lib/services/admin/admin-alarm.service.d.ts.map +1 -0
- package/lib/services/admin/admin-company.service.d.ts +167 -0
- package/lib/services/admin/admin-company.service.d.ts.map +1 -0
- package/lib/services/admin/admin-department.service.d.ts +39 -0
- package/lib/services/admin/admin-department.service.d.ts.map +1 -0
- package/lib/services/admin/admin-invitation.service.d.ts +114 -0
- package/lib/services/admin/admin-invitation.service.d.ts.map +1 -0
- package/lib/services/admin/admin-management.service.d.ts +100 -0
- package/lib/services/admin/admin-management.service.d.ts.map +1 -0
- package/lib/services/admin/admin-rvcp.service.d.ts +43 -0
- package/lib/services/admin/admin-rvcp.service.d.ts.map +1 -0
- package/lib/services/admin/admin-site.service.d.ts +64 -0
- package/lib/services/admin/admin-site.service.d.ts.map +1 -0
- package/lib/services/admin/admin-subscription.service.d.ts +135 -0
- package/lib/services/admin/admin-subscription.service.d.ts.map +1 -0
- package/lib/services/admin/admin-tag.service.d.ts +79 -0
- package/lib/services/admin/admin-tag.service.d.ts.map +1 -0
- package/lib/services/admin/admin-user-profile.service.d.ts +76 -0
- package/lib/services/admin/admin-user-profile.service.d.ts.map +1 -0
- package/lib/services/admin/admin-user.service.d.ts +338 -0
- package/lib/services/admin/admin-user.service.d.ts.map +1 -0
- package/lib/services/admin/admin.common.d.ts +40 -0
- package/lib/services/admin/admin.common.d.ts.map +1 -0
- package/lib/services/admin/admin.service.d.ts +138 -0
- package/lib/services/admin/admin.service.d.ts.map +1 -0
- package/lib/services/admin/index.d.ts +14 -0
- package/lib/services/admin/index.d.ts.map +1 -0
- package/lib/services/bot/bot.service.d.ts +121 -0
- package/lib/services/bot/bot.service.d.ts.map +1 -0
- package/lib/services/bubbles/bubble.service.d.ts +889 -0
- package/lib/services/bubbles/bubble.service.d.ts.map +1 -0
- package/lib/services/bubbles/bubbleTag.service.d.ts +132 -0
- package/lib/services/bubbles/bubbleTag.service.d.ts.map +1 -0
- package/lib/services/bubbles/index.d.ts +3 -0
- package/lib/services/bubbles/index.d.ts.map +1 -0
- package/lib/services/call/call.service.d.ts +297 -0
- package/lib/services/call/call.service.d.ts.map +1 -0
- package/lib/services/call/callRecorder.service.d.ts +358 -0
- package/lib/services/call/callRecorder.service.d.ts.map +1 -0
- package/lib/services/call/index.d.ts +3 -0
- package/lib/services/call/index.d.ts.map +1 -0
- package/lib/services/callLog/callLog.service.d.ts +563 -0
- package/lib/services/callLog/callLog.service.d.ts.map +1 -0
- package/lib/services/callLog/index.d.ts +5 -0
- package/lib/services/callLog/index.d.ts.map +1 -0
- package/lib/services/callLog/p2pRecap.service.d.ts +206 -0
- package/lib/services/callLog/p2pRecap.service.d.ts.map +1 -0
- package/lib/services/channels/channel.service.d.ts +626 -0
- package/lib/services/channels/channel.service.d.ts.map +1 -0
- package/lib/services/channels/index.d.ts +3 -0
- package/lib/services/channels/index.d.ts.map +1 -0
- package/lib/services/citrix/citrix.service.d.ts +30 -0
- package/lib/services/citrix/citrix.service.d.ts.map +1 -0
- package/lib/services/citrix/index.d.ts +3 -0
- package/lib/services/citrix/index.d.ts.map +1 -0
- package/lib/services/company/company-directory.service.d.ts +222 -0
- package/lib/services/company/company-directory.service.d.ts.map +1 -0
- package/lib/services/conference/bubbleConference.service.d.ts +1237 -0
- package/lib/services/conference/bubbleConference.service.d.ts.map +1 -0
- package/lib/services/conference/bubbleConferenceRecap.service.d.ts +159 -0
- package/lib/services/conference/bubbleConferenceRecap.service.d.ts.map +1 -0
- package/lib/services/conference/index.d.ts +5 -0
- package/lib/services/conference/index.d.ts.map +1 -0
- package/lib/services/conference/webConferenceHelper.d.ts +25 -0
- package/lib/services/conference/webConferenceHelper.d.ts.map +1 -0
- package/lib/services/conversation/conversation.service.d.ts +723 -0
- package/lib/services/conversation/conversation.service.d.ts.map +1 -0
- package/lib/services/conversation/conversationServiceBulkHistoryHandler.d.ts +39 -0
- package/lib/services/conversation/conversationServiceBulkHistoryHandler.d.ts.map +1 -0
- package/lib/services/conversation/conversationServiceEventHandler.d.ts +78 -0
- package/lib/services/conversation/conversationServiceEventHandler.d.ts.map +1 -0
- package/lib/services/conversation/index.d.ts +3 -0
- package/lib/services/conversation/index.d.ts.map +1 -0
- package/lib/services/core/account.service.d.ts +98 -0
- package/lib/services/core/account.service.d.ts.map +1 -0
- package/lib/services/core/auth.service.d.ts +303 -0
- package/lib/services/core/auth.service.d.ts.map +1 -0
- package/lib/services/core/company.service.d.ts +30 -0
- package/lib/services/core/company.service.d.ts.map +1 -0
- package/lib/services/core/connection.service.d.ts +209 -0
- package/lib/services/core/connection.service.d.ts.map +1 -0
- package/lib/services/core/contact.service.d.ts +617 -0
- package/lib/services/core/contact.service.d.ts.map +1 -0
- package/lib/services/core/country.service.d.ts +66 -0
- package/lib/services/core/country.service.d.ts.map +1 -0
- package/lib/services/core/directorySearch.service.d.ts +305 -0
- package/lib/services/core/directorySearch.service.d.ts.map +1 -0
- package/lib/services/core/event.service.d.ts +31 -0
- package/lib/services/core/event.service.d.ts.map +1 -0
- package/lib/services/core/i18n.service.d.ts +19 -0
- package/lib/services/core/i18n.service.d.ts.map +1 -0
- package/lib/services/core/imageUtils.service.d.ts +15 -0
- package/lib/services/core/imageUtils.service.d.ts.map +1 -0
- package/lib/services/core/index.d.ts +19 -0
- package/lib/services/core/index.d.ts.map +1 -0
- package/lib/services/core/logger.service.d.ts +143 -0
- package/lib/services/core/logger.service.d.ts.map +1 -0
- package/lib/services/core/logging.service.d.ts +51 -0
- package/lib/services/core/logging.service.d.ts.map +1 -0
- package/lib/services/core/main.service.d.ts +124 -0
- package/lib/services/core/main.service.d.ts.map +1 -0
- package/lib/services/core/presenceHelper.service.d.ts +73 -0
- package/lib/services/core/presenceHelper.service.d.ts.map +1 -0
- package/lib/services/core/profile.service.d.ts +453 -0
- package/lib/services/core/profile.service.d.ts.map +1 -0
- package/lib/services/core/settings.service.d.ts +82 -0
- package/lib/services/core/settings.service.d.ts.map +1 -0
- package/lib/services/core/userInfo.service.d.ts +25 -0
- package/lib/services/core/userInfo.service.d.ts.map +1 -0
- package/lib/services/core/userNetwork.service.d.ts +171 -0
- package/lib/services/core/userNetwork.service.d.ts.map +1 -0
- package/lib/services/core/xmpp.service.d.ts +99 -0
- package/lib/services/core/xmpp.service.d.ts.map +1 -0
- package/lib/services/dataChannel/dataChannel.service.d.ts +102 -0
- package/lib/services/dataChannel/dataChannel.service.d.ts.map +1 -0
- package/lib/services/dataChannel/index.d.ts +3 -0
- package/lib/services/dataChannel/index.d.ts.map +1 -0
- package/lib/services/deviceManagement/deviceEchoFilter.d.ts +86 -0
- package/lib/services/deviceManagement/deviceEchoFilter.d.ts.map +1 -0
- package/lib/services/deviceManagement/deviceManagement.service.d.ts +290 -0
- package/lib/services/deviceManagement/deviceManagement.service.d.ts.map +1 -0
- package/lib/services/deviceManagement/index.d.ts +2 -0
- package/lib/services/deviceManagement/index.d.ts.map +1 -0
- package/lib/services/deviceManagement/webHidManager.service.d.ts +616 -0
- package/lib/services/deviceManagement/webHidManager.service.d.ts.map +1 -0
- package/lib/services/directory/directory.service.d.ts +108 -0
- package/lib/services/directory/directory.service.d.ts.map +1 -0
- package/lib/services/directory/index.d.ts +3 -0
- package/lib/services/directory/index.d.ts.map +1 -0
- package/lib/services/directory/office365ad.service.d.ts +74 -0
- package/lib/services/directory/office365ad.service.d.ts.map +1 -0
- package/lib/services/directory/personal-directory.service.d.ts +425 -0
- package/lib/services/directory/personal-directory.service.d.ts.map +1 -0
- package/lib/services/directory/phonebook.service.d.ts +43 -0
- package/lib/services/directory/phonebook.service.d.ts.map +1 -0
- package/lib/services/event-mixin.d.ts +75 -0
- package/lib/services/event-mixin.d.ts.map +1 -0
- package/lib/services/favorites/favorites.service.d.ts +313 -0
- package/lib/services/favorites/favorites.service.d.ts.map +1 -0
- package/lib/services/favorites/index.d.ts +3 -0
- package/lib/services/favorites/index.d.ts.map +1 -0
- package/lib/services/fileDocument/fileDocument.service.d.ts +229 -0
- package/lib/services/fileDocument/fileDocument.service.d.ts.map +1 -0
- package/lib/services/fileDocument/index.d.ts +5 -0
- package/lib/services/fileDocument/index.d.ts.map +1 -0
- package/lib/services/files/fileDescriptorEventHandler.service.d.ts +18 -0
- package/lib/services/files/fileDescriptorEventHandler.service.d.ts.map +1 -0
- package/lib/services/files/fileServer.service.d.ts +268 -0
- package/lib/services/files/fileServer.service.d.ts.map +1 -0
- package/lib/services/files/fileStorage.service.d.ts +426 -0
- package/lib/services/files/fileStorage.service.d.ts.map +1 -0
- package/lib/services/helpcenter/helpCenter.service.d.ts +207 -0
- package/lib/services/helpcenter/helpCenter.service.d.ts.map +1 -0
- package/lib/services/helpcenter/index.d.ts +4 -0
- package/lib/services/helpcenter/index.d.ts.map +1 -0
- package/lib/services/helpcenter/whatsNew.service.d.ts +47 -0
- package/lib/services/helpcenter/whatsNew.service.d.ts.map +1 -0
- package/lib/services/horizon/horizon.service.d.ts +31 -0
- package/lib/services/horizon/horizon.service.d.ts.map +1 -0
- package/lib/services/horizon/index.d.ts +3 -0
- package/lib/services/horizon/index.d.ts.map +1 -0
- package/lib/services/index.d.ts +35 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/launcher/config/sdkLaunchConfig.d.ts +8 -0
- package/lib/services/launcher/config/sdkLaunchConfig.d.ts.map +1 -0
- package/lib/services/localTranslation/chromeTranslation.engine.d.ts +79 -0
- package/lib/services/localTranslation/chromeTranslation.engine.d.ts.map +1 -0
- package/lib/services/localTranslation/index.d.ts +6 -0
- package/lib/services/localTranslation/index.d.ts.map +1 -0
- package/lib/services/localTranslation/localTranslation.service.d.ts +129 -0
- package/lib/services/localTranslation/localTranslation.service.d.ts.map +1 -0
- package/lib/services/localTranslation/translationEngine.d.ts +81 -0
- package/lib/services/localTranslation/translationEngine.d.ts.map +1 -0
- package/lib/services/metrics/analytics.service.d.ts +63 -0
- package/lib/services/metrics/analytics.service.d.ts.map +1 -0
- package/lib/services/metrics/index.d.ts +2 -0
- package/lib/services/metrics/index.d.ts.map +1 -0
- package/lib/services/notifications/index.d.ts +2 -0
- package/lib/services/notifications/index.d.ts.map +1 -0
- package/lib/services/notifications/notificationCenter.service.d.ts +178 -0
- package/lib/services/notifications/notificationCenter.service.d.ts.map +1 -0
- package/lib/services/notifications/notificationsViewer.service.d.ts +46 -0
- package/lib/services/notifications/notificationsViewer.service.d.ts.map +1 -0
- package/lib/services/personalRoutines/personal-routines.service.d.ts +159 -0
- package/lib/services/personalRoutines/personal-routines.service.d.ts.map +1 -0
- package/lib/services/polls/index.d.ts +2 -0
- package/lib/services/polls/index.d.ts.map +1 -0
- package/lib/services/polls/polls.service.d.ts +139 -0
- package/lib/services/polls/polls.service.d.ts.map +1 -0
- package/lib/services/ringing/index.d.ts +2 -0
- package/lib/services/ringing/index.d.ts.map +1 -0
- package/lib/services/ringing/ringing.service.d.ts +535 -0
- package/lib/services/ringing/ringing.service.d.ts.map +1 -0
- package/lib/services/rpc/index.d.ts +2 -0
- package/lib/services/rpc/index.d.ts.map +1 -0
- package/lib/services/rpc/rpc.service.d.ts +75 -0
- package/lib/services/rpc/rpc.service.d.ts.map +1 -0
- package/lib/services/service.d.ts +9 -0
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/speechRecognitionService/speechRecognition.service.d.ts +87 -0
- package/lib/services/speechRecognitionService/speechRecognition.service.d.ts.map +1 -0
- package/lib/services/subscription/index.d.ts +4 -0
- package/lib/services/subscription/index.d.ts.map +1 -0
- package/lib/services/subscription/invoices.service.d.ts +78 -0
- package/lib/services/subscription/invoices.service.d.ts.map +1 -0
- package/lib/services/subscription/paymentMethods.service.d.ts +164 -0
- package/lib/services/subscription/paymentMethods.service.d.ts.map +1 -0
- package/lib/services/subscription/subscription.service.d.ts +510 -0
- package/lib/services/subscription/subscription.service.d.ts.map +1 -0
- package/lib/services/support/index.d.ts +2 -0
- package/lib/services/support/index.d.ts.map +1 -0
- package/lib/services/support/support.model.d.ts +143 -0
- package/lib/services/support/support.model.d.ts.map +1 -0
- package/lib/services/support/support.service.d.ts +162 -0
- package/lib/services/support/support.service.d.ts.map +1 -0
- package/lib/services/telemetry/index.d.ts +3 -0
- package/lib/services/telemetry/index.d.ts.map +1 -0
- package/lib/services/telemetry/jsonRPC.service.d.ts +25 -0
- package/lib/services/telemetry/jsonRPC.service.d.ts.map +1 -0
- package/lib/services/telemetry/telemetry.service.d.ts +22 -0
- package/lib/services/telemetry/telemetry.service.d.ts.map +1 -0
- package/lib/services/telephony/index.d.ts +4 -0
- package/lib/services/telephony/index.d.ts.map +1 -0
- package/lib/services/telephony/supervision.service.d.ts +277 -0
- package/lib/services/telephony/supervision.service.d.ts.map +1 -0
- package/lib/services/telephony/telephony.service.d.ts +1476 -0
- package/lib/services/telephony/telephony.service.d.ts.map +1 -0
- package/lib/services/telephony/telephonyCcdAgent.service.d.ts +63 -0
- package/lib/services/telephony/telephonyCcdAgent.service.d.ts.map +1 -0
- package/lib/services/telephony/telephonyHybridEventHandler.d.ts +360 -0
- package/lib/services/telephony/telephonyHybridEventHandler.d.ts.map +1 -0
- package/lib/services/telephony/telephonyKeys.service.d.ts +86 -0
- package/lib/services/telephony/telephonyKeys.service.d.ts.map +1 -0
- package/lib/services/telephony/telephonySipWise.service.d.ts +543 -0
- package/lib/services/telephony/telephonySipWise.service.d.ts.map +1 -0
- package/lib/services/telephony/telephonySipWiseEventHandler.d.ts +462 -0
- package/lib/services/telephony/telephonySipWiseEventHandler.d.ts.map +1 -0
- package/lib/services/telephonyConfig/index.d.ts +3 -0
- package/lib/services/telephonyConfig/index.d.ts.map +1 -0
- package/lib/services/telephonyConfig/telephonyConfig.service.d.ts +150 -0
- package/lib/services/telephonyConfig/telephonyConfig.service.d.ts.map +1 -0
- package/lib/services/todo/todo.service.d.ts +358 -0
- package/lib/services/todo/todo.service.d.ts.map +1 -0
- package/lib/services/transcription/index.d.ts +2 -0
- package/lib/services/transcription/index.d.ts.map +1 -0
- package/lib/services/transcription/liveTranscription.service.d.ts +94 -0
- package/lib/services/transcription/liveTranscription.service.d.ts.map +1 -0
- package/lib/services/ulrMetadata/urlMetadata.service.d.ts +51 -0
- package/lib/services/ulrMetadata/urlMetadata.service.d.ts.map +1 -0
- package/lib/services/users/index.d.ts +3 -0
- package/lib/services/users/index.d.ts.map +1 -0
- package/lib/services/users/user.service.d.ts +146 -0
- package/lib/services/users/user.service.d.ts.map +1 -0
- package/lib/services/users/usersLists.service.d.ts +239 -0
- package/lib/services/users/usersLists.service.d.ts.map +1 -0
- package/lib/services/utilities/browserDatabase.service.d.ts +69 -0
- package/lib/services/utilities/browserDatabase.service.d.ts.map +1 -0
- package/lib/services/utilities/errorHelper.service.d.ts +24 -0
- package/lib/services/utilities/errorHelper.service.d.ts.map +1 -0
- package/lib/services/utilities/index.d.ts +4 -0
- package/lib/services/utilities/index.d.ts.map +1 -0
- package/lib/services/utilities/utilities.service.d.ts +74 -0
- package/lib/services/utilities/utilities.service.d.ts.map +1 -0
- package/lib/services/virtualBackground/RBVirtualBackground.service.d.ts +228 -0
- package/lib/services/virtualBackground/RBVirtualBackground.service.d.ts.map +1 -0
- package/lib/services/virtualBackground/index.d.ts +4 -0
- package/lib/services/virtualBackground/index.d.ts.map +1 -0
- package/lib/services/virtualBackground/personalVideoBackground.d.ts +190 -0
- package/lib/services/virtualBackground/personalVideoBackground.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/canvas2D/canvas2DPipeline.d.ts +66 -0
- package/lib/services/virtualBackground/pipeline/canvas2D/canvas2DPipeline.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/blurStage.d.ts +88 -0
- package/lib/services/virtualBackground/pipeline/webgl2/blurStage.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/imageStage.d.ts +69 -0
- package/lib/services/virtualBackground/pipeline/webgl2/imageStage.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/jointBilateralFilter.d.ts +55 -0
- package/lib/services/virtualBackground/pipeline/webgl2/jointBilateralFilter.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/resizingStage.d.ts +59 -0
- package/lib/services/virtualBackground/pipeline/webgl2/resizingStage.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/softMax.d.ts +34 -0
- package/lib/services/virtualBackground/pipeline/webgl2/softMax.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/webgl2Pipeline.d.ts +62 -0
- package/lib/services/virtualBackground/pipeline/webgl2/webgl2Pipeline.d.ts.map +1 -0
- package/lib/services/virtualBackground/pipeline/webgl2/webglHelper.d.ts +56 -0
- package/lib/services/virtualBackground/pipeline/webgl2/webglHelper.d.ts.map +1 -0
- package/lib/services/virtualBackground/virtualBackground.service.d.ts +399 -0
- package/lib/services/virtualBackground/virtualBackground.service.d.ts.map +1 -0
- package/lib/services/webinars/index.d.ts +10 -0
- package/lib/services/webinars/index.d.ts.map +1 -0
- package/lib/services/webinars/telemetry/webinarTelemetry.model.d.ts +71 -0
- package/lib/services/webinars/telemetry/webinarTelemetry.model.d.ts.map +1 -0
- package/lib/services/webinars/telemetry/webinarTelemetry.service.d.ts +86 -0
- package/lib/services/webinars/telemetry/webinarTelemetry.service.d.ts.map +1 -0
- package/lib/services/webinars/telemetry/webinarTelemetryDatabase.d.ts +31 -0
- package/lib/services/webinars/telemetry/webinarTelemetryDatabase.d.ts.map +1 -0
- package/lib/services/webinars/webinarAudioMixer.d.ts +45 -0
- package/lib/services/webinars/webinarAudioMixer.d.ts.map +1 -0
- package/lib/services/webinars/webinarConference.service.d.ts +323 -0
- package/lib/services/webinars/webinarConference.service.d.ts.map +1 -0
- package/lib/services/webinars/webinarConference.utils.d.ts +24 -0
- package/lib/services/webinars/webinarConference.utils.d.ts.map +1 -0
- package/lib/services/webinars/webinarParticipants.service.d.ts +43 -0
- package/lib/services/webinars/webinarParticipants.service.d.ts.map +1 -0
- package/lib/services/webinars/webinarSpeakers.service.d.ts +25 -0
- package/lib/services/webinars/webinarSpeakers.service.d.ts.map +1 -0
- package/lib/services/webinars/webinarStoryLine.service.d.ts +117 -0
- package/lib/services/webinars/webinarStoryLine.service.d.ts.map +1 -0
- package/lib/services/webinars/webinars.service.d.ts +600 -0
- package/lib/services/webinars/webinars.service.d.ts.map +1 -0
- package/lib/services/webrtc/index.d.ts +5 -0
- package/lib/services/webrtc/index.d.ts.map +1 -0
- package/lib/services/webrtc/webrtcConfigAndUtils.d.ts +170 -0
- package/lib/services/webrtc/webrtcConfigAndUtils.d.ts.map +1 -0
- package/lib/services/webrtc/webrtcP2P.service.d.ts +521 -0
- package/lib/services/webrtc/webrtcP2P.service.d.ts.map +1 -0
- package/lib/services/webrtc/webrtcP2PEventHandler.d.ts +55 -0
- package/lib/services/webrtc/webrtcP2PEventHandler.d.ts.map +1 -0
- package/lib/services/webrtcGateway/webrtcGateway.service.d.ts +605 -0
- package/lib/services/webrtcGateway/webrtcGateway.service.d.ts.map +1 -0
- package/lib/strophejs.d.ts +3 -0
- package/lib/strophejs.d.ts.map +1 -0
- package/lib/typings/helpers.d.ts +3 -0
- package/lib/typings/helpers.d.ts.map +1 -0
- package/lib/utils/allSettled.d.ts +2 -0
- package/lib/utils/allSettled.d.ts.map +1 -0
- package/lib/utils/anonymizer.d.ts +28 -0
- package/lib/utils/anonymizer.d.ts.map +1 -0
- package/lib/utils/branded.d.ts +4 -0
- package/lib/utils/branded.d.ts.map +1 -0
- package/lib/utils/browser.d.ts +231 -0
- package/lib/utils/browser.d.ts.map +1 -0
- package/lib/utils/index.d.ts +12 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/mediaPermissionError.d.ts +2 -0
- package/lib/utils/mediaPermissionError.d.ts.map +1 -0
- package/lib/utils/promiseQueue.d.ts +10 -0
- package/lib/utils/promiseQueue.d.ts.map +1 -0
- package/lib/utils/randomString.d.ts +3 -0
- package/lib/utils/randomString.d.ts.map +1 -0
- package/lib/utils/recordingArchiveName.d.ts +13 -0
- package/lib/utils/recordingArchiveName.d.ts.map +1 -0
- package/lib/utils/serverTimestamp.d.ts +15 -0
- package/lib/utils/serverTimestamp.d.ts.map +1 -0
- package/lib/utils/stringifyError.d.ts +2 -0
- package/lib/utils/stringifyError.d.ts.map +1 -0
- package/lib/utils/video.d.ts +27 -0
- package/lib/utils/video.d.ts.map +1 -0
- package/lib/utils/wait.d.ts +2 -0
- package/lib/utils/wait.d.ts.map +1 -0
- package/lib/utils/xmlParser.d.ts +102 -0
- package/lib/utils/xmlParser.d.ts.map +1 -0
- package/lib/utils/xmlValidation.d.ts +119 -0
- package/lib/utils/xmlValidation.d.ts.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Webinar, WebinarSessionParticipant } from "../../models";
|
|
2
|
+
import { RBEvent } from "../../models";
|
|
3
|
+
import type { WebinarConferenceService } from "./webinarConference.service";
|
|
4
|
+
import type { Subscription } from "rxjs";
|
|
5
|
+
export declare enum WebinarAudioMixerEvents {
|
|
6
|
+
STAGE_AUDIO_LEVEL_CHANGED = "STAGE_AUDIO_LEVEL_CHANGED",
|
|
7
|
+
BACKSTAGE_AUDIO_LEVEL_CHANGED = "BACKSTAGE_AUDIO_LEVEL_CHANGED",
|
|
8
|
+
AUDIO_BALANCE_CHANGED = "AUDIO_BALANCE_CHANGED"
|
|
9
|
+
}
|
|
10
|
+
export declare class WebinarAudioMixer {
|
|
11
|
+
private webinarConferenceService;
|
|
12
|
+
private mcuAudioElement?;
|
|
13
|
+
private audioElements?;
|
|
14
|
+
private sharingElements?;
|
|
15
|
+
private logger;
|
|
16
|
+
private deviceManagement;
|
|
17
|
+
private audioMixerEvent;
|
|
18
|
+
private webinarExtendedBackstage;
|
|
19
|
+
backstageAudioLevel: number;
|
|
20
|
+
stageAudioLevel: number;
|
|
21
|
+
audioBalance: number;
|
|
22
|
+
constructor(webinarConferenceService: WebinarConferenceService);
|
|
23
|
+
private initialize;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
subscribe(handler: (event: RBEvent<WebinarAudioMixerEvents>) => any, eventNames?: string | string[]): Subscription;
|
|
26
|
+
sendEvent(event: WebinarAudioMixerEvents): void;
|
|
27
|
+
addBackstageAudio(webinar: Webinar, webinarExtendeBackstage: boolean): Promise<void>;
|
|
28
|
+
muteBackstage(webinar: Webinar, muted?: boolean): void;
|
|
29
|
+
unmuteBackstage(webinar: Webinar): void;
|
|
30
|
+
manageBackstageMic(webinar: Webinar, enabled: boolean): void;
|
|
31
|
+
private createSilentAudioTrack;
|
|
32
|
+
addAudioStream(webinar: Webinar, participant: WebinarSessionParticipant, type: "audio" | "sharing", videoType?: string): Promise<void>;
|
|
33
|
+
removeAudioStream(participant: WebinarSessionParticipant, type: "audio" | "sharing" | "all"): Promise<void>;
|
|
34
|
+
mute(participant: WebinarSessionParticipant, type: "audio" | "sharing" | "all", muted?: boolean): void;
|
|
35
|
+
unmute(participant: WebinarSessionParticipant, type: "audio" | "sharing" | "all"): void;
|
|
36
|
+
activateAudio(): void;
|
|
37
|
+
updateAudioDevice(): Promise<void>;
|
|
38
|
+
private audioElemPlay;
|
|
39
|
+
updateAudioLevelForParticipant(participant: WebinarSessionParticipant): void;
|
|
40
|
+
setAudioBalance(volume: number): void;
|
|
41
|
+
private setStageAudioLevel;
|
|
42
|
+
private setBackstageAudioLevel;
|
|
43
|
+
private setAudioLevel;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=webinarAudioMixer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarAudioMixer.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarAudioMixer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIzC,oBAAY,uBAAuB;IAC/B,yBAAyB,8BAA8B;IACvD,6BAA6B,kCAAkC;IAC/D,qBAAqB,0BAA0B;CAClD;AACD,qBAAa,iBAAiB;IAatB,OAAO,CAAC,wBAAwB;IAZpC,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAC,CAAmD;IACzE,OAAO,CAAC,eAAe,CAAC,CAAmD;IAC3E,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,gBAAgB,CAAsE;IAC9F,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,wBAAwB,CAAkB;IAC3C,mBAAmB,EAAE,MAAM,CAAK;IAChC,eAAe,EAAE,MAAM,CAAK;IAC5B,YAAY,EAAE,MAAM,CAAO;gBAGtB,wBAAwB,EAAE,wBAAwB;IAG9D,OAAO,CAAC,UAAU;IAWX,OAAO,IAAI,IAAI;IAQf,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY;IAclH,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAOzC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B1F,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,OAAc,GAAG,IAAI;IAa5D,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAEvC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IASnE,OAAO,CAAC,sBAAsB;IAgBjB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC1I,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjH,IAAI,CAAC,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK,GAAE,OAAc,GAAG,IAAI;IA2B5G,MAAM,CAAC,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI;IAIvF,aAAa,IAAI,IAAI;IAQf,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB/C,OAAO,CAAC,aAAa;IAWd,8BAA8B,CAAC,WAAW,EAAE,yBAAyB,GAAG,IAAI;IAU5E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,aAAa;CAWxB"}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/** @module Webinar */
|
|
2
|
+
import type { Subscription } from "rxjs";
|
|
3
|
+
import { Subject } from "rxjs";
|
|
4
|
+
import type { WebinarServiceRB } from "../../services/webinars/webinars.service";
|
|
5
|
+
import type { PlaybackController, Webinar } from "../../models";
|
|
6
|
+
import { WebinarMediaType, WebinarSessionParticipant } from "../../models";
|
|
7
|
+
import { WebinarAudioMixer } from "./webinarAudioMixer";
|
|
8
|
+
import type { WebrtcStatisticsData } from "../../libs/strophe/strophe.jingle.session.stats";
|
|
9
|
+
import type { WebinarConstraintResolution } from "./webinarConference.utils";
|
|
10
|
+
export type { WebinarConstraintResolution } from "./webinarConference.utils";
|
|
11
|
+
export type { PlaybackController } from "../../models";
|
|
12
|
+
/**
|
|
13
|
+
* One WebRTC stats sample for one media session, timestamped on reception.
|
|
14
|
+
*
|
|
15
|
+
* `stats` is the payload the browser produced for that 5s cycle; `sid` identifies the media session
|
|
16
|
+
* it belongs to. The timestamp is added here because {@link WebrtcStatisticsData} carries none, and a
|
|
17
|
+
* history is useless without one.
|
|
18
|
+
*/
|
|
19
|
+
export interface WebinarWebrtcStatsSample {
|
|
20
|
+
/** The media session (`RTCPeerConnection` SID) that produced this sample. */
|
|
21
|
+
readonly sid: string;
|
|
22
|
+
/** Reception time, in ms since epoch. */
|
|
23
|
+
readonly timestamp: number;
|
|
24
|
+
/** The stats payload for this cycle. */
|
|
25
|
+
readonly stats: WebrtcStatisticsData;
|
|
26
|
+
}
|
|
27
|
+
export interface IWebinarConferenceService {
|
|
28
|
+
joinWebinar: (webinar: Webinar) => Promise<Webinar>;
|
|
29
|
+
leaveWebinar: (webinar: Webinar) => Promise<Webinar>;
|
|
30
|
+
addAudioVideoMedia: (webinar: Webinar, mediaType: string, stream?: MediaStream, replaceBackground?: boolean) => Promise<Webinar>;
|
|
31
|
+
addSharingMedia: (webinar: Webinar, stream: MediaStream) => Promise<Webinar>;
|
|
32
|
+
removeLocalMedia: (webinar: Webinar, mediaType: string) => Promise<Webinar>;
|
|
33
|
+
muteParticipant: (webinar: Webinar, participant: WebinarSessionParticipant, mute: boolean) => Promise<Webinar>;
|
|
34
|
+
putOnStage: (webinar: Webinar, participantId: string, media: WebinarMediaType, onStage: boolean, master?: boolean, fullStream?: boolean) => Promise<Webinar>;
|
|
35
|
+
shareAudioConfig: (webinar: Webinar, audioConfig: string) => Promise<Webinar>;
|
|
36
|
+
startWebinar: (webinar: Webinar) => Promise<Webinar>;
|
|
37
|
+
allowAttendeeToTalk: (webinar: Webinar, userId: string) => Promise<Webinar>;
|
|
38
|
+
disableAttendeeToTalk: (webinar: Webinar, userId: string) => Promise<Webinar>;
|
|
39
|
+
askForStaging: (webinar: Webinar, participant: WebinarSessionParticipant, media: string) => Promise<any>;
|
|
40
|
+
declineStagingInvitation: (webinar: Webinar, participant: WebinarSessionParticipant, media: string) => Promise<void>;
|
|
41
|
+
lowerHand: (webinar: Webinar, userId: string) => Promise<Webinar>;
|
|
42
|
+
raiseHand: (webinar: Webinar, userId: string) => Promise<Webinar>;
|
|
43
|
+
isActiveWebinar: (webinar: Webinar) => boolean;
|
|
44
|
+
hasActiveWebinarSession: () => boolean;
|
|
45
|
+
disableIncomingStreams: (webinar: Webinar, media: "video" | "sharing", disabled: boolean) => Webinar;
|
|
46
|
+
pauseVideoStream: (webinar: Webinar, participant: WebinarSessionParticipant, media: "video" | "sharing", paused: boolean, origin: string) => Promise<Webinar>;
|
|
47
|
+
waitForGuestXmppReconnection: () => Promise<void>;
|
|
48
|
+
createPlaybackStream: (recordingUrl: string) => Promise<PlaybackController>;
|
|
49
|
+
getWebrtcStatsHistory: () => WebinarWebrtcStatsSample[];
|
|
50
|
+
subscribeToWebrtcStats: (callback: (sample: WebinarWebrtcStatsSample) => void) => Subscription;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* This service manages webinar conferences in Rainbow.
|
|
54
|
+
*/
|
|
55
|
+
export declare class WebinarConferenceService implements IWebinarConferenceService {
|
|
56
|
+
private webinarService;
|
|
57
|
+
startConferencePromiseResolvers: any;
|
|
58
|
+
activeWebinar: Webinar | null;
|
|
59
|
+
activeWebinarSubject: Subject<any>;
|
|
60
|
+
audioMixer: WebinarAudioMixer;
|
|
61
|
+
private isXmppConnected;
|
|
62
|
+
private reconnectingSessionIds;
|
|
63
|
+
private mainService;
|
|
64
|
+
private authService;
|
|
65
|
+
private logger;
|
|
66
|
+
private xmppService;
|
|
67
|
+
private contactService;
|
|
68
|
+
private userService;
|
|
69
|
+
private errorHelperService;
|
|
70
|
+
private eventService;
|
|
71
|
+
private webrtcConfigAndUtils;
|
|
72
|
+
private speechRecognitionService;
|
|
73
|
+
private utilitiesService;
|
|
74
|
+
private deviceManagementService;
|
|
75
|
+
private settingsService;
|
|
76
|
+
private presenceHelperService;
|
|
77
|
+
private profileService;
|
|
78
|
+
private bubbleService;
|
|
79
|
+
private webinarTelemetryService;
|
|
80
|
+
private virtualBackgroundService?;
|
|
81
|
+
private groupChatListener;
|
|
82
|
+
private conferenceListener;
|
|
83
|
+
private xmppJingleListener;
|
|
84
|
+
private xmppServiceSubscription;
|
|
85
|
+
private videoServiceSubscription;
|
|
86
|
+
private xmppConnectionSubscription;
|
|
87
|
+
private replaceBackgroundSubscription;
|
|
88
|
+
private deviceManagementSubscription;
|
|
89
|
+
private webinarExtendedBackstage;
|
|
90
|
+
private removeSharingInProgress;
|
|
91
|
+
private xmppStagingListener;
|
|
92
|
+
isInteractEventSent: boolean;
|
|
93
|
+
private subscribeToPublisherPromiseResolvers;
|
|
94
|
+
private subscribeToPublisherTimeouts;
|
|
95
|
+
private webrtcReadinessTimeouts;
|
|
96
|
+
private promiseQueue;
|
|
97
|
+
private connectedUser;
|
|
98
|
+
private readonly webrtcStatsHistory;
|
|
99
|
+
private readonly webrtcStatsSubject;
|
|
100
|
+
/**
|
|
101
|
+
* WebinarConferenceService static factory
|
|
102
|
+
* @param webinarService - the webinarService parent
|
|
103
|
+
*/
|
|
104
|
+
static create(webinarService: WebinarServiceRB): WebinarConferenceService;
|
|
105
|
+
/**
|
|
106
|
+
* Private constructor method
|
|
107
|
+
* @param webinarService - the webinarService parent
|
|
108
|
+
*/
|
|
109
|
+
private constructor();
|
|
110
|
+
/**
|
|
111
|
+
* Reconnection method, should be call when webinarService is reconnected
|
|
112
|
+
*/
|
|
113
|
+
reconnect(): Promise<void>;
|
|
114
|
+
private updateWebinarsFromServer;
|
|
115
|
+
/**
|
|
116
|
+
* Attach all listener to different service, should be called by the webinarService attachListener method
|
|
117
|
+
*/
|
|
118
|
+
attachAllListeners(): void;
|
|
119
|
+
detachAllListeners(): void;
|
|
120
|
+
private attachXmppListeners;
|
|
121
|
+
/**
|
|
122
|
+
* Allow to join a webinarSession (entering the conference and established the webrtc connection)
|
|
123
|
+
* @param webinar - the webinar to join
|
|
124
|
+
*/
|
|
125
|
+
joinWebinar(webinar: Webinar): Promise<Webinar>;
|
|
126
|
+
/**
|
|
127
|
+
* Mark the webinar as the active one and publish the state that depends on it.
|
|
128
|
+
* Called on both joinWebinar exits -- the nominal one and the "alreadyConnected" (switch
|
|
129
|
+
* device) one, where the join succeeded too and the user is just as live.
|
|
130
|
+
* Every step is idempotent: the two ON_ACTIVE_WEBINAR consumers re-read activeWebinar
|
|
131
|
+
* instead of diffing, and armSessionEndTimer clears its own timers before re-arming.
|
|
132
|
+
*/
|
|
133
|
+
private setActiveWebinarState;
|
|
134
|
+
/**
|
|
135
|
+
* Allow to leave a webinar
|
|
136
|
+
* - remove the user from the stage (if it was on the stage)
|
|
137
|
+
* - remove the user from the conference (stop the session if last user)
|
|
138
|
+
* @param webinar - the webinar to leave
|
|
139
|
+
* @param forced - when set to true this method stop the session (even if not the last user connect in conf)
|
|
140
|
+
* @param nowait - when set to true this method call async child methods without waiting the end of execution (used in last chance deconnection event mechanism (onunload event))
|
|
141
|
+
* @returns A promise that is resolved when the user has join the conference
|
|
142
|
+
*/
|
|
143
|
+
leaveWebinar(webinar: Webinar, forced?: boolean, nowait?: boolean, reason?: string): Promise<Webinar>;
|
|
144
|
+
/**
|
|
145
|
+
* Allow to remove the "active" webinar
|
|
146
|
+
* @param webinar - the webinar to remove as active
|
|
147
|
+
*/
|
|
148
|
+
removeActiveWebinar(webinar: Webinar): void;
|
|
149
|
+
addAudioVideoMedia(webinar: Webinar, media: string, originalStream?: MediaStream, replaceBg?: boolean): Promise<Webinar>;
|
|
150
|
+
getSharingMedia(webinar: Webinar, shouldGetAudioForSharing?: boolean): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* @param isResume - true when re-publishing a stream the speaker PiP had suspended. The share
|
|
153
|
+
* never actually stopped, so telemetry must not see a start/stop pair per PiP toggle.
|
|
154
|
+
*/
|
|
155
|
+
addSharingMedia(webinar: Webinar, stream: MediaStream, isResume?: boolean): Promise<Webinar>;
|
|
156
|
+
/**
|
|
157
|
+
* Publish again a sharing stream that `removeLocalMedia(..., keepCapture)` kept alive.
|
|
158
|
+
*
|
|
159
|
+
* A brand new session and sid are created: `subscribeToPublisher` refuses to re-subscribe while
|
|
160
|
+
* a session still exists, so reusing the old one would leave every remote speaker with a black
|
|
161
|
+
* cell. `addSharingMedia` takes the stream as-is and never re-opens the browser picker.
|
|
162
|
+
*/
|
|
163
|
+
resumeSharingPublication(webinar: Webinar, stream: MediaStream, putOnStage: boolean): Promise<Webinar>;
|
|
164
|
+
/** Resolve once the local sharing is webrtc-connected, or reject when it does not get there. */
|
|
165
|
+
private waitForSharingReadiness;
|
|
166
|
+
/**
|
|
167
|
+
* @param keepCapture - for sharing only: unpublish the media but leave the capture running.
|
|
168
|
+
* Used by the speaker PiP, which keeps compositing that capture into the camera after the
|
|
169
|
+
* share itself has stopped being published. The caller then owns the stream.
|
|
170
|
+
*/
|
|
171
|
+
removeLocalMedia(webinar: Webinar, media: string, keepCapture?: boolean): Promise<Webinar>;
|
|
172
|
+
muteParticipant(webinar: Webinar, participant: WebinarSessionParticipant, mute?: boolean): Promise<Webinar>;
|
|
173
|
+
muteParticipantInternal(webinar: Webinar, participant: WebinarSessionParticipant, channel: "MCU" | "SFU", mute?: boolean, askIgnore?: boolean): Promise<string>;
|
|
174
|
+
/**
|
|
175
|
+
* Whether the participant is a remote attendee (typically one brought on stage).
|
|
176
|
+
* `allowedToTalk` backs up `role`: a participant rebuilt from a snapshot after a reconnect has no role,
|
|
177
|
+
* and only attendees are ever granted the right to talk.
|
|
178
|
+
*/
|
|
179
|
+
private isRemoteAttendee;
|
|
180
|
+
declineUnmuteInvitation(webinar: Webinar, fromParticpant: WebinarSessionParticipant): void;
|
|
181
|
+
putOnStage(webinar: Webinar, participantId: string, type: WebinarMediaType, onStage: boolean, master?: boolean, fullStream?: boolean): Promise<Webinar>;
|
|
182
|
+
shareAudioConfig(webinar: Webinar, audioConfig: string): Promise<Webinar>;
|
|
183
|
+
startWebinar(webinar: Webinar): Promise<Webinar>;
|
|
184
|
+
/**
|
|
185
|
+
* Decline an incoming webinar conference invitation.
|
|
186
|
+
* The server notifies the other connected devices of the user so that they stop ringing.
|
|
187
|
+
* Never throws: declining must stay effective locally even if the request fails.
|
|
188
|
+
* @param webinar - The webinar whose incoming invitation is declined
|
|
189
|
+
*/
|
|
190
|
+
declineWebinarInvitation(webinar: Webinar): Promise<void>;
|
|
191
|
+
stopWebinar(webinar: Webinar): Promise<Webinar>;
|
|
192
|
+
raiseHand(webinar: Webinar, userId: string): Promise<Webinar>;
|
|
193
|
+
lowerHand(webinar: Webinar, userId: string): Promise<Webinar>;
|
|
194
|
+
allowAttendeeToTalk(webinar: Webinar, userId: string): Promise<Webinar>;
|
|
195
|
+
disableAttendeeToTalk(webinar: Webinar, userId: string): Promise<Webinar>;
|
|
196
|
+
activateWebinarSound(webinar: Webinar): Promise<void>;
|
|
197
|
+
askForStaging(webinar: Webinar, participant: WebinarSessionParticipant, media: string): Promise<void>;
|
|
198
|
+
declineStagingInvitation(webinar: Webinar, participant: WebinarSessionParticipant, media: string): Promise<void>;
|
|
199
|
+
hasActiveWebinarSession(): boolean;
|
|
200
|
+
isActiveWebinar(webinar: Webinar): boolean;
|
|
201
|
+
removeAudioVideoMedia(webinar: Webinar, audioVideoOnly?: boolean): Promise<void>;
|
|
202
|
+
removeSharingMedia(webinar: Webinar): void;
|
|
203
|
+
enableSubtitles(webinar: Webinar, enable: boolean): void;
|
|
204
|
+
applyVideoConstraints(webinar: Webinar, streamType: "audioVideo" | "sharing", resolution: WebinarConstraintResolution, frameRate: number, maxBitrate: number): Promise<void>;
|
|
205
|
+
private resendStageEvents;
|
|
206
|
+
disableIncomingStreams(webinar: Webinar, media: "video" | "sharing", disabled: boolean): Webinar;
|
|
207
|
+
private clearIncomingStreamsDisabled;
|
|
208
|
+
pauseVideoStream(webinar: Webinar, participant: WebinarSessionParticipant, media: "video" | "sharing", paused: boolean, origin: string): Promise<Webinar>;
|
|
209
|
+
waitForGuestXmppReconnection(): Promise<void>;
|
|
210
|
+
private startConference;
|
|
211
|
+
/**
|
|
212
|
+
* Joins an existing webinar conference session.
|
|
213
|
+
*
|
|
214
|
+
* This method handles the process of joining a webinar conference by:
|
|
215
|
+
* - Sending a POST request to the conference join endpoint
|
|
216
|
+
* - Processing stage information for attendees
|
|
217
|
+
* - Handling switch device scenarios when user is already connected
|
|
218
|
+
*
|
|
219
|
+
* @param webinar - The webinar instance to join
|
|
220
|
+
* @returns A promise that resolves when the user has successfully joined the conference
|
|
221
|
+
* @throws Error with message 'alreadyConnected' if the user is already connected from another device
|
|
222
|
+
* @throws Error from errorHelperService if the join request fails
|
|
223
|
+
*/
|
|
224
|
+
private joinConference;
|
|
225
|
+
private stopSession;
|
|
226
|
+
private disconnectParticipant;
|
|
227
|
+
private onGroupchatMessage;
|
|
228
|
+
private ackAllMessages;
|
|
229
|
+
private onXmppJingleMessage;
|
|
230
|
+
private onAskStagingMessage;
|
|
231
|
+
private onConferenceMessage;
|
|
232
|
+
private handleRemoteParticipantSharingAudio;
|
|
233
|
+
private handleRemoteParticipantAudioConfig;
|
|
234
|
+
private handleRemoteParticipantAudioConfigMCU;
|
|
235
|
+
private handleRecording;
|
|
236
|
+
private handleStage;
|
|
237
|
+
private updateStage;
|
|
238
|
+
private getWebinarSnapshot;
|
|
239
|
+
subscribeToPublisher(webinar: Webinar, participant: WebinarSessionParticipant, media: string, force?: boolean, retry?: boolean, subStreamLevel?: number): Promise<any>;
|
|
240
|
+
private subscribeToPublisherInternal;
|
|
241
|
+
subscribeMcuStream(webinar: Webinar, subStreamLevel?: number): Promise<void>;
|
|
242
|
+
unsubscribeMcuStream(webinar: Webinar): void;
|
|
243
|
+
unsubscribeToPublisher(webinar: Webinar, participant: WebinarSessionParticipant, media: string, disableStream?: boolean): Promise<void>;
|
|
244
|
+
private createSessionParticipantFromElem;
|
|
245
|
+
private createSessionParticipantFromAttendeeJid;
|
|
246
|
+
private onVideoServiceEvent;
|
|
247
|
+
private onSessionMessage;
|
|
248
|
+
/**
|
|
249
|
+
* Tear down a stale remote session before re-subscribing to its publisher.
|
|
250
|
+
* Same cleanup as the per-session ON_RECONNECT_NEEDED path in
|
|
251
|
+
* onSessionReconnectNeeded, so the global XMPP reconnect() heal drops the dead
|
|
252
|
+
* <audio> element + session reference too instead of reusing a stale element
|
|
253
|
+
* (updateAudioStream). Also stops the orphaned stats interval and closes the
|
|
254
|
+
* peerconnection, which the heal path was otherwise leaking.
|
|
255
|
+
*
|
|
256
|
+
* Clearing the session reference is what lets the re-subscribe through: while
|
|
257
|
+
* audioVideoSession / sharingSession is still set, subscribeToPublisher refuses
|
|
258
|
+
* the call with "session already exists" unless force is true.
|
|
259
|
+
*
|
|
260
|
+
* The media flags must be reset here too: onSessionTerminated -- the only other place
|
|
261
|
+
* doing it for a remote participant -- looks the participant up by sid, which this
|
|
262
|
+
* method just cleared, so it exits without touching them. Left true they make every
|
|
263
|
+
* subscribe guard skip the media forever (CRRAINB-53618). Same as clearWebinar does.
|
|
264
|
+
* medias.video is left alone on purpose: no guard reads it, but webinarStageCell gates
|
|
265
|
+
* the video tile on it, so clearing it would blink every tile on a transient failure.
|
|
266
|
+
*/
|
|
267
|
+
private cleanupStaleRemoteSession;
|
|
268
|
+
/** Snapshot of the speakers' session ids vs established session objects, for diagnostics only */
|
|
269
|
+
private describeSpeakerSessions;
|
|
270
|
+
private onSessionReconnectNeeded;
|
|
271
|
+
private onSessionEstablished;
|
|
272
|
+
private onSessionStateChange;
|
|
273
|
+
private scheduleSubscribeToPublisher;
|
|
274
|
+
private scheduleTransportReplace;
|
|
275
|
+
private sendTransportReplaceForSession;
|
|
276
|
+
/**
|
|
277
|
+
* @param keepLocalTracks - leave the local capture running; see {@link JingleSession.terminate}.
|
|
278
|
+
*/
|
|
279
|
+
private terminateSession;
|
|
280
|
+
private onSessionInitiate;
|
|
281
|
+
private onSessionTerminated;
|
|
282
|
+
private onJingleContentAdd;
|
|
283
|
+
private onJingleContentModify;
|
|
284
|
+
private onJingleMediaModified;
|
|
285
|
+
private onJingleContentRemove;
|
|
286
|
+
private setBusyState;
|
|
287
|
+
/**
|
|
288
|
+
* Collects one WebRTC stats cycle for a webinar media session.
|
|
289
|
+
*
|
|
290
|
+
* The event carries the whole envelope, not just the stats: `sid` is the only link back to the
|
|
291
|
+
* session, and it lives on the envelope rather than inside {@link WebrtcStatisticsData}.
|
|
292
|
+
*/
|
|
293
|
+
private onJingleStatsChange;
|
|
294
|
+
/**
|
|
295
|
+
* Every stats sample still buffered, oldest first, across all sessions.
|
|
296
|
+
*
|
|
297
|
+
* Reading the buffer rather than only listening to the live stream is what makes a panel opened
|
|
298
|
+
* *after* an incident useful: the samples that explain it have already been collected.
|
|
299
|
+
*/
|
|
300
|
+
getWebrtcStatsHistory(): WebinarWebrtcStatsSample[];
|
|
301
|
+
/** Subscribes to live stats samples. Caller owns the returned subscription. */
|
|
302
|
+
subscribeToWebrtcStats(callback: (sample: WebinarWebrtcStatsSample) => void): Subscription;
|
|
303
|
+
/** Drops the buffered history of a session; called wherever a session is torn down. */
|
|
304
|
+
private clearWebrtcStatsForSession;
|
|
305
|
+
private onJingleCheckSubscriptionStatus;
|
|
306
|
+
private onJingleResubscriptionNeededEvent;
|
|
307
|
+
private onJingleErrorEvent;
|
|
308
|
+
private onSessionMessageDefaultHandler;
|
|
309
|
+
private onXmppConnectionChangeEvent;
|
|
310
|
+
private onReplaceBackgroundChangeEvent;
|
|
311
|
+
private onMediaDeviceChangeEvent;
|
|
312
|
+
private addSubscribeToPublisherTimeout;
|
|
313
|
+
private clearSubscribeToPublisherTimeout;
|
|
314
|
+
private clearSubscribeToPublisherTimeouts;
|
|
315
|
+
private addWebrtcReadinessTimeout;
|
|
316
|
+
private clearWebrtcReadinessTimeout;
|
|
317
|
+
private clearWebrtcReadinessTimeouts;
|
|
318
|
+
private resubscribe;
|
|
319
|
+
private clearWebinar;
|
|
320
|
+
createPlaybackStream(recordingUrl: string): Promise<PlaybackController>;
|
|
321
|
+
private clearSession;
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=webinarConference.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarConference.service.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarConference.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WebinarCodecs } from "../../models";
|
|
2
|
+
/**
|
|
3
|
+
* Encoding profiles. `high` means 720p for a camera and 1080p for a screen share -- a talking head
|
|
4
|
+
* needs far less definition than a slide. `detailed` is 1080p whatever the media: it exists for the
|
|
5
|
+
* speaker PiP, where the camera channel carries a screen share composited behind the speaker and
|
|
6
|
+
* the usual camera profile would make dense text unreadable.
|
|
7
|
+
*/
|
|
8
|
+
export type WebinarConstraintResolution = "detailed" | "high" | "medium" | "low" | "min";
|
|
9
|
+
export interface WebinarScaleFactor {
|
|
10
|
+
scaleFactor: number;
|
|
11
|
+
scaleInfo: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Compute the WebRTC scale-resolution-down factor to apply on a video track so its
|
|
15
|
+
* encoded height matches the target resolution profile. Returns the factor plus a
|
|
16
|
+
* human-readable description used for logging.
|
|
17
|
+
*/
|
|
18
|
+
export declare function computeScaleFactor(track: MediaStreamTrack, resolution: WebinarConstraintResolution, sharing: boolean): WebinarScaleFactor;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the video / sharing codecs to use, reading the operator overrides from
|
|
21
|
+
* localStorage and falling back to vp8.
|
|
22
|
+
*/
|
|
23
|
+
export declare function manageCodecs(): WebinarCodecs;
|
|
24
|
+
//# sourceMappingURL=webinarConference.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarConference.utils.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarConference.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAEzF,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,GAAG,kBAAkB,CA+BzI;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAU5C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Webinar, WebinarParticipant } from "../../models/webinar.model";
|
|
2
|
+
import { WebinarCSVStatus } from "../../models/webinar.model";
|
|
3
|
+
import type { WebinarServiceRB } from "../../services/webinars/webinars.service";
|
|
4
|
+
export declare abstract class AbstractWebinarService {
|
|
5
|
+
abstract add(webinar: Webinar, participant: WebinarParticipant): Promise<Webinar>;
|
|
6
|
+
abstract approve(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
7
|
+
abstract reject(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
8
|
+
abstract resendInvitationMail(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
9
|
+
abstract getInfo(webinar: Webinar, email: string): Promise<any>;
|
|
10
|
+
abstract getCSVTemplateUrl(): Promise<string>;
|
|
11
|
+
abstract getCSVText(webinar: Webinar): Promise<string>;
|
|
12
|
+
abstract checkCSV(webinar: Webinar, CSVBuffer: string): Promise<any>;
|
|
13
|
+
abstract importCSV(webinar: Webinar, CSVBuffer: string): Promise<Webinar>;
|
|
14
|
+
abstract authenticate(openInviteId: string, joinUuid: string, agreement: boolean, accessCode: string): Promise<any>;
|
|
15
|
+
abstract joinWebinar(openInviteId: string, joinUuid: string, accessCode: string): Promise<any>;
|
|
16
|
+
abstract joinWebinarAsRainbowAttendee(webinarId: string): Promise<any>;
|
|
17
|
+
}
|
|
18
|
+
export declare class WebinarParticipantsService extends AbstractWebinarService {
|
|
19
|
+
private webinarService;
|
|
20
|
+
private authService;
|
|
21
|
+
private logger;
|
|
22
|
+
private errorHelperService;
|
|
23
|
+
static create(webinarService: WebinarServiceRB): WebinarParticipantsService;
|
|
24
|
+
constructor(webinarService: WebinarServiceRB);
|
|
25
|
+
add(webinar: Webinar, participant: WebinarParticipant): Promise<Webinar>;
|
|
26
|
+
approve(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
27
|
+
reject(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
28
|
+
resendInvitationMail(webinar: Webinar, emails: string[]): Promise<Webinar>;
|
|
29
|
+
getInfo(webinar: Webinar, email: string): Promise<any>;
|
|
30
|
+
getCSVTemplateUrl(): Promise<string>;
|
|
31
|
+
getCSVText(webinar: Webinar): Promise<string>;
|
|
32
|
+
checkCSV(webinar: Webinar, CSVBuffer: string): Promise<WebinarCSVStatus>;
|
|
33
|
+
importCSV(webinar: Webinar, CSVBuffer: string): Promise<Webinar>;
|
|
34
|
+
getImportDetails(webinar: Webinar): Promise<Webinar>;
|
|
35
|
+
authenticate(openInviteId: string, joinUuid: string, agreement?: boolean, accessCode?: string, userData?: any): Promise<any>;
|
|
36
|
+
private guestLogon;
|
|
37
|
+
private getAccount;
|
|
38
|
+
joinWebinar(openInviteId: string, joinUuid: string, accessCode?: string): Promise<any>;
|
|
39
|
+
joinWebinarAsRainbowAttendee(webinarId: string): Promise<any>;
|
|
40
|
+
declineWebinarInvitation(openInviteId: string, joinUuid: string): Promise<any>;
|
|
41
|
+
private unEntity;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=webinarParticipants.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarParticipants.service.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarParticipants.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAiB,MAAM,2CAA2C,CAAC;AAK5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAGhG,8BAAsB,sBAAsB;aACxB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;aACxE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;aAC7D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;aAC5D,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;aAC1E,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;aACtD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;aACpC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;aAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;aAC3D,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;aAChE,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;aAC1G,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;aACrF,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAChF;AAED,qBAAa,0BAA2B,SAAQ,sBAAsB;IAStD,OAAO,CAAC,cAAc;IARlC,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,kBAAkB,CAAwD;WAEpE,MAAM,CAAC,cAAc,EAAE,gBAAgB,GAAG,0BAA0B;gBAI9D,cAAc,EAAE,gBAAgB;IAIvC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBxE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB7D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB5D,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB1E,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAetD,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBpC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAkB7C,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDxE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBhE,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,OAAe,EAAE,UAAU,GAAE,MAAa,EAAE,QAAQ,GAAE,GAAU,GAAG,OAAO,CAAC,GAAG,CAAC;YAuB9I,UAAU;YAcV,UAAU;IAqCX,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAmB5F,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7D,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB3F,OAAO,CAAC,QAAQ;CAGnB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Webinar } from "../../models/webinar.model";
|
|
2
|
+
import type { WebinarServiceRB } from "../../services/webinars/webinars.service";
|
|
3
|
+
export declare abstract class AbstractWebinarSpeakersService {
|
|
4
|
+
abstract get(webinar: Webinar, id: string): any;
|
|
5
|
+
abstract invite(webinar: Webinar, contactId: string[], emails: string[]): Promise<void>;
|
|
6
|
+
abstract remove(webinar: Webinar, contactId: string[], emails: string[]): Promise<void>;
|
|
7
|
+
abstract promoteSpeakers(webinar: Webinar, users: string[]): Promise<void>;
|
|
8
|
+
abstract demoteOrganizers(webinar: Webinar, users: string[]): Promise<void>;
|
|
9
|
+
abstract updateOrganizer(webinar: Webinar, user: string, hightlighted: boolean): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare class WebinarSpeakersService extends AbstractWebinarSpeakersService {
|
|
12
|
+
private webinarService;
|
|
13
|
+
private authService;
|
|
14
|
+
private logger;
|
|
15
|
+
private errorHelperService;
|
|
16
|
+
static create(webinarService: WebinarServiceRB): WebinarSpeakersService;
|
|
17
|
+
constructor(webinarService: WebinarServiceRB);
|
|
18
|
+
get(webinar: Webinar, id: string): any;
|
|
19
|
+
invite(webinar: Webinar, users: string[], emails: string[]): Promise<any>;
|
|
20
|
+
remove(webinar: Webinar, users: string[], emails: string[]): Promise<void>;
|
|
21
|
+
promoteSpeakers(webinar: Webinar, users: string[]): Promise<void>;
|
|
22
|
+
demoteOrganizers(webinar: Webinar, users: string[]): Promise<void>;
|
|
23
|
+
updateOrganizer(webinar: Webinar, userId: string, hightlighted: boolean): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=webinarSpeakers.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarSpeakers.service.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarSpeakers.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAIzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAEhG,8BAAsB,8BAA8B;aAChC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG;aACtC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAC9E,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAC9E,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aACjE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;aAClE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CACxG;AAED,qBAAa,sBAAuB,SAAQ,8BAA8B;IAS1D,OAAO,CAAC,cAAc;IARlC,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,kBAAkB,CAAwD;WAEpE,MAAM,CAAC,cAAc,EAAE,gBAAgB,GAAG,sBAAsB;gBAI1D,cAAc,EAAE,gBAAgB;IAI7C,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG;IAKhC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAiCzE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAoB1D,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlE,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBvG"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { Webinar } from "../../models/webinar.model";
|
|
2
|
+
import type { WebinarServiceRB } from "../../services/webinars/webinars.service";
|
|
3
|
+
export type StoryLineActionType = "intro" | "outro" | "speaker-on-stage" | "media-play" | "custom";
|
|
4
|
+
export type StoryLineItemStatus = "pending" | "active" | "completed" | "skipped";
|
|
5
|
+
export interface StoryLinePerson {
|
|
6
|
+
id: string;
|
|
7
|
+
displayName: string;
|
|
8
|
+
avatarUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface StoryLineItem {
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
actionType: StoryLineActionType;
|
|
14
|
+
durationSeconds: number;
|
|
15
|
+
people: StoryLinePerson[];
|
|
16
|
+
status: StoryLineItemStatus;
|
|
17
|
+
notes?: string;
|
|
18
|
+
actualDurationSeconds?: number;
|
|
19
|
+
color?: string;
|
|
20
|
+
payload?: unknown;
|
|
21
|
+
}
|
|
22
|
+
export interface WebinarStoryLine {
|
|
23
|
+
webinarId: string;
|
|
24
|
+
version: number;
|
|
25
|
+
activeIndex: number;
|
|
26
|
+
maxDurationSeconds: number;
|
|
27
|
+
items: StoryLineItem[];
|
|
28
|
+
createdAt: string;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
export type StoryLinePatchOperation = {
|
|
32
|
+
type: "execute-item";
|
|
33
|
+
itemId: string;
|
|
34
|
+
activeIndex: number;
|
|
35
|
+
} | {
|
|
36
|
+
type: "add-item";
|
|
37
|
+
item: StoryLineItem;
|
|
38
|
+
insertAt: number;
|
|
39
|
+
} | {
|
|
40
|
+
type: "delete-item";
|
|
41
|
+
itemId: string;
|
|
42
|
+
} | {
|
|
43
|
+
type: "reorder-item";
|
|
44
|
+
itemId: string;
|
|
45
|
+
previousIndex: number;
|
|
46
|
+
currentIndex: number;
|
|
47
|
+
} | {
|
|
48
|
+
type: "edit-duration";
|
|
49
|
+
itemId: string;
|
|
50
|
+
durationSeconds: number;
|
|
51
|
+
} | {
|
|
52
|
+
type: "edit-label";
|
|
53
|
+
itemId: string;
|
|
54
|
+
label: string;
|
|
55
|
+
} | {
|
|
56
|
+
type: "edit-status";
|
|
57
|
+
itemId: string;
|
|
58
|
+
status: StoryLineItemStatus;
|
|
59
|
+
} | {
|
|
60
|
+
type: "set-active-index";
|
|
61
|
+
activeIndex: number;
|
|
62
|
+
};
|
|
63
|
+
export declare enum WebinarStoryLineEvents {
|
|
64
|
+
STORY_LINE_LOADED = "storyLine:loaded",
|
|
65
|
+
STORY_LINE_UPDATED = "storyLine:updated",
|
|
66
|
+
EXECUTION_STARTED = "storyLine:executionStarted",
|
|
67
|
+
EDIT_MODE_ENTERED = "storyLine:editModeEntered",
|
|
68
|
+
EDIT_MODE_EXITED = "storyLine:editModeExited"
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Applies a {@link StoryLinePatchOperation} to a copy of the items array and
|
|
72
|
+
* returns the new array. The original array is never mutated.
|
|
73
|
+
*/
|
|
74
|
+
export declare function applyDelta(items: StoryLineItem[], operation: StoryLinePatchOperation): StoryLineItem[];
|
|
75
|
+
export interface WebinarStoryLineService {
|
|
76
|
+
loadStoryLine: (webinar: Webinar) => Promise<WebinarStoryLine | null>;
|
|
77
|
+
applyPatch: (webinar: Webinar, operation: StoryLinePatchOperation) => Promise<WebinarStoryLine | null>;
|
|
78
|
+
saveFullStoryLine: (webinar: Webinar, storyLine: WebinarStoryLine) => Promise<WebinarStoryLine>;
|
|
79
|
+
getStoryLine: (webinar: Webinar) => WebinarStoryLine | null;
|
|
80
|
+
notifyEditModeEntered: (webinar: Webinar) => void;
|
|
81
|
+
notifyEditModeExited: (webinar: Webinar) => void;
|
|
82
|
+
attachListeners: () => void;
|
|
83
|
+
detachListeners: () => void;
|
|
84
|
+
}
|
|
85
|
+
export declare class WebinarStoryLineServiceRB implements WebinarStoryLineService {
|
|
86
|
+
private readonly webinarService;
|
|
87
|
+
private readonly logger;
|
|
88
|
+
private readonly authService;
|
|
89
|
+
private readonly errorHelperService;
|
|
90
|
+
private readonly xmppService;
|
|
91
|
+
/** Local cache: webinarId → WebinarStoryLine */
|
|
92
|
+
private readonly cache;
|
|
93
|
+
private storyLineXmppListener;
|
|
94
|
+
/** URL of the mock / real backend. Replace with config.restServerUrl once the real backend is ready. */
|
|
95
|
+
private readonly baseUrl;
|
|
96
|
+
private constructor();
|
|
97
|
+
static create(webinarService: WebinarServiceRB): WebinarStoryLineServiceRB;
|
|
98
|
+
attachListeners(): void;
|
|
99
|
+
detachListeners(): void;
|
|
100
|
+
getStoryLine(webinar: Webinar): WebinarStoryLine | null;
|
|
101
|
+
loadStoryLine(webinar: Webinar): Promise<WebinarStoryLine | null>;
|
|
102
|
+
applyPatch(webinar: Webinar, operation: StoryLinePatchOperation): Promise<WebinarStoryLine | null>;
|
|
103
|
+
saveFullStoryLine(webinar: Webinar, storyLine: WebinarStoryLine): Promise<WebinarStoryLine>;
|
|
104
|
+
/**
|
|
105
|
+
* Broadcasts to other organizers that this client entered live-edit mode.
|
|
106
|
+
* Client-to-clients only — no backend persistence.
|
|
107
|
+
*/
|
|
108
|
+
notifyEditModeEntered(webinar: Webinar): void;
|
|
109
|
+
/**
|
|
110
|
+
* Broadcasts to other organizers that this client exited live-edit mode.
|
|
111
|
+
* Client-to-clients only — no backend persistence.
|
|
112
|
+
*/
|
|
113
|
+
notifyEditModeExited(webinar: Webinar): void;
|
|
114
|
+
private onStoryLineXmppMessage;
|
|
115
|
+
private sendEditModeStanza;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=webinarStoryLine.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webinarStoryLine.service.d.ts","sourceRoot":"","sources":["../../../src/services/webinars/webinarStoryLine.service.ts"],"names":[],"mappings":"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"}
|