Browse Source

fix(invite): IFrame api when invalid invitees are passed.

j8
hristoterezov 6 years ago
parent
commit
bd8559fad6
2 changed files with 19 additions and 3 deletions
  1. 12
    2
      modules/API/API.js
  2. 7
    1
      modules/API/external/external_api.js

+ 12
- 2
modules/API/API.js View File

@@ -112,11 +112,21 @@ function initCommands() {
112 112
         const { name } = request;
113 113
 
114 114
         switch (name) {
115
-        case 'invite':
115
+        case 'invite': // eslint-disable-line no-case-declarations
116
+            const { invitees } = request;
117
+
118
+            if (!Array.isArray(invitees) || invitees.length === 0) {
119
+                callback({
120
+                    error: new Error('Unexpected format of invitees')
121
+                });
122
+
123
+                break;
124
+            }
125
+
116 126
             // The store should be already available because API.init is called
117 127
             // on appWillMount action.
118 128
             APP.store.dispatch(
119
-                invite(request.invitees, true))
129
+                invite(invitees, true))
120 130
                 .then(failedInvitees => {
121 131
                     let error;
122 132
                     let result;

+ 7
- 1
modules/API/external/external_api.js View File

@@ -238,7 +238,9 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
238 238
                 }
239 239
             })
240 240
         });
241
-        this.invite(invitees);
241
+        if (Array.isArray(invitees) && invitees.length > 0) {
242
+            this.invite(invitees);
243
+        }
242 244
         this._isLargeVideoVisible = true;
243 245
         this._numberOfParticipants = 0;
244 246
         this._participants = {};
@@ -597,6 +599,10 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
597 599
      * @returns {Promise} - Resolves on success and rejects on failure.
598 600
      */
599 601
     invite(invitees) {
602
+        if (!Array.isArray(invitees) || invitees.length === 0) {
603
+            return Promise.reject(new TypeError('Invalid Argument'));
604
+        }
605
+
600 606
         return this._transport.sendRequest({
601 607
             name: 'invite',
602 608
             invitees

Loading…
Cancel
Save