@webex/plugin-meetings 3.1.0 → 3.2.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.
Files changed (205) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/common/errors/reconnection-not-started.js +46 -0
  4. package/dist/common/errors/reconnection-not-started.js.map +1 -0
  5. package/dist/constants.js +16 -5
  6. package/dist/constants.js.map +1 -1
  7. package/dist/index.js +80 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/interpretation/index.js +1 -1
  10. package/dist/interpretation/siLanguage.js +1 -1
  11. package/dist/locus-info/controlsUtils.js +7 -1
  12. package/dist/locus-info/controlsUtils.js.map +1 -1
  13. package/dist/locus-info/index.js +10 -0
  14. package/dist/locus-info/index.js.map +1 -1
  15. package/dist/media/properties.js +102 -57
  16. package/dist/media/properties.js.map +1 -1
  17. package/dist/mediaQualityMetrics/config.js +10 -10
  18. package/dist/mediaQualityMetrics/config.js.map +1 -1
  19. package/dist/meeting/in-meeting-actions.js +6 -0
  20. package/dist/meeting/in-meeting-actions.js.map +1 -1
  21. package/dist/meeting/index.js +564 -475
  22. package/dist/meeting/index.js.map +1 -1
  23. package/dist/meeting/locusMediaRequest.js +27 -0
  24. package/dist/meeting/locusMediaRequest.js.map +1 -1
  25. package/dist/meeting/util.js +9 -16
  26. package/dist/meeting/util.js.map +1 -1
  27. package/dist/meeting/voicea-meeting.js +37 -49
  28. package/dist/meeting/voicea-meeting.js.map +1 -1
  29. package/dist/meeting-info/util.js +304 -267
  30. package/dist/meeting-info/util.js.map +1 -1
  31. package/dist/meeting-info/utilv2.js +334 -298
  32. package/dist/meeting-info/utilv2.js.map +1 -1
  33. package/dist/meetings/index.js +12 -28
  34. package/dist/meetings/index.js.map +1 -1
  35. package/dist/reachability/index.js +88 -9
  36. package/dist/reachability/index.js.map +1 -1
  37. package/dist/reconnection-manager/index.js +138 -109
  38. package/dist/reconnection-manager/index.js.map +1 -1
  39. package/dist/roap/request.js +3 -27
  40. package/dist/roap/request.js.map +1 -1
  41. package/dist/statsAnalyzer/index.js +8 -2
  42. package/dist/statsAnalyzer/index.js.map +1 -1
  43. package/dist/statsAnalyzer/mqaUtil.js +17 -0
  44. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  45. package/dist/types/annotation/annotation.types.d.ts +42 -0
  46. package/dist/types/annotation/constants.d.ts +31 -0
  47. package/dist/types/annotation/index.d.ts +117 -0
  48. package/dist/types/breakouts/breakout.d.ts +8 -0
  49. package/dist/types/breakouts/collection.d.ts +5 -0
  50. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  51. package/dist/types/breakouts/events.d.ts +8 -0
  52. package/dist/types/breakouts/index.d.ts +5 -0
  53. package/dist/types/breakouts/request.d.ts +22 -0
  54. package/dist/types/breakouts/utils.d.ts +15 -0
  55. package/dist/types/common/browser-detection.d.ts +9 -0
  56. package/dist/types/common/collection.d.ts +48 -0
  57. package/dist/types/common/config.d.ts +2 -0
  58. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  59. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  60. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  61. package/dist/types/common/errors/media.d.ts +15 -0
  62. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  63. package/dist/types/common/errors/parameter.d.ts +15 -0
  64. package/dist/types/common/errors/password-error.d.ts +15 -0
  65. package/dist/types/common/errors/permission.d.ts +14 -0
  66. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  67. package/dist/types/common/errors/reconnection-not-started.d.ts +13 -0
  68. package/dist/types/common/errors/reconnection.d.ts +15 -0
  69. package/dist/types/common/errors/stats.d.ts +15 -0
  70. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  71. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  72. package/dist/types/common/events/events-scope.d.ts +17 -0
  73. package/dist/types/common/events/events.d.ts +12 -0
  74. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  75. package/dist/types/common/events/util.d.ts +2 -0
  76. package/dist/types/common/logs/logger-config.d.ts +2 -0
  77. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  78. package/dist/types/common/logs/request.d.ts +36 -0
  79. package/dist/types/common/queue.d.ts +34 -0
  80. package/dist/types/config.d.ts +73 -0
  81. package/dist/types/constants.d.ts +1098 -0
  82. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  83. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  84. package/dist/types/controls-options-manager/index.d.ts +136 -0
  85. package/dist/types/controls-options-manager/types.d.ts +43 -0
  86. package/dist/types/controls-options-manager/util.d.ts +1 -0
  87. package/dist/types/index.d.ts +19 -0
  88. package/dist/types/interceptors/index.d.ts +2 -0
  89. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  90. package/dist/types/interpretation/collection.d.ts +5 -0
  91. package/dist/types/interpretation/index.d.ts +5 -0
  92. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  93. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  94. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  95. package/dist/types/locus-info/fullState.d.ts +2 -0
  96. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  97. package/dist/types/locus-info/index.d.ts +322 -0
  98. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  99. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  100. package/dist/types/locus-info/parser.d.ts +272 -0
  101. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  102. package/dist/types/media/MediaConnectionAwaiter.d.ts +61 -0
  103. package/dist/types/media/index.d.ts +34 -0
  104. package/dist/types/media/properties.d.ts +117 -0
  105. package/dist/types/media/util.d.ts +2 -0
  106. package/dist/types/mediaQualityMetrics/config.d.ts +247 -0
  107. package/dist/types/meeting/in-meeting-actions.d.ts +173 -0
  108. package/dist/types/meeting/index.d.ts +1832 -0
  109. package/dist/types/meeting/locusMediaRequest.d.ts +75 -0
  110. package/dist/types/meeting/muteState.d.ts +178 -0
  111. package/dist/types/meeting/request.d.ts +295 -0
  112. package/dist/types/meeting/request.type.d.ts +11 -0
  113. package/dist/types/meeting/state.d.ts +9 -0
  114. package/dist/types/meeting/util.d.ts +122 -0
  115. package/dist/types/meeting/voicea-meeting.d.ts +17 -0
  116. package/dist/types/meeting-info/collection.d.ts +20 -0
  117. package/dist/types/meeting-info/index.d.ts +69 -0
  118. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  119. package/dist/types/meeting-info/request.d.ts +22 -0
  120. package/dist/types/meeting-info/util.d.ts +49 -0
  121. package/dist/types/meeting-info/utilv2.d.ts +65 -0
  122. package/dist/types/meetings/collection.d.ts +40 -0
  123. package/dist/types/meetings/index.d.ts +383 -0
  124. package/dist/types/meetings/meetings.types.d.ts +4 -0
  125. package/dist/types/meetings/request.d.ts +27 -0
  126. package/dist/types/meetings/util.d.ts +18 -0
  127. package/dist/types/member/index.d.ts +160 -0
  128. package/dist/types/member/types.d.ts +32 -0
  129. package/dist/types/member/util.d.ts +2 -0
  130. package/dist/types/members/collection.d.ts +29 -0
  131. package/dist/types/members/index.d.ts +353 -0
  132. package/dist/types/members/request.d.ts +114 -0
  133. package/dist/types/members/types.d.ts +25 -0
  134. package/dist/types/members/util.d.ts +215 -0
  135. package/dist/types/metrics/constants.d.ts +70 -0
  136. package/dist/types/metrics/index.d.ts +45 -0
  137. package/dist/types/multistream/mediaRequestManager.d.ts +119 -0
  138. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  139. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  140. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  141. package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
  142. package/dist/types/multistream/remoteMediaManager.d.ts +300 -0
  143. package/dist/types/multistream/sendSlotManager.d.ts +69 -0
  144. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  145. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  146. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  147. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  148. package/dist/types/reachability/clusterReachability.d.ts +110 -0
  149. package/dist/types/reachability/index.d.ts +120 -0
  150. package/dist/types/reachability/request.d.ts +39 -0
  151. package/dist/types/reachability/util.d.ts +15 -0
  152. package/dist/types/reactions/constants.d.ts +3 -0
  153. package/dist/types/reactions/reactions.d.ts +4 -0
  154. package/dist/types/reactions/reactions.type.d.ts +52 -0
  155. package/dist/types/reconnection-manager/index.d.ts +126 -0
  156. package/dist/types/recording-controller/enums.d.ts +7 -0
  157. package/dist/types/recording-controller/index.d.ts +207 -0
  158. package/dist/types/recording-controller/util.d.ts +14 -0
  159. package/dist/types/roap/index.d.ts +86 -0
  160. package/dist/types/roap/request.d.ts +39 -0
  161. package/dist/types/roap/turnDiscovery.d.ts +155 -0
  162. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  163. package/dist/types/rtcMetrics/index.d.ts +61 -0
  164. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  165. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  166. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  167. package/dist/types/transcription/index.d.ts +64 -0
  168. package/dist/types/webinar/collection.d.ts +16 -0
  169. package/dist/types/webinar/index.d.ts +5 -0
  170. package/dist/webinar/index.js +1 -1
  171. package/package.json +22 -22
  172. package/src/common/errors/reconnection-not-started.ts +25 -0
  173. package/src/constants.ts +14 -5
  174. package/src/index.ts +30 -0
  175. package/src/locus-info/controlsUtils.ts +11 -0
  176. package/src/locus-info/index.ts +16 -0
  177. package/src/media/properties.ts +67 -15
  178. package/src/mediaQualityMetrics/config.ts +13 -7
  179. package/src/meeting/in-meeting-actions.ts +12 -0
  180. package/src/meeting/index.ts +144 -107
  181. package/src/meeting/locusMediaRequest.ts +31 -0
  182. package/src/meeting/util.ts +9 -16
  183. package/src/meeting/voicea-meeting.ts +44 -46
  184. package/src/meeting-info/util.ts +241 -233
  185. package/src/meeting-info/utilv2.ts +250 -244
  186. package/src/meetings/index.ts +15 -27
  187. package/src/reachability/index.ts +60 -0
  188. package/src/reconnection-manager/index.ts +128 -105
  189. package/src/roap/request.ts +1 -24
  190. package/src/statsAnalyzer/index.ts +10 -3
  191. package/src/statsAnalyzer/mqaUtil.ts +23 -0
  192. package/test/unit/spec/locus-info/controlsUtils.js +20 -0
  193. package/test/unit/spec/locus-info/index.js +21 -0
  194. package/test/unit/spec/media/properties.ts +145 -140
  195. package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
  196. package/test/unit/spec/meeting/index.js +271 -105
  197. package/test/unit/spec/meeting/locusMediaRequest.ts +49 -0
  198. package/test/unit/spec/meeting/utils.js +3 -10
  199. package/test/unit/spec/meeting/voicea-meeting.ts +5 -14
  200. package/test/unit/spec/meetings/index.js +59 -17
  201. package/test/unit/spec/reachability/index.ts +266 -0
  202. package/test/unit/spec/reconnection-manager/index.js +127 -39
  203. package/test/unit/spec/roap/request.ts +0 -37
  204. package/test/unit/spec/stats-analyzer/index.js +100 -8
  205. package/src/common/errors/reconnection-in-progress.ts +0 -8
