@webex/plugin-rooms 3.10.0-next.1 → 3.10.0-next.10
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/dist/index.js.map +1 -1
- package/dist/rooms.js +24 -24
- package/dist/rooms.js.map +1 -1
- package/package.json +11 -11
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_webexCore","_rooms","_interopRequireDefault","registerPlugin","Rooms","_default","exports","default"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-mercury';\n\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Rooms from './rooms';\n\nregisterPlugin('rooms', Rooms);\n\nexport default Rooms;\n"],"mappings":";;;;;;;;AAIAA,OAAA;AACAA,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;;AASA,IAAAI,yBAAc,EAAC,OAAO,EAAEC,cAAK,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhBH,cAAK"}
|
|
1
|
+
{"version":3,"names":["require","_webexCore","_rooms","_interopRequireDefault","registerPlugin","Rooms","_default","exports","default"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-mercury';\n\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Rooms from './rooms';\n\nregisterPlugin('rooms', Rooms);\n\nexport default Rooms;\n"],"mappings":";;;;;;;;AAIAA,OAAA;AACAA,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;;AASA,IAAAI,yBAAc,EAAC,OAAO,EAAEC,cAAK,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEhBH,cAAK","ignoreList":[]}
|
package/dist/rooms.js
CHANGED
|
@@ -23,9 +23,9 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/
|
|
|
23
23
|
var _webexCore = require("@webex/webex-core");
|
|
24
24
|
var _lodash = require("lodash");
|
|
25
25
|
var _common = require("@webex/common");
|
|
26
|
-
function _createForOfIteratorHelper(
|
|
27
|
-
function _unsupportedIterableToArray(
|
|
28
|
-
function _arrayLikeToArray(
|
|
26
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
27
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
28
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
29
29
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
30
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
|
|
31
31
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
@@ -241,9 +241,9 @@ var Rooms = _webexCore.WebexPlugin.extend({
|
|
|
241
241
|
listWithReadStatus: function listWithReadStatus() {
|
|
242
242
|
var _arguments = arguments,
|
|
243
243
|
_this3 = this;
|
|
244
|
-
return (0, _asyncToGenerator2.default)(
|
|
244
|
+
return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
245
245
|
var maxRecent, now, options;
|
|
246
|
-
return _regenerator.default.wrap(function
|
|
246
|
+
return _regenerator.default.wrap(function (_context) {
|
|
247
247
|
while (1) switch (_context.prev = _context.next) {
|
|
248
248
|
case 0:
|
|
249
249
|
maxRecent = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : 0;
|
|
@@ -255,26 +255,26 @@ var Rooms = _webexCore.WebexPlugin.extend({
|
|
|
255
255
|
isActive: true
|
|
256
256
|
};
|
|
257
257
|
if (!(maxRecent > 0)) {
|
|
258
|
-
_context.next =
|
|
258
|
+
_context.next = 1;
|
|
259
259
|
break;
|
|
260
260
|
}
|
|
261
261
|
options.conversationsLimit = maxRecent;
|
|
262
262
|
options.sinceDate = now.setDate(now.getDate() - 14);
|
|
263
|
-
_context.next =
|
|
263
|
+
_context.next = 2;
|
|
264
264
|
break;
|
|
265
|
-
case
|
|
265
|
+
case 1:
|
|
266
266
|
if (!(maxRecent < 0 || maxRecent > 100)) {
|
|
267
|
-
_context.next =
|
|
267
|
+
_context.next = 2;
|
|
268
268
|
break;
|
|
269
269
|
}
|
|
270
270
|
return _context.abrupt("return", _promise.default.reject(new Error('rooms.listWithReadStatus: ' + 'optional maxRecent parameter must be an integer between 1 and 100')));
|
|
271
|
-
case
|
|
271
|
+
case 2:
|
|
272
272
|
return _context.abrupt("return", _this3.webex.internal.services.waitForCatalog('postauth').then(function () {
|
|
273
273
|
return _this3.webex.internal.conversation.list(options);
|
|
274
274
|
}).then(function (conversations) {
|
|
275
275
|
return buildRoomInfoList(_this3.webex, conversations);
|
|
276
276
|
}));
|
|
277
|
-
case
|
|
277
|
+
case 3:
|
|
278
278
|
case "end":
|
|
279
279
|
return _context.stop();
|
|
280
280
|
}
|
|
@@ -492,7 +492,7 @@ var Rooms = _webexCore.WebexPlugin.extend({
|
|
|
492
492
|
return null;
|
|
493
493
|
}
|
|
494
494
|
},
|
|
495
|
-
version: "3.10.0-next.
|
|
495
|
+
version: "3.10.0-next.10"
|
|
496
496
|
});
|
|
497
497
|
var _default = exports.default = Rooms;
|
|
498
498
|
/**
|
|
@@ -511,9 +511,9 @@ function buildRoomInfo(_x, _x2) {
|
|
|
511
511
|
* @returns {Promise<RoomInfoList>}
|
|
512
512
|
*/
|
|
513
513
|
function _buildRoomInfo() {
|
|
514
|
-
_buildRoomInfo = (0, _asyncToGenerator2.default)(
|
|
515
|
-
var type, cluster, title, lastActivityDate, roomInfo;
|
|
516
|
-
return _regenerator.default.wrap(function
|
|
514
|
+
_buildRoomInfo = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(webex, conversation) {
|
|
515
|
+
var type, cluster, title, lastActivityDate, roomInfo, _t;
|
|
516
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
517
517
|
while (1) switch (_context2.prev = _context2.next) {
|
|
518
518
|
case 0:
|
|
519
519
|
_context2.prev = 0;
|
|
@@ -534,15 +534,15 @@ function _buildRoomInfo() {
|
|
|
534
534
|
new Date(0).toISOString()
|
|
535
535
|
});
|
|
536
536
|
return _context2.abrupt("return", _promise.default.resolve(roomInfo));
|
|
537
|
-
case
|
|
538
|
-
_context2.prev =
|
|
539
|
-
|
|
540
|
-
return _context2.abrupt("return", _promise.default.reject(
|
|
541
|
-
case
|
|
537
|
+
case 1:
|
|
538
|
+
_context2.prev = 1;
|
|
539
|
+
_t = _context2["catch"](0);
|
|
540
|
+
return _context2.abrupt("return", _promise.default.reject(_t));
|
|
541
|
+
case 2:
|
|
542
542
|
case "end":
|
|
543
543
|
return _context2.stop();
|
|
544
544
|
}
|
|
545
|
-
}, _callee2, null, [[0,
|
|
545
|
+
}, _callee2, null, [[0, 1]]);
|
|
546
546
|
}));
|
|
547
547
|
return _buildRoomInfo.apply(this, arguments);
|
|
548
548
|
}
|
|
@@ -550,9 +550,9 @@ function buildRoomInfoList(_x3, _x4) {
|
|
|
550
550
|
return _buildRoomInfoList.apply(this, arguments);
|
|
551
551
|
}
|
|
552
552
|
function _buildRoomInfoList() {
|
|
553
|
-
_buildRoomInfoList = (0, _asyncToGenerator2.default)(
|
|
553
|
+
_buildRoomInfoList = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(webex, conversations) {
|
|
554
554
|
var roomReadInfo, roomInfoPromises, _iterator, _step, conversation;
|
|
555
|
-
return _regenerator.default.wrap(function
|
|
555
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
556
556
|
while (1) switch (_context3.prev = _context3.next) {
|
|
557
557
|
case 0:
|
|
558
558
|
// Convert each Conversation into a roomInfo object
|
|
@@ -578,7 +578,7 @@ function _buildRoomInfoList() {
|
|
|
578
578
|
});
|
|
579
579
|
return roomReadInfo;
|
|
580
580
|
}));
|
|
581
|
-
case
|
|
581
|
+
case 1:
|
|
582
582
|
case "end":
|
|
583
583
|
return _context3.stop();
|
|
584
584
|
}
|
package/dist/rooms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_lodash","_common","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","r","t","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","debug","Rooms","WebexPlugin","extend","listen","_this","createEventEnvelope","webex","SDK_EVENT","EXTERNAL","RESOURCE","ROOMS","then","envelope","eventEnvelope","internal","mercury","connect","listenTo","INTERNAL","WEBEX_ACTIVITY","event","onWebexApiEvent","create","room","request","method","service","resource","body","res","get","options","id","concat","qs","items","list","_this2","Page","listWithReadStatus","_arguments","_this3","_asyncToGenerator2","_regenerator","mark","_callee","maxRecent","now","wrap","_callee$","_context","prev","undefined","Date","activitiesLimit","computeTitleIfEmpty","conversationsLimit","isActive","sinceDate","setDate","getDate","abrupt","_promise","reject","Error","services","waitForCatalog","conversation","conversations","buildRoomInfoList","stop","getWithReadStatus","roomId","_this4","deconstructedId","deconstructHydraId","cluster","convo","buildRoomInfo","remove","statusCode","update","activity","data","verb","ACTIVITY_VERB","CREATE","roomCreatedEvent","getRoomEvent","EVENT_TYPE","CREATED","_stringify","trigger","UPDATE","LOCK","UNLOCK","roomUpdatedEvent","UPDATED","sdkEvent","cloneDeep","getHydraClusterString","url","tags","object","created","published","actorId","buildHydraPersonId","actor","entryUUID","buildHydraRoomId","target","creatorId","lastActivity","creatorUUID","type","getHydraRoomType","isLocked","includes","ACTIVITY_TAG","LOCKED","logger","error","message","version","_default","exports","_x","_x2","_buildRoomInfo","_callee2","title","lastActivityDate","roomInfo","_callee2$","_context2","displayName","computedTitle","lastReadableActivityDate","lastRelevantActivityDate","lastSeenActivityDate","toISOString","resolve","t0","_x3","_x4","_buildRoomInfoList","_callee3","roomReadInfo","roomInfoPromises","_iterator","_step","_callee3$","_context3","all","roomInfoList","sort","a","b"],"sources":["rooms.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin, Page} from '@webex/webex-core';\nimport {cloneDeep} from 'lodash';\nimport {\n SDK_EVENT,\n createEventEnvelope,\n buildHydraPersonId,\n buildHydraRoomId,\n getHydraClusterString,\n getHydraRoomType,\n deconstructHydraId,\n} from '@webex/common';\n\nconst debug = require('debug')('rooms');\n\n/**\n * @typedef {Object} RoomObject\n * @property {string} id - (server generated) Unique identifier for the room\n * @property {string} title - The display name for the room. All room members\n * will see the title so make it something good\n * @property {string} teamId - (optional) The ID of the team to which the room\n * belongs\n * @property {isoDate} created - (server generated) The date and time that the\n * room was created\n */\n\n/**\n * Rooms are virtual meeting places for getting stuff done. This resource\n * represents the room itself. Check out the {@link Memberships} API to learn\n * how to add and remove people from rooms and the {@link Messages} API for\n * posting and managing content.\n * @class\n * @name Rooms\n */\nconst Rooms = WebexPlugin.extend({\n /**\n * Register to listen for incoming rooms events\n * This is an alternate approach to registering for rooms webhooks.\n * The events passed to any registered handlers will be similar to the webhook JSON,\n * but will omit webhook specific fields such as name, secret, url, etc.\n * To utilize the `listen()` method, the authorization token used\n * will need to have `spark:all` and `spark:kms` scopes enabled.\n * Note that by configuring your application to enable or disable `spark:all`\n * via its configuration page will also enable or disable `spark:kms`.\n * See the <a href=\"https://webex.github.io/webex-js-sdk/samples/browser-socket/\">Sample App</a>\n * for more details.\n * @instance\n * @memberof Rooms\n * @returns {Promise}\n * @example\n * webex.rooms.listen()\n * .then(() => {\n * console.log('listening to room events');\n * webex.rooms.on('created', (event) => console.log(`Got a room:created event:\\n${event}`);\n * webex.rooms.on('updated', (event) => console.log(`Got a room:updated event:\\n${event}`);\n * })\n * .catch((e) => console.error(`Unable to register for room events: ${e}`));\n * // Some app logic...\n * // WHen it is time to cleanup\n * webex.rooms.stopListening();\n * webex.rooms.off('created');\n * webex.rooms.off('updated');\n */\n listen() {\n return createEventEnvelope(this.webex, SDK_EVENT.EXTERNAL.RESOURCE.ROOMS).then((envelope) => {\n this.eventEnvelope = envelope;\n\n return this.webex.internal.mercury.connect().then(() => {\n this.listenTo(this.webex.internal.mercury, SDK_EVENT.INTERNAL.WEBEX_ACTIVITY, (event) =>\n this.onWebexApiEvent(event)\n );\n });\n });\n },\n\n /**\n * Creates a new room. The authenticated user is automatically added as a\n * member of the room. See the {@link Memberships} API to learn how to add\n * more people to the room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject} room\n * @returns {Promise<RoomObject>}\n * @example\n * webex.rooms.create({title: 'Create Room Example'})\n * .then(function(room) {\n * var assert = require('assert')\n * assert(typeof room.created === 'string');\n * assert(typeof room.id === 'string');\n * assert(room.title === 'Create Room Example');\n * console.log(room.title);\n * return 'success';\n * });\n * // => success\n */\n create(room) {\n return this.request({\n method: 'POST',\n service: 'hydra',\n resource: 'rooms',\n body: room,\n }).then((res) => res.body);\n },\n\n /**\n * Returns a single room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject|string} room\n * @param {Object} options\n * @returns {Promise<RoomObject>}\n * @example\n * var room;\n * webex.rooms.create({title: 'Get Room Example'})\n * .then(function(r) {\n * room = r\n * return webex.rooms.get(room.id)\n * })\n * .then(function(r) {\n * var assert = require('assert');\n * assert.deepEqual(r, room);\n * return 'success';\n * });\n * // => success\n */\n get(room, options) {\n const id = room.id || room;\n\n return this.request({\n service: 'hydra',\n resource: `rooms/${id}`,\n qs: options,\n }).then((res) => res.body.items || res.body);\n },\n\n /**\n * Returns a list of rooms. In most cases the results will only contain rooms\n * that the authenticated user is a member of.\n * @instance\n * @memberof Rooms\n * @param {Object} options\n * @param {Object} options.max Limit the maximum number of rooms in the\n * response.\n * @returns {Promise<Page<RoomObject>>}\n * @example\n * var createdRooms;\n * Promise.all([\n * webex.rooms.create({title: 'List Rooms Example 1'}),\n * webex.rooms.create({title: 'List Rooms Example 2'}),\n * webex.rooms.create({title: 'List Rooms Example 3'})\n * ])\n * .then(function(r) {\n * createdRooms = r;\n * return webex.rooms.list({max: 3})\n * .then(function(rooms) {\n * var assert = require('assert');\n * assert(rooms.length === 3);\n * for (var i = 0; i < rooms.items.length; i+= 1) {\n * assert(createdRooms.filter(function(room) {\n * return room.id === rooms.items[i].id;\n * }).length === 1);\n * }\n * return 'success';\n * });\n * });\n * // => success\n */\n list(options) {\n return this.request({\n service: 'hydra',\n resource: 'rooms/',\n qs: options,\n }).then((res) => new Page(res, this.webex));\n },\n\n /**\n * Returns a list of rooms with details about the data of the last\n * activity in the room, and the date of the users last presences in\n * the room. The list is sorted with this with most recent activity first\n *\n * For rooms where lastActivityDate > lastSeenDate the space\n * can be considered to be \"unread\"\n *\n * This differs from the rooms.list() function in the following ways:\n * -- when called with no parameters it returns an array of all\n * spaces, up to 1000, that the user is a member of\n * -- pagination is not supported. ALL rooms are returned which\n * can result in a large payload\n * -- For users with hundreds of spaces, this API can take some time to\n * to return, for this reason it supports an optional maxRecent parameter.\n * If set this will return only the specified number of spaces with activity\n * in the last two weeks. Recommended value is 30. Max supported is 100.\n * -- only \"id\", \"type\", \"lastActivityDate\", and \"lastSeenDate\" are\n * guaranteed to be available for each room in the list\n * -- \"title\" is usually returned, but not guaranteed\n *\n * In general this function should be used only when the client needs to\n * access read status info, for example on startup.\n * After startup, clients should track message and membership:seen events\n * to maintain read status client side.\n *\n * Since this API can take some time to return up to 1000 spaces, it is\n * recommended that custom clients call this first with the maxRecent parameter\n * set to 30, so that they can display some of the more recents spaces. Calling\n * this API a second time with no parameters will return all the spaces.\n *\n * Not all spaces may be returned, for example when users in more than 1000\n * spaces, or when a new spaces is added after this function is called,\n * but before it returns. Custom clients should be prepared to gracefully\n * handle cases where an event occurs in a space not returned by this call,\n * by querying rooms.getWithReadStatus() with the id of the room in question\n *\n * This function may be deprecated when this info is provided in the membership\n * objects returned in the list function.\n * @instance\n * @param {int} maxRecent\n * @memberof Rooms\n * @returns {Promise<RoomInfoObjectList>}\n */\n async listWithReadStatus(maxRecent = 0) {\n const now = new Date();\n const options = {\n activitiesLimit: 0,\n computeTitleIfEmpty: true,\n conversationsLimit: 1000,\n isActive: true,\n };\n\n if (maxRecent > 0) {\n options.conversationsLimit = maxRecent;\n options.sinceDate = now.setDate(now.getDate() - 14);\n } else if (maxRecent < 0 || maxRecent > 100) {\n return Promise.reject(\n new Error(\n 'rooms.listWithReadStatus: ' +\n 'optional maxRecent parameter must be an integer between 1 and 100'\n )\n );\n }\n\n return this.webex.internal.services\n .waitForCatalog('postauth')\n .then(() => this.webex.internal.conversation.list(options))\n .then((conversations) => buildRoomInfoList(this.webex, conversations));\n },\n\n /**\n * Returns a single room object with details about the data of the last\n * activity in the room, and the date of the users last presence in\n * the room.\n *\n * For rooms where lastActivityDate > lastSeenDate the room\n * can be considered to be \"unread\"\n *\n * This differs from the rooms.get() function in the following ways:\n * -- it takes a single roomId parameter to fetch\n * -- no other options are considered\n * -- only \"id\", \"type\", \"lastActivityDate\", and \"lastSeenDate\" are\n * guaranteed to be available in the return object\n * -- \"title\" is usually returned, but not guaranteed\n *\n * In general clients should use the listWithReadStatus() method on startup\n * to get the initial roomStatus and then update their client side copy by\n * responding to message, membership and room events.\n\n * This function allows a custom client to be \"nimble\" if it is responding\n * to an event with a roomId that was not in the original fetch. The\n * anticipated behavior is that getWithReadStats is called \"just in time\",\n * with the resulting room object being added to the list of cached room\n * objects on the client side.\n *\n * This function may be deprecated when this info is provided in the room\n * object returned in the get function.\n * @instance\n * @memberof Rooms\n * @param {string} roomId\n * @returns {Promise<RoomInfoObject>}\n */\n getWithReadStatus(roomId) {\n const deconstructedId = deconstructHydraId(roomId);\n const conversation = {\n id: deconstructedId.id,\n cluster: deconstructedId.cluster,\n };\n\n return this.webex.internal.services.waitForCatalog('postauth').then(() =>\n this.webex.internal.conversation\n .get(conversation, {\n computeTitleIfEmpty: true,\n activitiesLimit: 0, // don't send the whole history of activity\n })\n .then((convo) => buildRoomInfo(this.webex, convo))\n );\n },\n\n /**\n * Deletes a single room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject|string} room\n * @returns {Promise}\n * @example\n * var room;\n * webex.rooms.create({title: 'Remove Room Example'})\n * .then(function(r) {\n * room = r;\n * return webex.rooms.remove(room.id);\n * })\n * .then(function() {\n * return webex.rooms.get(room.id);\n * })\n * .then(function() {\n * var assert = require('assert');\n * assert(false, 'the previous get should have failed');\n * })\n * .catch(function(reason) {\n * var assert = require('assert');\n * assert.equal(reason.statusCode, 404);\n * return 'success'\n * });\n * // => success\n */\n remove(room) {\n const id = room.id || room;\n\n return this.request({\n method: 'DELETE',\n service: 'hydra',\n resource: `rooms/${id}`,\n }).then((res) => {\n // Firefox has some issues with 204s and/or DELETE. This should move to\n // http-core\n if (res.statusCode === 204) {\n return undefined;\n }\n\n return res.body;\n });\n },\n\n /**\n * Used to update a single room's properties.\n * @instance\n * @memberof Rooms\n * @param {RoomObject} room\n * @returns {Promise<RoomObject>}\n * @example\n * var room;\n * webex.rooms.update({title: 'Update Room Example'})\n * .then(function(r) {\n * room = r;\n * room.title = 'Update Room Example (Updated Title)';\n * return webex.rooms.update(room);\n * })\n * .then(function() {\n * return webex.rooms.get(room.id);\n * })\n * .then(function(room) {\n * var assert = require('assert');\n * assert.equal(room.title, 'Update Room Example (Updated Title)');\n * return 'success';\n * });\n * // => success\n */\n update(room) {\n const {id} = room;\n\n return this.request({\n method: 'PUT',\n service: 'hydra',\n resource: `rooms/${id}`,\n body: room,\n }).then((res) => res.body);\n },\n\n /**\n * This function is called when an internal membership events fires,\n * if the user registered for these events with the listen() function.\n * External users of the SDK should not call this function\n * @private\n * @memberof Rooms\n * @param {Object} event\n * @returns {void}\n */\n onWebexApiEvent(event) {\n const {activity} = event.data;\n\n /* eslint-disable no-case-declarations */\n switch (activity.verb) {\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.CREATE:\n const roomCreatedEvent = this.getRoomEvent(\n this.webex,\n activity,\n SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED\n );\n\n if (roomCreatedEvent) {\n debug(`room \"created\" payload: \\\n ${JSON.stringify(roomCreatedEvent)}`);\n this.trigger(SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED, roomCreatedEvent);\n }\n break;\n\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.UPDATE:\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.LOCK:\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.UNLOCK:\n debug(`generating a rooms:updated based on ${activity.verb} activity`);\n const roomUpdatedEvent = this.getRoomEvent(\n this.webex,\n activity,\n SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED\n );\n\n if (roomUpdatedEvent) {\n debug(`room \"updated\" payload: \\\n ${JSON.stringify(roomUpdatedEvent)}`);\n this.trigger(SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED, roomUpdatedEvent);\n }\n break;\n\n default:\n break;\n }\n },\n\n /**\n * Constructs the data object for an event on the rooms resource,\n * adhering to Hydra's Webhook data structure.\n * External users of the SDK should not call this function\n * @private\n * @memberof Rooms\n * @param {Object} webex sdk instance\n * @param {Object} activity from mercury\n * @param {Object} event type of \"webhook\" event\n * @returns {Object} constructed event\n */\n getRoomEvent(webex, activity, event) {\n try {\n const sdkEvent = cloneDeep(this.eventEnvelope);\n const cluster = getHydraClusterString(webex, activity.url);\n let {tags} = activity.object;\n\n sdkEvent.event = event;\n sdkEvent.data.created = activity.published;\n sdkEvent.actorId = buildHydraPersonId(activity.actor.entryUUID, cluster);\n if (activity.object.id) {\n sdkEvent.data.id = buildHydraRoomId(activity.object.id, cluster);\n } else {\n sdkEvent.data.id = buildHydraRoomId(activity.target.id, cluster);\n }\n\n if (event === SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED) {\n sdkEvent.data.creatorId = buildHydraPersonId(activity.actor.entryUUID, cluster);\n sdkEvent.data.lastActivity = activity.published;\n } else if (event === SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED) {\n if (activity.verb === 'update') {\n // For some reason the tags are not in the object for an update activity\n tags = activity.target.tags;\n }\n if (activity.object.creatorUUID) {\n // This seems to be set in lock/unlock activities but not updated...\n debug(`Found a creatorId: ${activity.object.creatorUUID} in a ${activity.verb} event`);\n sdkEvent.data.creatorId = buildHydraPersonId(activity.object.creatorUUID, cluster);\n }\n // Webhook engine team sets this based on lastReadableActivityDate\n // in the activity.target object. See: hydra/HydraRoom.java#L51\n // This elements seems to be missing from the activity that the SDK is getting\n // sdkEvent.data.lastActivity = activity.target.lastReadableActivityDate;\n } else {\n throw new Error('unexpected event type');\n }\n sdkEvent.data.type = getHydraRoomType(tags);\n sdkEvent.data.isLocked = tags.includes(SDK_EVENT.INTERNAL.ACTIVITY_TAG.LOCKED);\n\n return sdkEvent;\n } catch (e) {\n this.webex.logger.error(\n `Unable to generate SDK event from mercury socket activity for rooms:${event} event: ${e.message}`\n );\n\n return null;\n }\n },\n});\n\nexport default Rooms;\n\n/**\n * Helper method to build a roomInfo object from a conversation object\n * @param {Object} webex sdk object\n * @param {Conversation~ConversationObject} conversation\n * @returns {Promise<RoomInfoObject>}\n */\nasync function buildRoomInfo(webex, conversation) {\n try {\n const type = getHydraRoomType(conversation.tags);\n const cluster = getHydraClusterString(webex, conversation.url);\n const title = conversation.displayName ? conversation.displayName : conversation.computedTitle;\n const lastActivityDate = conversation.lastReadableActivityDate\n ? conversation.lastReadableActivityDate\n : conversation.lastRelevantActivityDate;\n\n const roomInfo = {\n id: buildHydraRoomId(conversation.id, cluster),\n type,\n ...(title && {title: conversation.displayName}),\n ...(lastActivityDate && {lastActivityDate}),\n lastSeenActivityDate: conversation.lastSeenActivityDate\n ? conversation.lastSeenActivityDate\n : // If user has never been seen set the date to \"a long time ago\"\n new Date(0).toISOString(),\n };\n\n return Promise.resolve(roomInfo);\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\n/**\n * Helper method to build a list of roomInfo object from conversation list\n * @param {Object} webex sdk object\n * @param {Conversation~ConversationObjectList} conversations\n * @returns {Promise<RoomInfoList>}\n */\nasync function buildRoomInfoList(webex, conversations) {\n // Convert each Conversation into a roomInfo object\n const roomReadInfo = {items: []};\n const roomInfoPromises = [];\n\n for (const conversation of conversations) {\n roomInfoPromises.push(buildRoomInfo(webex, conversation));\n }\n\n return Promise.all(roomInfoPromises).then((roomInfoList) => {\n roomReadInfo.items = roomInfoList;\n roomReadInfo.items.sort((a, b) => (a.lastActivityDate < b.lastActivityDate ? 1 : -1));\n\n return roomReadInfo;\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_lodash","_common","_createForOfIteratorHelper","r","e","t","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","_Array$from","test","Array","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","debug","Rooms","WebexPlugin","extend","listen","_this","createEventEnvelope","webex","SDK_EVENT","EXTERNAL","RESOURCE","ROOMS","then","envelope","eventEnvelope","internal","mercury","connect","listenTo","INTERNAL","WEBEX_ACTIVITY","event","onWebexApiEvent","create","room","request","method","service","resource","body","res","get","options","id","concat","qs","items","list","_this2","Page","listWithReadStatus","_arguments","_this3","_asyncToGenerator2","_regenerator","mark","_callee","maxRecent","now","wrap","_context","prev","undefined","Date","activitiesLimit","computeTitleIfEmpty","conversationsLimit","isActive","sinceDate","setDate","getDate","abrupt","_promise","reject","Error","services","waitForCatalog","conversation","conversations","buildRoomInfoList","stop","getWithReadStatus","roomId","_this4","deconstructedId","deconstructHydraId","cluster","convo","buildRoomInfo","remove","statusCode","update","activity","data","verb","ACTIVITY_VERB","CREATE","roomCreatedEvent","getRoomEvent","EVENT_TYPE","CREATED","_stringify","trigger","UPDATE","LOCK","UNLOCK","roomUpdatedEvent","UPDATED","sdkEvent","cloneDeep","getHydraClusterString","url","tags","object","created","published","actorId","buildHydraPersonId","actor","entryUUID","buildHydraRoomId","target","creatorId","lastActivity","creatorUUID","type","getHydraRoomType","isLocked","includes","ACTIVITY_TAG","LOCKED","logger","error","message","version","_default","exports","_x","_x2","_buildRoomInfo","_callee2","title","lastActivityDate","roomInfo","_t","_context2","displayName","computedTitle","lastReadableActivityDate","lastRelevantActivityDate","lastSeenActivityDate","toISOString","resolve","_x3","_x4","_buildRoomInfoList","_callee3","roomReadInfo","roomInfoPromises","_iterator","_step","_context3","err","all","roomInfoList","sort","b"],"sources":["rooms.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin, Page} from '@webex/webex-core';\nimport {cloneDeep} from 'lodash';\nimport {\n SDK_EVENT,\n createEventEnvelope,\n buildHydraPersonId,\n buildHydraRoomId,\n getHydraClusterString,\n getHydraRoomType,\n deconstructHydraId,\n} from '@webex/common';\n\nconst debug = require('debug')('rooms');\n\n/**\n * @typedef {Object} RoomObject\n * @property {string} id - (server generated) Unique identifier for the room\n * @property {string} title - The display name for the room. All room members\n * will see the title so make it something good\n * @property {string} teamId - (optional) The ID of the team to which the room\n * belongs\n * @property {isoDate} created - (server generated) The date and time that the\n * room was created\n */\n\n/**\n * Rooms are virtual meeting places for getting stuff done. This resource\n * represents the room itself. Check out the {@link Memberships} API to learn\n * how to add and remove people from rooms and the {@link Messages} API for\n * posting and managing content.\n * @class\n * @name Rooms\n */\nconst Rooms = WebexPlugin.extend({\n /**\n * Register to listen for incoming rooms events\n * This is an alternate approach to registering for rooms webhooks.\n * The events passed to any registered handlers will be similar to the webhook JSON,\n * but will omit webhook specific fields such as name, secret, url, etc.\n * To utilize the `listen()` method, the authorization token used\n * will need to have `spark:all` and `spark:kms` scopes enabled.\n * Note that by configuring your application to enable or disable `spark:all`\n * via its configuration page will also enable or disable `spark:kms`.\n * See the <a href=\"https://webex.github.io/webex-js-sdk/samples/browser-socket/\">Sample App</a>\n * for more details.\n * @instance\n * @memberof Rooms\n * @returns {Promise}\n * @example\n * webex.rooms.listen()\n * .then(() => {\n * console.log('listening to room events');\n * webex.rooms.on('created', (event) => console.log(`Got a room:created event:\\n${event}`);\n * webex.rooms.on('updated', (event) => console.log(`Got a room:updated event:\\n${event}`);\n * })\n * .catch((e) => console.error(`Unable to register for room events: ${e}`));\n * // Some app logic...\n * // WHen it is time to cleanup\n * webex.rooms.stopListening();\n * webex.rooms.off('created');\n * webex.rooms.off('updated');\n */\n listen() {\n return createEventEnvelope(this.webex, SDK_EVENT.EXTERNAL.RESOURCE.ROOMS).then((envelope) => {\n this.eventEnvelope = envelope;\n\n return this.webex.internal.mercury.connect().then(() => {\n this.listenTo(this.webex.internal.mercury, SDK_EVENT.INTERNAL.WEBEX_ACTIVITY, (event) =>\n this.onWebexApiEvent(event)\n );\n });\n });\n },\n\n /**\n * Creates a new room. The authenticated user is automatically added as a\n * member of the room. See the {@link Memberships} API to learn how to add\n * more people to the room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject} room\n * @returns {Promise<RoomObject>}\n * @example\n * webex.rooms.create({title: 'Create Room Example'})\n * .then(function(room) {\n * var assert = require('assert')\n * assert(typeof room.created === 'string');\n * assert(typeof room.id === 'string');\n * assert(room.title === 'Create Room Example');\n * console.log(room.title);\n * return 'success';\n * });\n * // => success\n */\n create(room) {\n return this.request({\n method: 'POST',\n service: 'hydra',\n resource: 'rooms',\n body: room,\n }).then((res) => res.body);\n },\n\n /**\n * Returns a single room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject|string} room\n * @param {Object} options\n * @returns {Promise<RoomObject>}\n * @example\n * var room;\n * webex.rooms.create({title: 'Get Room Example'})\n * .then(function(r) {\n * room = r\n * return webex.rooms.get(room.id)\n * })\n * .then(function(r) {\n * var assert = require('assert');\n * assert.deepEqual(r, room);\n * return 'success';\n * });\n * // => success\n */\n get(room, options) {\n const id = room.id || room;\n\n return this.request({\n service: 'hydra',\n resource: `rooms/${id}`,\n qs: options,\n }).then((res) => res.body.items || res.body);\n },\n\n /**\n * Returns a list of rooms. In most cases the results will only contain rooms\n * that the authenticated user is a member of.\n * @instance\n * @memberof Rooms\n * @param {Object} options\n * @param {Object} options.max Limit the maximum number of rooms in the\n * response.\n * @returns {Promise<Page<RoomObject>>}\n * @example\n * var createdRooms;\n * Promise.all([\n * webex.rooms.create({title: 'List Rooms Example 1'}),\n * webex.rooms.create({title: 'List Rooms Example 2'}),\n * webex.rooms.create({title: 'List Rooms Example 3'})\n * ])\n * .then(function(r) {\n * createdRooms = r;\n * return webex.rooms.list({max: 3})\n * .then(function(rooms) {\n * var assert = require('assert');\n * assert(rooms.length === 3);\n * for (var i = 0; i < rooms.items.length; i+= 1) {\n * assert(createdRooms.filter(function(room) {\n * return room.id === rooms.items[i].id;\n * }).length === 1);\n * }\n * return 'success';\n * });\n * });\n * // => success\n */\n list(options) {\n return this.request({\n service: 'hydra',\n resource: 'rooms/',\n qs: options,\n }).then((res) => new Page(res, this.webex));\n },\n\n /**\n * Returns a list of rooms with details about the data of the last\n * activity in the room, and the date of the users last presences in\n * the room. The list is sorted with this with most recent activity first\n *\n * For rooms where lastActivityDate > lastSeenDate the space\n * can be considered to be \"unread\"\n *\n * This differs from the rooms.list() function in the following ways:\n * -- when called with no parameters it returns an array of all\n * spaces, up to 1000, that the user is a member of\n * -- pagination is not supported. ALL rooms are returned which\n * can result in a large payload\n * -- For users with hundreds of spaces, this API can take some time to\n * to return, for this reason it supports an optional maxRecent parameter.\n * If set this will return only the specified number of spaces with activity\n * in the last two weeks. Recommended value is 30. Max supported is 100.\n * -- only \"id\", \"type\", \"lastActivityDate\", and \"lastSeenDate\" are\n * guaranteed to be available for each room in the list\n * -- \"title\" is usually returned, but not guaranteed\n *\n * In general this function should be used only when the client needs to\n * access read status info, for example on startup.\n * After startup, clients should track message and membership:seen events\n * to maintain read status client side.\n *\n * Since this API can take some time to return up to 1000 spaces, it is\n * recommended that custom clients call this first with the maxRecent parameter\n * set to 30, so that they can display some of the more recents spaces. Calling\n * this API a second time with no parameters will return all the spaces.\n *\n * Not all spaces may be returned, for example when users in more than 1000\n * spaces, or when a new spaces is added after this function is called,\n * but before it returns. Custom clients should be prepared to gracefully\n * handle cases where an event occurs in a space not returned by this call,\n * by querying rooms.getWithReadStatus() with the id of the room in question\n *\n * This function may be deprecated when this info is provided in the membership\n * objects returned in the list function.\n * @instance\n * @param {int} maxRecent\n * @memberof Rooms\n * @returns {Promise<RoomInfoObjectList>}\n */\n async listWithReadStatus(maxRecent = 0) {\n const now = new Date();\n const options = {\n activitiesLimit: 0,\n computeTitleIfEmpty: true,\n conversationsLimit: 1000,\n isActive: true,\n };\n\n if (maxRecent > 0) {\n options.conversationsLimit = maxRecent;\n options.sinceDate = now.setDate(now.getDate() - 14);\n } else if (maxRecent < 0 || maxRecent > 100) {\n return Promise.reject(\n new Error(\n 'rooms.listWithReadStatus: ' +\n 'optional maxRecent parameter must be an integer between 1 and 100'\n )\n );\n }\n\n return this.webex.internal.services\n .waitForCatalog('postauth')\n .then(() => this.webex.internal.conversation.list(options))\n .then((conversations) => buildRoomInfoList(this.webex, conversations));\n },\n\n /**\n * Returns a single room object with details about the data of the last\n * activity in the room, and the date of the users last presence in\n * the room.\n *\n * For rooms where lastActivityDate > lastSeenDate the room\n * can be considered to be \"unread\"\n *\n * This differs from the rooms.get() function in the following ways:\n * -- it takes a single roomId parameter to fetch\n * -- no other options are considered\n * -- only \"id\", \"type\", \"lastActivityDate\", and \"lastSeenDate\" are\n * guaranteed to be available in the return object\n * -- \"title\" is usually returned, but not guaranteed\n *\n * In general clients should use the listWithReadStatus() method on startup\n * to get the initial roomStatus and then update their client side copy by\n * responding to message, membership and room events.\n\n * This function allows a custom client to be \"nimble\" if it is responding\n * to an event with a roomId that was not in the original fetch. The\n * anticipated behavior is that getWithReadStats is called \"just in time\",\n * with the resulting room object being added to the list of cached room\n * objects on the client side.\n *\n * This function may be deprecated when this info is provided in the room\n * object returned in the get function.\n * @instance\n * @memberof Rooms\n * @param {string} roomId\n * @returns {Promise<RoomInfoObject>}\n */\n getWithReadStatus(roomId) {\n const deconstructedId = deconstructHydraId(roomId);\n const conversation = {\n id: deconstructedId.id,\n cluster: deconstructedId.cluster,\n };\n\n return this.webex.internal.services.waitForCatalog('postauth').then(() =>\n this.webex.internal.conversation\n .get(conversation, {\n computeTitleIfEmpty: true,\n activitiesLimit: 0, // don't send the whole history of activity\n })\n .then((convo) => buildRoomInfo(this.webex, convo))\n );\n },\n\n /**\n * Deletes a single room.\n * @instance\n * @memberof Rooms\n * @param {RoomObject|string} room\n * @returns {Promise}\n * @example\n * var room;\n * webex.rooms.create({title: 'Remove Room Example'})\n * .then(function(r) {\n * room = r;\n * return webex.rooms.remove(room.id);\n * })\n * .then(function() {\n * return webex.rooms.get(room.id);\n * })\n * .then(function() {\n * var assert = require('assert');\n * assert(false, 'the previous get should have failed');\n * })\n * .catch(function(reason) {\n * var assert = require('assert');\n * assert.equal(reason.statusCode, 404);\n * return 'success'\n * });\n * // => success\n */\n remove(room) {\n const id = room.id || room;\n\n return this.request({\n method: 'DELETE',\n service: 'hydra',\n resource: `rooms/${id}`,\n }).then((res) => {\n // Firefox has some issues with 204s and/or DELETE. This should move to\n // http-core\n if (res.statusCode === 204) {\n return undefined;\n }\n\n return res.body;\n });\n },\n\n /**\n * Used to update a single room's properties.\n * @instance\n * @memberof Rooms\n * @param {RoomObject} room\n * @returns {Promise<RoomObject>}\n * @example\n * var room;\n * webex.rooms.update({title: 'Update Room Example'})\n * .then(function(r) {\n * room = r;\n * room.title = 'Update Room Example (Updated Title)';\n * return webex.rooms.update(room);\n * })\n * .then(function() {\n * return webex.rooms.get(room.id);\n * })\n * .then(function(room) {\n * var assert = require('assert');\n * assert.equal(room.title, 'Update Room Example (Updated Title)');\n * return 'success';\n * });\n * // => success\n */\n update(room) {\n const {id} = room;\n\n return this.request({\n method: 'PUT',\n service: 'hydra',\n resource: `rooms/${id}`,\n body: room,\n }).then((res) => res.body);\n },\n\n /**\n * This function is called when an internal membership events fires,\n * if the user registered for these events with the listen() function.\n * External users of the SDK should not call this function\n * @private\n * @memberof Rooms\n * @param {Object} event\n * @returns {void}\n */\n onWebexApiEvent(event) {\n const {activity} = event.data;\n\n /* eslint-disable no-case-declarations */\n switch (activity.verb) {\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.CREATE:\n const roomCreatedEvent = this.getRoomEvent(\n this.webex,\n activity,\n SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED\n );\n\n if (roomCreatedEvent) {\n debug(`room \"created\" payload: \\\n ${JSON.stringify(roomCreatedEvent)}`);\n this.trigger(SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED, roomCreatedEvent);\n }\n break;\n\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.UPDATE:\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.LOCK:\n case SDK_EVENT.INTERNAL.ACTIVITY_VERB.UNLOCK:\n debug(`generating a rooms:updated based on ${activity.verb} activity`);\n const roomUpdatedEvent = this.getRoomEvent(\n this.webex,\n activity,\n SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED\n );\n\n if (roomUpdatedEvent) {\n debug(`room \"updated\" payload: \\\n ${JSON.stringify(roomUpdatedEvent)}`);\n this.trigger(SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED, roomUpdatedEvent);\n }\n break;\n\n default:\n break;\n }\n },\n\n /**\n * Constructs the data object for an event on the rooms resource,\n * adhering to Hydra's Webhook data structure.\n * External users of the SDK should not call this function\n * @private\n * @memberof Rooms\n * @param {Object} webex sdk instance\n * @param {Object} activity from mercury\n * @param {Object} event type of \"webhook\" event\n * @returns {Object} constructed event\n */\n getRoomEvent(webex, activity, event) {\n try {\n const sdkEvent = cloneDeep(this.eventEnvelope);\n const cluster = getHydraClusterString(webex, activity.url);\n let {tags} = activity.object;\n\n sdkEvent.event = event;\n sdkEvent.data.created = activity.published;\n sdkEvent.actorId = buildHydraPersonId(activity.actor.entryUUID, cluster);\n if (activity.object.id) {\n sdkEvent.data.id = buildHydraRoomId(activity.object.id, cluster);\n } else {\n sdkEvent.data.id = buildHydraRoomId(activity.target.id, cluster);\n }\n\n if (event === SDK_EVENT.EXTERNAL.EVENT_TYPE.CREATED) {\n sdkEvent.data.creatorId = buildHydraPersonId(activity.actor.entryUUID, cluster);\n sdkEvent.data.lastActivity = activity.published;\n } else if (event === SDK_EVENT.EXTERNAL.EVENT_TYPE.UPDATED) {\n if (activity.verb === 'update') {\n // For some reason the tags are not in the object for an update activity\n tags = activity.target.tags;\n }\n if (activity.object.creatorUUID) {\n // This seems to be set in lock/unlock activities but not updated...\n debug(`Found a creatorId: ${activity.object.creatorUUID} in a ${activity.verb} event`);\n sdkEvent.data.creatorId = buildHydraPersonId(activity.object.creatorUUID, cluster);\n }\n // Webhook engine team sets this based on lastReadableActivityDate\n // in the activity.target object. See: hydra/HydraRoom.java#L51\n // This elements seems to be missing from the activity that the SDK is getting\n // sdkEvent.data.lastActivity = activity.target.lastReadableActivityDate;\n } else {\n throw new Error('unexpected event type');\n }\n sdkEvent.data.type = getHydraRoomType(tags);\n sdkEvent.data.isLocked = tags.includes(SDK_EVENT.INTERNAL.ACTIVITY_TAG.LOCKED);\n\n return sdkEvent;\n } catch (e) {\n this.webex.logger.error(\n `Unable to generate SDK event from mercury socket activity for rooms:${event} event: ${e.message}`\n );\n\n return null;\n }\n },\n});\n\nexport default Rooms;\n\n/**\n * Helper method to build a roomInfo object from a conversation object\n * @param {Object} webex sdk object\n * @param {Conversation~ConversationObject} conversation\n * @returns {Promise<RoomInfoObject>}\n */\nasync function buildRoomInfo(webex, conversation) {\n try {\n const type = getHydraRoomType(conversation.tags);\n const cluster = getHydraClusterString(webex, conversation.url);\n const title = conversation.displayName ? conversation.displayName : conversation.computedTitle;\n const lastActivityDate = conversation.lastReadableActivityDate\n ? conversation.lastReadableActivityDate\n : conversation.lastRelevantActivityDate;\n\n const roomInfo = {\n id: buildHydraRoomId(conversation.id, cluster),\n type,\n ...(title && {title: conversation.displayName}),\n ...(lastActivityDate && {lastActivityDate}),\n lastSeenActivityDate: conversation.lastSeenActivityDate\n ? conversation.lastSeenActivityDate\n : // If user has never been seen set the date to \"a long time ago\"\n new Date(0).toISOString(),\n };\n\n return Promise.resolve(roomInfo);\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\n/**\n * Helper method to build a list of roomInfo object from conversation list\n * @param {Object} webex sdk object\n * @param {Conversation~ConversationObjectList} conversations\n * @returns {Promise<RoomInfoList>}\n */\nasync function buildRoomInfoList(webex, conversations) {\n // Convert each Conversation into a roomInfo object\n const roomReadInfo = {items: []};\n const roomInfoPromises = [];\n\n for (const conversation of conversations) {\n roomInfoPromises.push(buildRoomInfo(webex, conversation));\n }\n\n return Promise.all(roomInfoPromises).then((roomInfoList) => {\n roomReadInfo.items = roomInfoList;\n roomReadInfo.items.sort((a, b) => (a.lastActivityDate < b.lastActivityDate ? 1 : -1));\n\n return roomReadInfo;\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -24,25 +24,25 @@
|
|
|
24
24
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
25
25
|
"@webex/jest-config-legacy": "0.0.0",
|
|
26
26
|
"@webex/legacy-tools": "0.0.0",
|
|
27
|
-
"@webex/test-helper-chai": "3.
|
|
28
|
-
"@webex/test-helper-mocha": "3.
|
|
29
|
-
"@webex/test-helper-mock-webex": "3.
|
|
30
|
-
"@webex/test-helper-test-users": "3.
|
|
27
|
+
"@webex/test-helper-chai": "3.10.0-next.1",
|
|
28
|
+
"@webex/test-helper-mocha": "3.10.0-next.1",
|
|
29
|
+
"@webex/test-helper-mock-webex": "3.10.0-next.1",
|
|
30
|
+
"@webex/test-helper-test-users": "3.10.0-next.1",
|
|
31
31
|
"eslint": "^8.24.0",
|
|
32
32
|
"prettier": "^2.7.1",
|
|
33
33
|
"sinon": "^9.2.4"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@webex/common": "3.
|
|
37
|
-
"@webex/internal-plugin-conversation": "3.10.0-next.
|
|
38
|
-
"@webex/internal-plugin-mercury": "3.10.0-next.
|
|
39
|
-
"@webex/webex-core": "3.10.0-next.
|
|
36
|
+
"@webex/common": "3.10.0-next.1",
|
|
37
|
+
"@webex/internal-plugin-conversation": "3.10.0-next.10",
|
|
38
|
+
"@webex/internal-plugin-mercury": "3.10.0-next.10",
|
|
39
|
+
"@webex/webex-core": "3.10.0-next.10",
|
|
40
40
|
"debug": "^4.3.4",
|
|
41
41
|
"lodash": "^4.17.21"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@webex/plugin-logger": "3.10.0-next.
|
|
45
|
-
"@webex/plugin-people": "3.10.0-next.
|
|
44
|
+
"@webex/plugin-logger": "3.10.0-next.10",
|
|
45
|
+
"@webex/plugin-people": "3.10.0-next.10"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "yarn build:src",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"test:browser:broken": "webex-legacy-tools test --integration --runner karma",
|
|
53
53
|
"test:style": "eslint ./src/**/*.*"
|
|
54
54
|
},
|
|
55
|
-
"version": "3.10.0-next.
|
|
55
|
+
"version": "3.10.0-next.10"
|
|
56
56
|
}
|