@webex/internal-plugin-board 3.0.0-beta.8 → 3.0.0-bnr.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 +1 -3
- package/dist/board.js +28 -108
- package/dist/board.js.map +1 -1
- package/dist/config.js +0 -8
- package/dist/config.js.map +1 -1
- package/dist/index.js +7 -28
- package/dist/index.js.map +1 -1
- package/dist/realtime-channel-collection.js +2 -8
- package/dist/realtime-channel-collection.js.map +1 -1
- package/dist/realtime-channel.js +1 -5
- package/dist/realtime-channel.js.map +1 -1
- package/dist/realtime.js +38 -82
- package/dist/realtime.js.map +1 -1
- package/dist/types/board.d.ts +2 -0
- package/dist/types/config.d.ts +11 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/realtime-channel-collection.d.ts +2 -0
- package/dist/types/realtime-channel.d.ts +2 -0
- package/dist/types/realtime.d.ts +7 -0
- package/package.json +14 -14
- package/src/board.js +257 -205
- package/src/config.js +2 -2
- package/src/index.js +19 -21
- package/src/realtime-channel-collection.js +2 -2
- package/src/realtime-channel.js +8 -9
- package/src/realtime.js +109 -93
- package/test/integration/spec/board.js +347 -221
- package/test/integration/spec/realtime.js +82 -56
- package/test/integration/spec/sharing-mercury.js +154 -73
- package/test/unit/spec/board.js +301 -215
- package/test/unit/spec/encryption.js +152 -120
- package/test/unit/spec/realtime.js +131 -89
package/README.md
CHANGED
|
@@ -21,14 +21,12 @@ npm install --save @webex/internal-plugin-board
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```js
|
|
24
|
-
|
|
25
24
|
import '@webex/internal-plugin-board';
|
|
26
25
|
|
|
27
26
|
import WebexCore from '@webex/webex-core';
|
|
28
27
|
|
|
29
28
|
const webex = new WebexCore();
|
|
30
|
-
webex.internal.board.WHATEVER
|
|
31
|
-
|
|
29
|
+
webex.internal.board.WHATEVER;
|
|
32
30
|
```
|
|
33
31
|
|
|
34
32
|
## Maintainers
|
package/dist/board.js
CHANGED
|
@@ -1,50 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
3
8
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
9
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
10
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
11
|
value: true
|
|
9
12
|
});
|
|
10
|
-
|
|
11
13
|
exports.default = void 0;
|
|
12
|
-
|
|
13
|
-
var _assign2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
|
|
14
|
-
|
|
15
14
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
16
|
-
|
|
17
15
|
var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
|
|
18
|
-
|
|
19
16
|
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
|
|
20
|
-
|
|
21
17
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
22
|
-
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
23
19
|
var _pick2 = _interopRequireDefault(require("lodash/pick"));
|
|
24
|
-
|
|
25
20
|
var _chunk2 = _interopRequireDefault(require("lodash/chunk"));
|
|
26
|
-
|
|
27
21
|
var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
|
|
28
|
-
|
|
29
|
-
var _assign3 = _interopRequireDefault(require("lodash/assign"));
|
|
30
|
-
|
|
22
|
+
var _assign2 = _interopRequireDefault(require("lodash/assign"));
|
|
31
23
|
var _querystring = _interopRequireDefault(require("querystring"));
|
|
32
|
-
|
|
33
24
|
var _webexCore = require("@webex/webex-core");
|
|
34
|
-
|
|
35
25
|
var _es6PromiseSeries = _interopRequireDefault(require("es6-promise-series"));
|
|
36
|
-
|
|
37
26
|
var _realtime = _interopRequireDefault(require("./realtime"));
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
* Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
|
|
41
|
-
*/
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
42
29
|
var Board = _webexCore.WebexPlugin.extend({
|
|
43
30
|
namespace: 'Board',
|
|
44
31
|
children: {
|
|
45
32
|
realtime: _realtime.default
|
|
46
33
|
},
|
|
47
|
-
|
|
48
34
|
/**
|
|
49
35
|
* Adds Content to a Channel
|
|
50
36
|
* If contents length is greater than config.board.numberContentsPerPageForAdd, this method
|
|
@@ -57,16 +43,15 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
57
43
|
*/
|
|
58
44
|
addContent: function addContent(channel, contents) {
|
|
59
45
|
var _this = this;
|
|
60
|
-
|
|
61
46
|
var chunks = [];
|
|
62
|
-
chunks = (0, _chunk2.default)(contents, this.config.numberContentsPerPageForAdd);
|
|
63
|
-
// chunk or else we'll have race conditions among patches
|
|
47
|
+
chunks = (0, _chunk2.default)(contents, this.config.numberContentsPerPageForAdd);
|
|
64
48
|
|
|
49
|
+
// we want the first promise to resolve before continuing with the next
|
|
50
|
+
// chunk or else we'll have race conditions among patches
|
|
65
51
|
return (0, _es6PromiseSeries.default)(chunks.map(function (part) {
|
|
66
52
|
return _this._addContentChunk.bind(_this, channel, part);
|
|
67
53
|
}));
|
|
68
54
|
},
|
|
69
|
-
|
|
70
55
|
/**
|
|
71
56
|
* Adds Image to a Channel
|
|
72
57
|
* Uploads image to webex files and adds SCR + downloadUrl to the persistence
|
|
@@ -79,7 +64,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
79
64
|
*/
|
|
80
65
|
addImage: function addImage(channel, image, metadata) {
|
|
81
66
|
var _this2 = this;
|
|
82
|
-
|
|
83
67
|
return this.webex.internal.board._uploadImage(channel, image).then(function (scr) {
|
|
84
68
|
return _this2.webex.internal.board.addContent(channel, [{
|
|
85
69
|
type: 'FILE',
|
|
@@ -93,7 +77,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
93
77
|
}]);
|
|
94
78
|
});
|
|
95
79
|
},
|
|
96
|
-
|
|
97
80
|
/**
|
|
98
81
|
* Set a snapshot image for a board
|
|
99
82
|
*
|
|
@@ -103,7 +86,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
103
86
|
*/
|
|
104
87
|
setSnapshotImage: function setSnapshotImage(channel, image) {
|
|
105
88
|
var _this3 = this;
|
|
106
|
-
|
|
107
89
|
var imageScr;
|
|
108
90
|
return this.webex.internal.board._uploadImage(channel, image, {
|
|
109
91
|
hiddenSpace: true
|
|
@@ -134,7 +116,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
134
116
|
return res.body;
|
|
135
117
|
});
|
|
136
118
|
},
|
|
137
|
-
|
|
138
119
|
/**
|
|
139
120
|
* Creates a Channel
|
|
140
121
|
* @memberof Board.BoardService
|
|
@@ -153,7 +134,7 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
153
134
|
});
|
|
154
135
|
},
|
|
155
136
|
_prepareChannel: function _prepareChannel(conversation, channel) {
|
|
156
|
-
return (
|
|
137
|
+
return _objectSpread({
|
|
157
138
|
aclUrlLink: conversation.aclUrl,
|
|
158
139
|
kmsMessage: {
|
|
159
140
|
method: 'create',
|
|
@@ -163,7 +144,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
163
144
|
}
|
|
164
145
|
}, channel);
|
|
165
146
|
},
|
|
166
|
-
|
|
167
147
|
/**
|
|
168
148
|
* Deletes a Channel from a Conversation
|
|
169
149
|
* @memberof Board.BoardService
|
|
@@ -175,7 +155,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
175
155
|
*/
|
|
176
156
|
deleteChannel: function deleteChannel(conversation, channel) {
|
|
177
157
|
var _this4 = this;
|
|
178
|
-
|
|
179
158
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
180
159
|
// remove the ACL link between conversation and board
|
|
181
160
|
// remove conversation auth from board KRO in kms message
|
|
@@ -190,13 +169,10 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
190
169
|
},
|
|
191
170
|
aclLinkOperation: 'DELETE'
|
|
192
171
|
};
|
|
193
|
-
|
|
194
172
|
var promise = _promise.default.resolve();
|
|
195
|
-
|
|
196
173
|
if (options.preventDeleteActiveChannel) {
|
|
197
174
|
promise = this.lockChannelForDeletion(channel);
|
|
198
175
|
}
|
|
199
|
-
|
|
200
176
|
return promise.then(function () {
|
|
201
177
|
return _this4.webex.request({
|
|
202
178
|
method: 'PUT',
|
|
@@ -207,7 +183,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
207
183
|
return res.body;
|
|
208
184
|
});
|
|
209
185
|
},
|
|
210
|
-
|
|
211
186
|
/**
|
|
212
187
|
* Locks and marks a channel for deletion
|
|
213
188
|
* If a channel is being used, it will return 409 - Conflict
|
|
@@ -226,7 +201,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
226
201
|
return res.body;
|
|
227
202
|
});
|
|
228
203
|
},
|
|
229
|
-
|
|
230
204
|
/**
|
|
231
205
|
* Keeps a channel as 'active' to prevent other people from deleting it
|
|
232
206
|
* @param {Board~Channel} channel
|
|
@@ -238,7 +212,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
238
212
|
uri: "".concat(channel.channelUrl, "/keepAlive")
|
|
239
213
|
});
|
|
240
214
|
},
|
|
241
|
-
|
|
242
215
|
/**
|
|
243
216
|
* Decrypts a collection of content objects
|
|
244
217
|
*
|
|
@@ -248,16 +221,13 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
248
221
|
*/
|
|
249
222
|
decryptContents: function decryptContents(contents) {
|
|
250
223
|
var _this5 = this;
|
|
251
|
-
|
|
252
224
|
return _promise.default.all(contents.items.map(function (content) {
|
|
253
225
|
var decryptPromise;
|
|
254
|
-
|
|
255
226
|
if (content.type === 'FILE') {
|
|
256
227
|
decryptPromise = _this5.decryptSingleFileContent(content.encryptionKeyUrl, content);
|
|
257
228
|
} else {
|
|
258
229
|
decryptPromise = _this5.decryptSingleContent(content.encryptionKeyUrl, content.payload);
|
|
259
230
|
}
|
|
260
|
-
|
|
261
231
|
return decryptPromise.then(function (res) {
|
|
262
232
|
(0, _deleteProperty.default)(content, 'payload');
|
|
263
233
|
(0, _deleteProperty.default)(content, 'encryptionKeyUrl');
|
|
@@ -265,7 +235,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
265
235
|
});
|
|
266
236
|
}));
|
|
267
237
|
},
|
|
268
|
-
|
|
269
238
|
/**
|
|
270
239
|
* Decryts a single STRING content object
|
|
271
240
|
* @memberof Board.BoardService
|
|
@@ -278,7 +247,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
278
247
|
return JSON.parse(res);
|
|
279
248
|
});
|
|
280
249
|
},
|
|
281
|
-
|
|
282
250
|
/**
|
|
283
251
|
* Decryts a single FILE content object
|
|
284
252
|
* @memberof Board.BoardService
|
|
@@ -288,36 +256,28 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
288
256
|
*/
|
|
289
257
|
decryptSingleFileContent: function decryptSingleFileContent(encryptionKeyUrl, encryptedContent) {
|
|
290
258
|
var _this6 = this;
|
|
291
|
-
|
|
292
259
|
var metadata;
|
|
293
|
-
|
|
294
260
|
if (encryptedContent.payload) {
|
|
295
261
|
metadata = encryptedContent.payload;
|
|
296
262
|
}
|
|
297
|
-
|
|
298
263
|
return this.webex.internal.encryption.decryptScr(encryptionKeyUrl, encryptedContent.file.scr).then(function (scr) {
|
|
299
264
|
encryptedContent.file.scr = scr;
|
|
300
|
-
|
|
301
265
|
if (metadata) {
|
|
302
266
|
return _this6.webex.internal.encryption.decryptText(encryptionKeyUrl, metadata);
|
|
303
267
|
}
|
|
304
|
-
|
|
305
268
|
return '';
|
|
306
269
|
}).then(function (decryptedMetadata) {
|
|
307
270
|
try {
|
|
308
271
|
encryptedContent.metadata = JSON.parse(decryptedMetadata);
|
|
309
|
-
|
|
310
272
|
if (encryptedContent.metadata.displayName) {
|
|
311
273
|
encryptedContent.displayName = encryptedContent.metadata.displayName;
|
|
312
274
|
}
|
|
313
275
|
} catch (error) {
|
|
314
276
|
encryptedContent.metadata = {};
|
|
315
277
|
}
|
|
316
|
-
|
|
317
278
|
return encryptedContent;
|
|
318
279
|
});
|
|
319
280
|
},
|
|
320
|
-
|
|
321
281
|
/**
|
|
322
282
|
* Deletes all Content from a Channel
|
|
323
283
|
* @memberof Board.BoardService
|
|
@@ -332,9 +292,10 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
332
292
|
return res.body;
|
|
333
293
|
});
|
|
334
294
|
},
|
|
335
|
-
|
|
336
295
|
/**
|
|
337
296
|
* Deletes Contents from a Channel except the ones listed in contentsToKeep
|
|
297
|
+
*
|
|
298
|
+
* THIS API HAS CHANGED!!! SEE SPARK-412694. NEEDS UPDATING.
|
|
338
299
|
* @memberof Board.BoardService
|
|
339
300
|
* @param {Board~Channel} channel
|
|
340
301
|
* @param {Array<Board~Content>} contentsToKeep Array of board objects (curves, text, and images) with valid contentId (received from server)
|
|
@@ -355,7 +316,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
355
316
|
return res.body;
|
|
356
317
|
});
|
|
357
318
|
},
|
|
358
|
-
|
|
359
319
|
/**
|
|
360
320
|
* Encrypts a collection of content
|
|
361
321
|
* @memberof Board.BoardService
|
|
@@ -365,20 +325,19 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
365
325
|
*/
|
|
366
326
|
encryptContents: function encryptContents(encryptionKeyUrl, contents) {
|
|
367
327
|
var _this7 = this;
|
|
368
|
-
|
|
369
328
|
return _promise.default.all(contents.map(function (content) {
|
|
370
329
|
var encryptionPromise;
|
|
371
|
-
var contentType = 'STRING';
|
|
330
|
+
var contentType = 'STRING';
|
|
372
331
|
|
|
332
|
+
// the existence of an scr will determine if the content is a FILE.
|
|
373
333
|
if (content.file) {
|
|
374
334
|
contentType = 'FILE';
|
|
375
335
|
encryptionPromise = _this7.encryptSingleFileContent(encryptionKeyUrl, content);
|
|
376
336
|
} else {
|
|
377
337
|
encryptionPromise = _this7.encryptSingleContent(encryptionKeyUrl, content);
|
|
378
338
|
}
|
|
379
|
-
|
|
380
339
|
return encryptionPromise.then(function (res) {
|
|
381
|
-
return (0,
|
|
340
|
+
return (0, _assign2.default)({
|
|
382
341
|
device: _this7.webex.internal.device.deviceType,
|
|
383
342
|
type: contentType,
|
|
384
343
|
encryptionKeyUrl: encryptionKeyUrl
|
|
@@ -386,7 +345,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
386
345
|
});
|
|
387
346
|
}));
|
|
388
347
|
},
|
|
389
|
-
|
|
390
348
|
/**
|
|
391
349
|
* Encrypts a single STRING content object
|
|
392
350
|
* @memberof Board.BoardService
|
|
@@ -402,7 +360,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
402
360
|
};
|
|
403
361
|
});
|
|
404
362
|
},
|
|
405
|
-
|
|
406
363
|
/**
|
|
407
364
|
* Encrypts a single FILE content object
|
|
408
365
|
* @memberof Board.BoardService
|
|
@@ -412,22 +369,18 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
412
369
|
*/
|
|
413
370
|
encryptSingleFileContent: function encryptSingleFileContent(encryptionKeyUrl, content) {
|
|
414
371
|
var _this8 = this;
|
|
415
|
-
|
|
416
372
|
return this.webex.internal.encryption.encryptScr(encryptionKeyUrl, content.file.scr).then(function (encryptedScr) {
|
|
417
373
|
content.file.scr = encryptedScr;
|
|
418
|
-
|
|
419
374
|
if (content.displayName) {
|
|
420
|
-
content.metadata = (0,
|
|
375
|
+
content.metadata = (0, _assign2.default)(content.metadata, {
|
|
421
376
|
displayName: content.displayName
|
|
422
377
|
});
|
|
423
378
|
}
|
|
424
|
-
|
|
425
379
|
if (content.metadata) {
|
|
426
380
|
return _this8.webex.internal.encryption.encryptText(encryptionKeyUrl, (0, _stringify.default)(content.metadata)).then(function (encryptedMetadata) {
|
|
427
381
|
content.metadata = encryptedMetadata;
|
|
428
382
|
});
|
|
429
383
|
}
|
|
430
|
-
|
|
431
384
|
return content;
|
|
432
385
|
}).then(function () {
|
|
433
386
|
return {
|
|
@@ -437,7 +390,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
437
390
|
};
|
|
438
391
|
});
|
|
439
392
|
},
|
|
440
|
-
|
|
441
393
|
/**
|
|
442
394
|
* Retrieves contents from a specified channel
|
|
443
395
|
* @memberof Board.BoardService
|
|
@@ -448,7 +400,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
448
400
|
*/
|
|
449
401
|
getContents: function getContents(channel, options) {
|
|
450
402
|
var _this9 = this;
|
|
451
|
-
|
|
452
403
|
options = options || {};
|
|
453
404
|
var params = {
|
|
454
405
|
uri: "".concat(channel.channelUrl, "/contents"),
|
|
@@ -456,12 +407,11 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
456
407
|
contentsLimit: this.config.numberContentsPerPageForGet
|
|
457
408
|
}
|
|
458
409
|
};
|
|
459
|
-
(0,
|
|
410
|
+
(0, _assign2.default)(params.qs, (0, _pick2.default)(options, 'contentsLimit'));
|
|
460
411
|
return this.request(params).then(function (res) {
|
|
461
412
|
return new _webexCore.Page(res, _this9.webex);
|
|
462
413
|
});
|
|
463
414
|
},
|
|
464
|
-
|
|
465
415
|
/**
|
|
466
416
|
* Gets a Channel
|
|
467
417
|
* @memberof Board.BoardService
|
|
@@ -476,7 +426,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
476
426
|
return res.body;
|
|
477
427
|
});
|
|
478
428
|
},
|
|
479
|
-
|
|
480
429
|
/**
|
|
481
430
|
* Gets Channels
|
|
482
431
|
* @memberof Board.BoardService
|
|
@@ -488,13 +437,10 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
488
437
|
*/
|
|
489
438
|
getChannels: function getChannels(conversation, options) {
|
|
490
439
|
var _this10 = this;
|
|
491
|
-
|
|
492
440
|
options = options || {};
|
|
493
|
-
|
|
494
441
|
if (!conversation) {
|
|
495
442
|
return _promise.default.reject(new Error('`conversation` is required'));
|
|
496
443
|
}
|
|
497
|
-
|
|
498
444
|
var params = {
|
|
499
445
|
api: 'board',
|
|
500
446
|
resource: '/channels',
|
|
@@ -502,12 +448,11 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
502
448
|
aclUrlLink: conversation.aclUrl
|
|
503
449
|
}
|
|
504
450
|
};
|
|
505
|
-
(0,
|
|
451
|
+
(0, _assign2.default)(params.qs, (0, _pick2.default)(options, 'channelsLimit', 'type'));
|
|
506
452
|
return this.request(params).then(function (res) {
|
|
507
453
|
return new _webexCore.Page(res, _this10.webex);
|
|
508
454
|
});
|
|
509
455
|
},
|
|
510
|
-
|
|
511
456
|
/**
|
|
512
457
|
* Pings persistence
|
|
513
458
|
* @memberof Board.BoardService
|
|
@@ -524,20 +469,17 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
524
469
|
},
|
|
525
470
|
processActivityEvent: function processActivityEvent(message) {
|
|
526
471
|
var decryptionPromise;
|
|
527
|
-
|
|
528
472
|
if (message.contentType === 'FILE') {
|
|
529
473
|
decryptionPromise = this.decryptSingleFileContent(message.envelope.encryptionKeyUrl, message.payload);
|
|
530
474
|
} else {
|
|
531
475
|
decryptionPromise = this.decryptSingleContent(message.envelope.encryptionKeyUrl, message.payload);
|
|
532
476
|
}
|
|
533
|
-
|
|
534
477
|
return decryptionPromise.then(function (decryptedData) {
|
|
535
478
|
// call the event handlers
|
|
536
479
|
message.payload = decryptedData;
|
|
537
480
|
return message;
|
|
538
481
|
});
|
|
539
482
|
},
|
|
540
|
-
|
|
541
483
|
/**
|
|
542
484
|
* Registers with Mercury
|
|
543
485
|
* @memberof Board.BoardService
|
|
@@ -554,7 +496,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
554
496
|
return res.body;
|
|
555
497
|
});
|
|
556
498
|
},
|
|
557
|
-
|
|
558
499
|
/**
|
|
559
500
|
* Registers with Mercury for sharing web socket
|
|
560
501
|
* @memberof Board.BoardService
|
|
@@ -563,16 +504,13 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
563
504
|
*/
|
|
564
505
|
registerToShareMercury: function registerToShareMercury(channel) {
|
|
565
506
|
var _this11 = this;
|
|
566
|
-
|
|
567
507
|
return this.webex.internal.feature.getFeature('developer', 'web-shared-mercury').then(function (isSharingMercuryFeatureEnabled) {
|
|
568
508
|
if (!_this11.webex.internal.mercury.localClusterServiceUrls) {
|
|
569
509
|
return _promise.default.reject(new Error('`localClusterServiceUrls` is not defined, make sure mercury is connected'));
|
|
570
510
|
}
|
|
571
|
-
|
|
572
511
|
if (!isSharingMercuryFeatureEnabled) {
|
|
573
512
|
return _promise.default.reject(new Error('`web-shared-mercury` is not enabled'));
|
|
574
513
|
}
|
|
575
|
-
|
|
576
514
|
var webSocketUrl = _this11.webex.internal.device.webSocketUrl;
|
|
577
515
|
var mercuryConnectionServiceClusterUrl = _this11.webex.internal.mercury.localClusterServiceUrls.mercuryConnectionServiceClusterUrl;
|
|
578
516
|
var data = {
|
|
@@ -589,7 +527,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
589
527
|
return res.body;
|
|
590
528
|
});
|
|
591
529
|
},
|
|
592
|
-
|
|
593
530
|
/**
|
|
594
531
|
* Remove board binding from existing mercury connection
|
|
595
532
|
* @memberof Board.BoardService
|
|
@@ -614,7 +551,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
614
551
|
},
|
|
615
552
|
_addContentChunk: function _addContentChunk(channel, contentChunk) {
|
|
616
553
|
var _this12 = this;
|
|
617
|
-
|
|
618
554
|
return this.webex.internal.board.encryptContents(channel.defaultEncryptionKeyUrl, contentChunk).then(function (res) {
|
|
619
555
|
return _this12.webex.request({
|
|
620
556
|
method: 'POST',
|
|
@@ -625,7 +561,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
625
561
|
return res.body;
|
|
626
562
|
});
|
|
627
563
|
},
|
|
628
|
-
|
|
629
564
|
/**
|
|
630
565
|
* Encrypts and uploads image to WebexFiles
|
|
631
566
|
* @memberof Board.BoardService
|
|
@@ -638,29 +573,25 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
638
573
|
*/
|
|
639
574
|
_uploadImage: function _uploadImage(channel, file, options) {
|
|
640
575
|
var _this13 = this;
|
|
641
|
-
|
|
642
576
|
options = options || {};
|
|
643
577
|
return this.webex.internal.encryption.encryptBinary(file).then(function (_ref) {
|
|
644
578
|
var scr = _ref.scr,
|
|
645
|
-
|
|
579
|
+
cdata = _ref.cdata;
|
|
646
580
|
return _promise.default.all([scr, _this13._uploadImageToWebexFiles(channel, cdata, options.hiddenSpace)]);
|
|
647
581
|
}).then(function (_ref2) {
|
|
648
582
|
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
return (0, _assign3.default)(scr, {
|
|
583
|
+
scr = _ref3[0],
|
|
584
|
+
res = _ref3[1];
|
|
585
|
+
return (0, _assign2.default)(scr, {
|
|
653
586
|
loc: res.downloadUrl
|
|
654
587
|
});
|
|
655
588
|
});
|
|
656
589
|
},
|
|
657
590
|
_getSpaceUrl: function _getSpaceUrl(channel, hiddenSpace) {
|
|
658
591
|
var requestUri = "".concat(channel.channelUrl, "/spaces/open");
|
|
659
|
-
|
|
660
592
|
if (hiddenSpace) {
|
|
661
593
|
requestUri = "".concat(channel.channelUrl, "/spaces/hidden");
|
|
662
594
|
}
|
|
663
|
-
|
|
664
595
|
return this.webex.request({
|
|
665
596
|
method: 'PUT',
|
|
666
597
|
uri: requestUri
|
|
@@ -670,7 +601,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
670
601
|
},
|
|
671
602
|
_uploadImageToWebexFiles: function _uploadImageToWebexFiles(channel, file, hiddenSpace) {
|
|
672
603
|
var _this14 = this;
|
|
673
|
-
|
|
674
604
|
var fileSize = file.length || file.size || file.byteLength;
|
|
675
605
|
return this._getSpaceUrl(channel, hiddenSpace).then(function (spaceUrl) {
|
|
676
606
|
return _this14.webex.upload({
|
|
@@ -700,7 +630,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
700
630
|
});
|
|
701
631
|
});
|
|
702
632
|
},
|
|
703
|
-
|
|
704
633
|
/** Authorize transcoder (for sharing whiteboard to mobile)
|
|
705
634
|
*
|
|
706
635
|
* @param {Board~Channel} board
|
|
@@ -709,11 +638,9 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
709
638
|
*/
|
|
710
639
|
authorizeMediaInjector: function authorizeMediaInjector(board) {
|
|
711
640
|
var _this15 = this;
|
|
712
|
-
|
|
713
641
|
if (!board) {
|
|
714
642
|
_promise.default.reject(new Error('#authorizeMediaInjector --> cannot authorize transcoder without board'));
|
|
715
643
|
}
|
|
716
|
-
|
|
717
644
|
return this.webex.internal.encryption.kms.prepareRequest({
|
|
718
645
|
method: 'create',
|
|
719
646
|
uri: '/authorizations',
|
|
@@ -733,7 +660,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
733
660
|
if ((decryptedKmsMessage === null || decryptedKmsMessage === void 0 ? void 0 : decryptedKmsMessage.authorizations.length) > 0) {
|
|
734
661
|
return decryptedKmsMessage.authorizations[0].bearer;
|
|
735
662
|
}
|
|
736
|
-
|
|
737
663
|
return undefined;
|
|
738
664
|
}).catch(function (err) {
|
|
739
665
|
return (
|
|
@@ -744,7 +670,6 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
744
670
|
);
|
|
745
671
|
});
|
|
746
672
|
},
|
|
747
|
-
|
|
748
673
|
/** Unauthorize transcoder (for stopping whiteboard share to mobile)
|
|
749
674
|
*
|
|
750
675
|
* @param {Board~Channel} board
|
|
@@ -753,11 +678,9 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
753
678
|
*/
|
|
754
679
|
unauthorizeMediaInjector: function unauthorizeMediaInjector(board) {
|
|
755
680
|
var _this16 = this;
|
|
756
|
-
|
|
757
681
|
if (!board) {
|
|
758
682
|
_promise.default.reject(new Error('#unauthorizeMediaInjector --> cannot unauthorize transcoder without board'));
|
|
759
683
|
}
|
|
760
|
-
|
|
761
684
|
return this.webex.internal.encryption.kms.listAuthorizations({
|
|
762
685
|
kroUri: board.kmsResourceUrl
|
|
763
686
|
}).then(function (authorizations) {
|
|
@@ -774,25 +697,22 @@ var Board = _webexCore.WebexPlugin.extend({
|
|
|
774
697
|
}).catch(function (err) {
|
|
775
698
|
return (
|
|
776
699
|
/* We don't want this to error out, otherwise the
|
|
777
|
-
|
|
778
|
-
|
|
700
|
+
* Promise.all will not process the rest of the request
|
|
701
|
+
*/
|
|
779
702
|
_promise.default.resolve(err)
|
|
780
703
|
);
|
|
781
704
|
});
|
|
782
705
|
});
|
|
783
|
-
|
|
784
706
|
if (promises.length > 0) {
|
|
785
707
|
return _promise.default.all(promises).then(function (responses) {
|
|
786
708
|
return responses;
|
|
787
709
|
});
|
|
788
710
|
}
|
|
789
|
-
|
|
790
711
|
return _promise.default.resolve([]);
|
|
791
712
|
});
|
|
792
713
|
},
|
|
793
|
-
version: "3.0.0-
|
|
714
|
+
version: "3.0.0-bnr.0"
|
|
794
715
|
});
|
|
795
|
-
|
|
796
716
|
var _default = Board;
|
|
797
717
|
exports.default = _default;
|
|
798
718
|
//# sourceMappingURL=board.js.map
|