@@ -0,0 +1,17 @@
1
+ import { type MeetingTranscriptPayload } from '@webex/internal-plugin-voicea';
2
+ export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
3
+ export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
4
+ csisKey: any;
5
+ meetingMembers: any;
6
+ transcriptData: any;
7
+ }) => {
8
+ speaker: {
9
+ speakerId: string;
10
+ name: string;
11
+ };
12
+ needsCaching: boolean;
13
+ };
14
+ export declare const processNewCaptions: ({ data, meeting, }: {
15
+ data: MeetingTranscriptPayload;
16
+ meeting: any;
17
+ }) => void;
@@ -0,0 +1,20 @@
1
+ import Collection from '../common/collection';
2
+ /**
3
+ * @class MeetingInfoCollection
4
+ */
5
+ export default class MeetingInfoCollection extends Collection {
6
+ namespace: string;
7
+ /**
8
+ * @memberof MeetingInfoCollection
9
+ * @constructor
10
+ * @public
11
+ */
12
+ constructor();
13
+ /**
14
+ * @param {String} id ID of the meeting info you wish to retreive
15
+ * @returns {MeetingInfo} returns a meeting info instance
16
+ * @public
17
+ * @memberof MeetingInfoCollection
18
+ */
19
+ get(id: string): any;
20
+ }
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /**
5
+ * @class MeetingInfo
6
+ */
7
+ export default class MeetingInfo {
8
+ meetingInfoCollection: any;
9
+ meetingInfoRequest: any;
10
+ webex: any;
11
+ /**
12
+ *
13
+ * @param {WebexSDK} webex
14
+ */
15
+ constructor(webex: any);
16
+ /**
17
+ * @param {string} id
18
+ * @returns {object}
19
+ * @public
20
+ * @memberof MeetingInfo
21
+ */
22
+ getMeetingInfo(id: string): any;
23
+ /**
24
+ * @param {string} id
25
+ * @param {object} info
26
+ * @returns {null}
27
+ * @public
28
+ * @memberof MeetingInfo
29
+ */
30
+ setMeetingInfo(id: string, info: object): void;
31
+ /**
32
+ * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject
33
+ * @param {Object} options
34
+ * @returns {Promise}
35
+ * @private
36
+ * @memberof MeetingInfo
37
+ */
38
+ private requestFetchInfo;
39
+ /**
40
+ * Helper to generate the options for the MeetingInfo request
41
+ * @param {String} destination
42
+ * @param {String} type
43
+ * @returns {Promise}
44
+ * @private
45
+ * @memberof MeetingInfo
46
+ */
47
+ private fetchInfoOptions;
48
+ /**
49
+ * Fetches meeting info from the server
50
+ * @param {String} destination one of many different types of destinations to look up info for
51
+ * @param {String} [type] to match up with the destination value
52
+ * @param {String} [password] meeting password
53
+ * @param {Object} [captchaInfo] captcha code and id
54
+ * @param {String} [installedOrgID]
55
+ * @param {String} [locusId]
56
+ * @param {Object} [extraParams]
57
+ * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
58
+ * @returns {Promise} returns a meeting info object
59
+ * @public
60
+ * @memberof MeetingInfo
61
+ */
62
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
63
+ code: string;
64
+ id: string;
65
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
66
+ meetingId?: string;
67
+ sendCAevents?: boolean;
68
+ }): Promise<any>;
69
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Error to indicate that wbxappapi requires a password
3
+ */
4
+ export declare class MeetingInfoV2PasswordError extends Error {
5
+ meetingInfo: any;
6
+ sdkMessage: any;
7
+ wbxAppApiCode: any;
8
+ body: any;
9
+ /**
10
+ *
11
+ * @constructor
12
+ * @param {Number} [wbxAppApiErrorCode]
13
+ * @param {Object} [meetingInfo]
14
+ * @param {String} [message]
15
+ */
16
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
17
+ }
18
+ /**
19
+ * Error generating a adhoc space meeting
20
+ */
21
+ export declare class MeetingInfoV2AdhocMeetingError extends Error {
22
+ sdkMessage: any;
23
+ wbxAppApiCode: any;
24
+ /**
25
+ *
26
+ * @constructor
27
+ * @param {Number} [wbxAppApiErrorCode]
28
+ * @param {String} [message]
29
+ */
30
+ constructor(wbxAppApiErrorCode?: number, message?: string);
31
+ }
32
+ /**
33
+ * Error preventing join because of a meeting policy
34
+ */
35
+ export declare class MeetingInfoV2PolicyError extends Error {
36
+ meetingInfo: object;
37
+ sdkMessage: string;
38
+ wbxAppApiCode: number;
39
+ /**
40
+ *
41
+ * @constructor
42
+ * @param {Number} [wbxAppApiErrorCode]
43
+ * @param {Object} [meetingInfo]
44
+ * @param {String} [message]
45
+ */
46
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
47
+ }
48
+ /**
49
+ * Error to indicate that preferred webex site not present to start adhoc meeting
50
+ */
51
+ export declare class MeetingInfoV2CaptchaError extends Error {
52
+ captchaInfo: any;
53
+ isPasswordRequired: any;
54
+ sdkMessage: any;
55
+ wbxAppApiCode: any;
56
+ body: any;
57
+ /**
58
+ *
59
+ * @constructor
60
+ * @param {Number} [wbxAppApiErrorCode]
61
+ * @param {Object} [captchaInfo]
62
+ * @param {String} [message]
63
+ */
64
+ constructor(wbxAppApiErrorCode?: number, captchaInfo?: object, message?: string);
65
+ }
66
+ /**
67
+ * @class MeetingInfo
68
+ */
69
+ export default class MeetingInfoV2 {
70
+ webex: any;
71
+ /**
72
+ *
73
+ * @param {WebexSDK} webex
74
+ */
75
+ constructor(webex: any);
76
+ /**
77
+ * converts hydra id into conversation url and persons Id
78
+ * @param {String} destination one of many different types of destinations to look up info for
79
+ * @param {String} [type] to match up with the destination value
80
+ * @returns {Promise} destination and type
81
+ * @public
82
+ * @memberof MeetingInfo
83
+ */
84
+ fetchInfoOptions(destination: string, type?: string): Promise<any>;
85
+ /**
86
+ * Raises a MeetingInfoV2PolicyError for policy error codes
87
+ * @param {any} err the error from the request
88
+ * @returns {void}
89
+ */
90
+ handlePolicyError: (err: any) => void;
91
+ /**
92
+ * Creates adhoc space meetings for a space by fetching the conversation infomation
93
+ * @param {String} conversationUrl conversationUrl to start adhoc meeting on
94
+ * @param {String} installedOrgID org ID of user's machine
95
+ * @returns {Promise} returns a meeting info object
96
+ * @public
97
+ * @memberof MeetingInfo
98
+ */
99
+ createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
100
+ /**
101
+ * Fetches meeting info from the server
102
+ * @param {String} destination one of many different types of destinations to look up info for
103
+ * @param {String} [type] to match up with the destination value
104
+ * @param {String} password
105
+ * @param {Object} captchaInfo
106
+ * @param {String} captchaInfo.code
107
+ * @param {String} captchaInfo.id
108
+ * @param {String} installedOrgID org ID of user's machine
109
+ * @param {String} locusId
110
+ * @param {Object} extraParams
111
+ * @param {Object} options
112
+ * @returns {Promise} returns a meeting info object
113
+ * @public
114
+ * @memberof MeetingInfo
115
+ */
116
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
117
+ code: string;
118
+ id: string;
119
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
120
+ meetingId?: string;
121
+ sendCAevents?: boolean;
122
+ }): Promise<any>;
123
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @class MeetingInfoRequest
3
+ */
4
+ export default class MeetingInfoRequest {
5
+ webex: any;
6
+ /**
7
+ * Meeting Info Request Constructor
8
+ * @param {WebexSDK} webex
9
+ */
10
+ constructor(webex: any);
11
+ /**
12
+ *
13
+ * @param {Object} options with format of {type: String, desintation: String}
14
+ * where type is PERSONAL_ROOM, SIP_URI, CONVERSATION_URL, and destination is userId, sipUri, conversationUrl respectively
15
+ * type can also be specified as an option and be of the list SIP_URI,MEETING_ID,LOCUS_ID,PERSONAL_ROOM,MEETING_LINK,ONE_ON_ONE,MEDIA_SIP_URI,CONVERSATION_URL,TEMP_SIP_URI
16
+ * with the desination matching
17
+ * @returns {Promise} returns a promise that resolves/rejects the result of the request
18
+ * @throws {Error} if the options are not valid and complete
19
+ * @memberof MeetingInfoRequest
20
+ */
21
+ fetchMeetingInfo(options: any): any;
22
+ }
@@ -0,0 +1,49 @@
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static extractDestination(destination: any, type: any): any;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static convertLinkToSip(value: any): string;
17
+ static isSipUri(sipString: any): RegExpExecArray;
18
+ static isPhoneNumber(phoneNumber: any): boolean;
19
+ static getHydraId(destination: any): {
20
+ room: boolean;
21
+ destination: any;
22
+ cluster: any;
23
+ people?: undefined;
24
+ } | {
25
+ people: boolean;
26
+ destination: any;
27
+ cluster: any;
28
+ room?: undefined;
29
+ } | {
30
+ room?: undefined;
31
+ destination?: undefined;
32
+ cluster?: undefined;
33
+ people?: undefined;
34
+ };
35
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
36
+ static generateOptions(from: any): Promise<any>;
37
+ /**
38
+ * Helper function to build up a correct locus url depending on the value passed
39
+ * @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {Object} value ?? value.value
41
+ * @returns {Object} returns an object with {resource, method}
42
+ */
43
+ static getResourceUrl(type: string, value: any): {
44
+ uri: any;
45
+ resource: string;
46
+ method: string;
47
+ };
48
+ static getRequestParams(resourceOptions: any, type: any, value: any, api: any): any;
49
+ }
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static meetingInfoError: string;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static isSipUri(sipString: any): RegExpExecArray;
17
+ static isPhoneNumber(phoneNumber: any): boolean;
18
+ static getHydraId(destination: any): {
19
+ room: boolean;
20
+ destination: any;
21
+ cluster: any;
22
+ people?: undefined;
23
+ } | {
24
+ people: boolean;
25
+ destination: any;
26
+ cluster: any;
27
+ room?: undefined;
28
+ } | {
29
+ room?: undefined;
30
+ destination?: undefined;
31
+ cluster?: undefined;
32
+ people?: undefined;
33
+ };
34
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
35
+ static getDestinationType(from: any): Promise<any>;
36
+ /**
37
+ * Helper function to build up a correct locus url depending on the value passed
38
+ * @param {Object} options type and value to fetch meeting info
39
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {String} options.installedOrgID org ID of user's machine
41
+ * @param {Object} options.destination ?? value.value
42
+ * @returns {Object} returns an object with {resource, method}
43
+ */
44
+ static getRequestBody(options: {
45
+ type: string;
46
+ destination: object;
47
+ } | any): any;
48
+ /**
49
+ * Helper function to parse the webex site/host from a URI string.
50
+ * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')
51
+ * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')
52
+ */
53
+ static getWebexSite(uri: string): string;
54
+ /**
55
+ * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).
56
+ * @param {Object} options type and value to fetch meeting info
57
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
58
+ * @param {Object} options.destination ?? value.value
59
+ * @returns {String} returns a URI string or null of there is no direct URI
60
+ */
61
+ static getDirectMeetingInfoURI(options: {
62
+ type: string;
63
+ destination: any;
64
+ }): string;
65
+ }
@@ -0,0 +1,40 @@
1
+ import Collection from '../common/collection';
2
+ /**
3
+ * @export
4
+ * @class MeetingCollection
5
+ */
6
+ export default class MeetingCollection extends Collection {
7
+ /**
8
+ * @constructor
9
+ * @public
10
+ * @memberof MeetingCollection
11
+ */
12
+ constructor();
13
+ set(meeting: any): any;
14
+ /**
15
+ * get a specific meeting searching for key
16
+ * @param {String} key
17
+ * @param {Any} value
18
+ * @returns {Meeting} if found, else returns null
19
+ * @public
20
+ * @memberof MeetingCollection
21
+ */
22
+ getByKey(key: string, value: any): any;
23
+ /**
24
+ * get a specific meeting searching for key
25
+ * @param {String} breakoutUrl
26
+ * @returns {Meeting} if found, else returns null
27
+ * @public
28
+ * @memberof MeetingCollection
29
+ */
30
+ getActiveBreakoutLocus(breakoutUrl: string): any;
31
+ /**
32
+ * Gets the meeting that has a webrtc media connection
33
+ * NOTE: this function assumes there is no more than 1 such meeting
34
+ *
35
+ * @returns {Meeting} first meeting found, else undefined
36
+ * @public
37
+ * @memberof MeetingCollection
38
+ */
39
+ getActiveWebrtcMeeting(): any;
40
+ }