@webex/internal-plugin-calendar 3.0.0-beta.2 → 3.0.0-beta.200

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 CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Calendar","config","payloadTransformer","predicates","name","direction","test","ctx","response","resolve","extract","body","items","calendarMeetingExternal","transforms","fn","array","all","map","item","transform","object","encryptionKeyUrl","decryptedParticipants","encryptedParticipants","participant","decryptedMeetingJoinInfo","meetingJoinInfo","decryptedOrganizer","encryptedOrganizer","concat"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Calendar from './calendar';\nimport config from './config';\n\nregisterInternalPlugin('calendar', Calendar, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'transformMeetingNotes',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.encryptedNotes'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n }\n },\n {\n name: 'transformMeetingParticipants',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.encryptedParticipants'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n }\n },\n {\n name: 'transformMeetingArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.items[0].seriesId'));\n },\n extract(response) {\n return Promise.resolve(response.body.items);\n }\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.seriesId'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n }\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'calendarMeetingExternal'));\n },\n extract(response) {\n return Promise.resolve(response.calendarMeetingExternal);\n }\n }\n ],\n transforms: [\n {\n name: 'transformMeetingArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformMeeting', item)));\n }\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n // Decrypt participant properties if meeting object contains participants\n const decryptedParticipants = object.encryptedParticipants ? object.encryptedParticipants.map((participant) => Promise.all([\n ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, participant),\n ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, participant)\n ])) : [];\n\n // Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo\n const decryptedMeetingJoinInfo = object.meetingJoinInfo ? Promise.all([\n ctx.transform('decryptTextProp', 'meetingJoinURI', object.encryptionKeyUrl, object.meetingJoinInfo),\n ctx.transform('decryptTextProp', 'meetingJoinURL', object.encryptionKeyUrl, object.meetingJoinInfo)\n ]) : [];\n\n const decryptedOrganizer = object.encryptedOrganizer ? Promise.all([\n ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, object.encryptedOrganizer),\n ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, object.encryptedOrganizer)\n ]) : [];\n\n return Promise.all([\n ctx.transform('decryptTextProp', 'encryptedSubject', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'encryptedLocation', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'webexURI', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'webexURL', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceMeetURL', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceURI', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceURL', object.encryptionKeyUrl, object)\n ].concat(decryptedOrganizer, decryptedParticipants, decryptedMeetingJoinInfo));\n }\n },\n {\n name: 'transformMeetingNotes',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object)\n ]);\n }\n },\n {\n name: 'transformMeetingParticipants',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl || !object.encryptedParticipants) {\n return Promise.resolve();\n }\n\n // Decrypt participant properties\n const decryptedParticipants = object.encryptedParticipants.map((participant) => Promise.all([\n ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, participant),\n ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, participant)\n ]));\n\n return Promise.all(decryptedParticipants);\n }\n }\n ]\n }\n});\n\nexport {default} from './calendar';\n"],"mappings":"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"}
1
+ {"version":3,"names":["registerInternalPlugin","Calendar","config","payloadTransformer","predicates","name","direction","test","ctx","response","resolve","extract","body","items","calendarMeetingExternal","transforms","fn","array","all","map","item","transform","object","encryptionKeyUrl","decryptedParticipants","encryptedParticipants","participant","decryptedMeetingJoinInfo","meetingJoinInfo","decryptedOrganizer","encryptedOrganizer","concat"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-device';\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Calendar from './calendar';\nimport config from './config';\n\nregisterInternalPlugin('calendar', Calendar, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'transformMeetingNotes',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.encryptedNotes'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n },\n },\n {\n name: 'transformMeetingParticipants',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.encryptedParticipants'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n },\n },\n {\n name: 'transformMeetingArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.items[0].seriesId'));\n },\n extract(response) {\n return Promise.resolve(response.body.items);\n },\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.seriesId'));\n },\n extract(response) {\n return Promise.resolve(response.body);\n },\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'calendarMeetingExternal'));\n },\n extract(response) {\n return Promise.resolve(response.calendarMeetingExternal);\n },\n },\n ],\n transforms: [\n {\n name: 'transformMeetingArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformMeeting', item)));\n },\n },\n {\n name: 'transformMeeting',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n // Decrypt participant properties if meeting object contains participants\n const decryptedParticipants = object.encryptedParticipants\n ? object.encryptedParticipants.map((participant) =>\n Promise.all([\n ctx.transform(\n 'decryptTextProp',\n 'encryptedEmailAddress',\n object.encryptionKeyUrl,\n participant\n ),\n ctx.transform(\n 'decryptTextProp',\n 'encryptedName',\n object.encryptionKeyUrl,\n participant\n ),\n ])\n )\n : [];\n\n // Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo\n const decryptedMeetingJoinInfo = object.meetingJoinInfo\n ? Promise.all([\n ctx.transform(\n 'decryptTextProp',\n 'meetingJoinURI',\n object.encryptionKeyUrl,\n object.meetingJoinInfo\n ),\n ctx.transform(\n 'decryptTextProp',\n 'meetingJoinURL',\n object.encryptionKeyUrl,\n object.meetingJoinInfo\n ),\n ])\n : [];\n\n const decryptedOrganizer = object.encryptedOrganizer\n ? Promise.all([\n ctx.transform(\n 'decryptTextProp',\n 'encryptedEmailAddress',\n object.encryptionKeyUrl,\n object.encryptedOrganizer\n ),\n ctx.transform(\n 'decryptTextProp',\n 'encryptedName',\n object.encryptionKeyUrl,\n object.encryptedOrganizer\n ),\n ])\n : [];\n\n return Promise.all(\n [\n ctx.transform('decryptTextProp', 'encryptedSubject', object.encryptionKeyUrl, object),\n ctx.transform(\n 'decryptTextProp',\n 'encryptedLocation',\n object.encryptionKeyUrl,\n object\n ),\n ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'webexURI', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'webexURL', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceMeetURL', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceURI', object.encryptionKeyUrl, object),\n ctx.transform('decryptTextProp', 'spaceURL', object.encryptionKeyUrl, object),\n ].concat(decryptedOrganizer, decryptedParticipants, decryptedMeetingJoinInfo)\n );\n },\n },\n {\n name: 'transformMeetingNotes',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),\n ]);\n },\n },\n {\n name: 'transformMeetingParticipants',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.encryptionKeyUrl || !object.encryptedParticipants) {\n return Promise.resolve();\n }\n\n // Decrypt participant properties\n const decryptedParticipants = object.encryptedParticipants.map((participant) =>\n Promise.all([\n ctx.transform(\n 'decryptTextProp',\n 'encryptedEmailAddress',\n object.encryptionKeyUrl,\n participant\n ),\n ctx.transform(\n 'decryptTextProp',\n 'encryptedName',\n object.encryptionKeyUrl,\n participant\n ),\n ])\n );\n\n return Promise.all(decryptedParticipants);\n },\n },\n ],\n },\n});\n\nexport {default} from './calendar';\n"],"mappings":"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"}
package/dist/util.js CHANGED
@@ -1,37 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
23
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
24
-
25
15
  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; }
26
-
27
16
  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; }
28
-
29
17
  var CalendarUtil = {
30
18
  // calculate the end time for the meeting based on the duration so it's stored on
31
19
  // the scheduled meeting item, that way client can display start and end without
32
20
  // calculation on their side
33
21
  // gets the start time from server, and the duration, and reformats
34
-
35
22
  /**
36
23
  * calculates the end time for meeting
37
24
  * @param {Object} item the locus.host property
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["CalendarUtil","calculateEndTime","item","endTime","Date","start","getTime","durationMinutes"],"sources":["util.js"],"sourcesContent":["const CalendarUtil = {\n\n // calculate the end time for the meeting based on the duration so it's stored on\n // the scheduled meeting item, that way client can display start and end without\n // calculation on their side\n // gets the start time from server, and the duration, and reformats\n /**\n * calculates the end time for meeting\n * @param {Object} item the locus.host property\n * @param {Object} item.start start time of the meeting\n * @param {Object} item.duration duration of the meeting\n * @returns {Object} end time of the meeting\n * @memberof CalendarUtil\n */\n calculateEndTime(item) {\n return {...item, endTime: new Date(new Date(item.start).getTime() + item.durationMinutes * 60000)};\n }\n};\n\nexport default CalendarUtil;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,YAAY,GAAG;EAEnB;EACA;EACA;EACA;;EACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,gBAdmB,4BAcFC,IAdE,EAcI;IACrB,uCAAWA,IAAX;MAAiBC,OAAO,EAAE,IAAIC,IAAJ,CAAS,IAAIA,IAAJ,CAASF,IAAI,CAACG,KAAd,EAAqBC,OAArB,KAAiCJ,IAAI,CAACK,eAAL,GAAuB,KAAjE;IAA1B;EACD;AAhBkB,CAArB;eAmBeP,Y"}
1
+ {"version":3,"names":["CalendarUtil","calculateEndTime","item","endTime","Date","start","getTime","durationMinutes"],"sources":["util.js"],"sourcesContent":["const CalendarUtil = {\n // calculate the end time for the meeting based on the duration so it's stored on\n // the scheduled meeting item, that way client can display start and end without\n // calculation on their side\n // gets the start time from server, and the duration, and reformats\n /**\n * calculates the end time for meeting\n * @param {Object} item the locus.host property\n * @param {Object} item.start start time of the meeting\n * @param {Object} item.duration duration of the meeting\n * @returns {Object} end time of the meeting\n * @memberof CalendarUtil\n */\n calculateEndTime(item) {\n return {\n ...item,\n endTime: new Date(new Date(item.start).getTime() + item.durationMinutes * 60000),\n };\n },\n};\n\nexport default CalendarUtil;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAMA,YAAY,GAAG;EACnB;EACA;EACA;EACA;EACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,gBAAgB,4BAACC,IAAI,EAAE;IACrB,uCACKA,IAAI;MACPC,OAAO,EAAE,IAAIC,IAAI,CAAC,IAAIA,IAAI,CAACF,IAAI,CAACG,KAAK,CAAC,CAACC,OAAO,EAAE,GAAGJ,IAAI,CAACK,eAAe,GAAG,KAAK;IAAC;EAEpF;AACF,CAAC;AAAC,eAEaP,YAAY;AAAA"}
package/package.json CHANGED
@@ -19,20 +19,20 @@
19
19
  "envify"
20
20
  ]
21
21
  },
22
- "version": "3.0.0-beta.2",
22
+ "version": "3.0.0-beta.200",
23
23
  "devDependencies": {
24
- "@webex/test-helper-chai": "3.0.0-beta.2",
25
- "@webex/test-helper-mock-webex": "3.0.0-beta.2",
26
- "@webex/test-helper-retry": "3.0.0-beta.2",
27
- "@webex/test-helper-test-users": "3.0.0-beta.2",
24
+ "@webex/test-helper-chai": "3.0.0-beta.200",
25
+ "@webex/test-helper-mock-webex": "3.0.0-beta.200",
26
+ "@webex/test-helper-retry": "3.0.0-beta.200",
27
+ "@webex/test-helper-test-users": "3.0.0-beta.200",
28
28
  "sinon": "^9.2.4"
29
29
  },
30
30
  "dependencies": {
31
- "@webex/internal-plugin-calendar": "3.0.0-beta.2",
32
- "@webex/internal-plugin-conversation": "3.0.0-beta.2",
33
- "@webex/internal-plugin-device": "3.0.0-beta.2",
34
- "@webex/internal-plugin-encryption": "3.0.0-beta.2",
35
- "@webex/webex-core": "3.0.0-beta.2",
31
+ "@webex/internal-plugin-calendar": "3.0.0-beta.200",
32
+ "@webex/internal-plugin-conversation": "3.0.0-beta.200",
33
+ "@webex/internal-plugin-device": "3.0.0-beta.200",
34
+ "@webex/internal-plugin-encryption": "3.0.0-beta.200",
35
+ "@webex/webex-core": "3.0.0-beta.200",
36
36
  "btoa": "^1.2.1",
37
37
  "lodash": "^4.17.21",
38
38
  "uuid": "^3.3.2"
package/src/calendar.js CHANGED
@@ -3,28 +3,28 @@
3
3
  */
4
4
 
5
5
  /**
6
- * Calendar Item Create Event
7
- * Emitted when a calendar item has been added
8
- * @event calendar:meeting:create
9
- * @instance
10
- * @memberof Calendar
11
- */
6
+ * Calendar Item Create Event
7
+ * Emitted when a calendar item has been added
8
+ * @event calendar:meeting:create
9
+ * @instance
10
+ * @memberof Calendar
11
+ */
12
12
 
13
13
  /**
14
- * Calendar Item Update Event
15
- * Emitted when a calendar item has been updated
16
- * @event calendar:meeting:update
17
- * @instance
18
- * @memberof Calendar
19
- */
14
+ * Calendar Item Update Event
15
+ * Emitted when a calendar item has been updated
16
+ * @event calendar:meeting:update
17
+ * @instance
18
+ * @memberof Calendar
19
+ */
20
20
 
21
21
  /**
22
- * Calendar Item Update Event
23
- * Emitted when a calendar item has been deleted
24
- * @event calendar:meeting:delete
25
- * @instance
26
- * @memberof Calendar
27
- */
22
+ * Calendar Item Update Event
23
+ * Emitted when a calendar item has been deleted
24
+ * @event calendar:meeting:delete
25
+ * @instance
26
+ * @memberof Calendar
27
+ */
28
28
 
29
29
  /**
30
30
  * Calendar Registered Event
@@ -46,7 +46,13 @@ import btoa from 'btoa';
46
46
  import {WebexPlugin} from '@webex/webex-core';
47
47
 
48
48
  import CalendarCollection from './collection';
49
- import {CALENDAR_REGISTERED, CALENDAR_UNREGISTERED, CALENDAR_DELETE, CALENDAR_CREATE, CALENDAR_UPDATED} from './constants';
49
+ import {
50
+ CALENDAR_REGISTERED,
51
+ CALENDAR_UNREGISTERED,
52
+ CALENDAR_DELETE,
53
+ CALENDAR_CREATE,
54
+ CALENDAR_UPDATED,
55
+ } from './constants';
50
56
 
51
57
  const Calendar = WebexPlugin.extend({
52
58
  namespace: 'Calendar',
@@ -79,7 +85,8 @@ const Calendar = WebexPlugin.extend({
79
85
  return Promise.resolve();
80
86
  }
81
87
 
82
- return this.webex.internal.device.register()
88
+ return this.webex.internal.device
89
+ .register()
83
90
  .then(() => this.webex.internal.mercury.connect())
84
91
  .then(() => {
85
92
  this.listenForEvents();
@@ -110,7 +117,8 @@ const Calendar = WebexPlugin.extend({
110
117
 
111
118
  this.stopListeningForEvents();
112
119
 
113
- return this.webex.internal.mercury.disconnect()
120
+ return this.webex.internal.mercury
121
+ .disconnect()
114
122
  .then(() => this.webex.internal.device.unregister())
115
123
  .then(() => {
116
124
  this.trigger(CALENDAR_UNREGISTERED);
@@ -233,20 +241,30 @@ const Calendar = WebexPlugin.extend({
233
241
  * @returns {Promise} Resolves with a decrypted calendar event
234
242
  */
235
243
  processMeetingEvent(event) {
236
- return this.webex.transform('inbound', event)
237
- .then(() => event);
244
+ return this.webex.transform('inbound', event).then(() => event);
238
245
  },
239
246
 
240
247
  /**
241
- * Retrieves an array of meeting participants for the meeting id
242
- * @param {String} id
248
+ * Retrieves an array of meeting participants for the meeting participantsUrl
249
+ * @param {String} participantsUrl
243
250
  * @returns {Promise} Resolves with an object of meeting participants
244
251
  */
245
- getParticipants(id) {
252
+ getParticipants(participantsUrl) {
246
253
  return this.request({
247
254
  method: 'GET',
248
- service: 'calendar',
249
- resource: `calendarEvents/${btoa(id)}/participants`
255
+ uri: participantsUrl,
256
+ });
257
+ },
258
+
259
+ /**
260
+ * get meeting notes using notesUrl from meeting object.
261
+ * @param {String} notesUrl
262
+ * @returns {Promise} Resolves with an object of meeting notes
263
+ */
264
+ getNotesByUrl(notesUrl) {
265
+ return this.request({
266
+ method: 'GET',
267
+ uri: notesUrl,
250
268
  });
251
269
  },
252
270
 
@@ -259,7 +277,7 @@ const Calendar = WebexPlugin.extend({
259
277
  return this.request({
260
278
  method: 'GET',
261
279
  service: 'calendar',
262
- resource: `calendarEvents/${btoa(id)}/notes`
280
+ resource: `calendarEvents/${btoa(id)}/notes`,
263
281
  });
264
282
  },
265
283
 
@@ -273,40 +291,30 @@ const Calendar = WebexPlugin.extend({
273
291
  list(options) {
274
292
  options = options || {};
275
293
 
276
- return this.webex.request({
277
- method: 'GET',
278
- service: 'calendar',
279
- resource: 'calendarEvents',
280
- qs: options
281
- })
294
+ return this.webex
295
+ .request({
296
+ method: 'GET',
297
+ service: 'calendar',
298
+ resource: 'calendarEvents',
299
+ qs: options,
300
+ })
282
301
  .then((res) => {
283
302
  const meetingObjects = res.body.items;
284
303
  const promises = [];
285
304
 
286
305
  meetingObjects.forEach((meeting) => {
287
- if (!meeting.encryptedNotes) {
288
- promises.push(
289
- this.getNotes(meeting.id)
290
- .then((notesResponse) => {
291
- meeting.encryptedNotes = notesResponse.body && notesResponse.body.encryptedNotes;
292
- })
293
- );
294
- }
295
-
296
306
  if (!meeting.encryptedParticipants) {
297
307
  promises.push(
298
- this.getParticipants(meeting.id)
299
- .then((notesResponse) => {
300
- meeting.encryptedParticipants = notesResponse.body.encryptedParticipants;
301
- })
308
+ this.getParticipants(meeting.participantsUrl).then((notesResponse) => {
309
+ meeting.encryptedParticipants = notesResponse.body.encryptedParticipants;
310
+ })
302
311
  );
303
312
  }
304
313
  });
305
314
 
306
- return Promise.all(promises)
307
- .then(() => meetingObjects);
315
+ return Promise.all(promises).then(() => meetingObjects);
308
316
  });
309
- }
317
+ },
310
318
  });
311
319
 
312
320
  export default Calendar;
package/src/collection.js CHANGED
@@ -27,7 +27,7 @@ const CalendarCollection = {
27
27
  */
28
28
  getBy(key, value) {
29
29
  if (key && value) {
30
- return find(this.items, (item) => (item[key] === value));
30
+ return find(this.items, (item) => item[key] === value);
31
31
  }
32
32
 
33
33
  return null;
@@ -58,7 +58,6 @@ const CalendarCollection = {
58
58
  this.items = {};
59
59
  },
60
60
 
61
-
62
61
  /**
63
62
  * @param {Id} id is the id for the calendar item to be removed
64
63
  * @returns {Any} calendar item which got removed
@@ -95,8 +94,7 @@ const CalendarCollection = {
95
94
  */
96
95
  getAll() {
97
96
  return Object.values(this.items);
98
- }
99
-
97
+ },
100
98
  };
101
99
 
102
100
  export default CalendarCollection;
package/src/config.js CHANGED
@@ -5,6 +5,6 @@
5
5
  export default {
6
6
  calendar: {
7
7
  fromDate: new Date(new Date().setDate(new Date().getDate() - 1)),
8
- toDate: new Date(new Date().setDate(new Date().getDate() + 7))
9
- }
8
+ toDate: new Date(new Date().setDate(new Date().getDate() + 7)),
9
+ },
10
10
  };
package/src/index.js CHANGED
@@ -24,7 +24,7 @@ registerInternalPlugin('calendar', Calendar, {
24
24
  },
25
25
  extract(response) {
26
26
  return Promise.resolve(response.body);
27
- }
27
+ },
28
28
  },
29
29
  {
30
30
  name: 'transformMeetingParticipants',
@@ -34,7 +34,7 @@ registerInternalPlugin('calendar', Calendar, {
34
34
  },
35
35
  extract(response) {
36
36
  return Promise.resolve(response.body);
37
- }
37
+ },
38
38
  },
39
39
  {
40
40
  name: 'transformMeetingArray',
@@ -44,7 +44,7 @@ registerInternalPlugin('calendar', Calendar, {
44
44
  },
45
45
  extract(response) {
46
46
  return Promise.resolve(response.body.items);
47
- }
47
+ },
48
48
  },
49
49
  {
50
50
  name: 'transformMeeting',
@@ -54,7 +54,7 @@ registerInternalPlugin('calendar', Calendar, {
54
54
  },
55
55
  extract(response) {
56
56
  return Promise.resolve(response.body);
57
- }
57
+ },
58
58
  },
59
59
  {
60
60
  name: 'transformMeeting',
@@ -64,15 +64,15 @@ registerInternalPlugin('calendar', Calendar, {
64
64
  },
65
65
  extract(response) {
66
66
  return Promise.resolve(response.calendarMeetingExternal);
67
- }
68
- }
67
+ },
68
+ },
69
69
  ],
70
70
  transforms: [
71
71
  {
72
72
  name: 'transformMeetingArray',
73
73
  fn(ctx, array) {
74
74
  return Promise.all(array.map((item) => ctx.transform('transformMeeting', item)));
75
- }
75
+ },
76
76
  },
77
77
  {
78
78
  name: 'transformMeeting',
@@ -87,33 +87,78 @@ registerInternalPlugin('calendar', Calendar, {
87
87
  }
88
88
 
89
89
  // Decrypt participant properties if meeting object contains participants
90
- const decryptedParticipants = object.encryptedParticipants ? object.encryptedParticipants.map((participant) => Promise.all([
91
- ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, participant),
92
- ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, participant)
93
- ])) : [];
90
+ const decryptedParticipants = object.encryptedParticipants
91
+ ? object.encryptedParticipants.map((participant) =>
92
+ Promise.all([
93
+ ctx.transform(
94
+ 'decryptTextProp',
95
+ 'encryptedEmailAddress',
96
+ object.encryptionKeyUrl,
97
+ participant
98
+ ),
99
+ ctx.transform(
100
+ 'decryptTextProp',
101
+ 'encryptedName',
102
+ object.encryptionKeyUrl,
103
+ participant
104
+ ),
105
+ ])
106
+ )
107
+ : [];
94
108
 
95
109
  // Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo
96
- const decryptedMeetingJoinInfo = object.meetingJoinInfo ? Promise.all([
97
- ctx.transform('decryptTextProp', 'meetingJoinURI', object.encryptionKeyUrl, object.meetingJoinInfo),
98
- ctx.transform('decryptTextProp', 'meetingJoinURL', object.encryptionKeyUrl, object.meetingJoinInfo)
99
- ]) : [];
110
+ const decryptedMeetingJoinInfo = object.meetingJoinInfo
111
+ ? Promise.all([
112
+ ctx.transform(
113
+ 'decryptTextProp',
114
+ 'meetingJoinURI',
115
+ object.encryptionKeyUrl,
116
+ object.meetingJoinInfo
117
+ ),
118
+ ctx.transform(
119
+ 'decryptTextProp',
120
+ 'meetingJoinURL',
121
+ object.encryptionKeyUrl,
122
+ object.meetingJoinInfo
123
+ ),
124
+ ])
125
+ : [];
100
126
 
101
- const decryptedOrganizer = object.encryptedOrganizer ? Promise.all([
102
- ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, object.encryptedOrganizer),
103
- ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, object.encryptedOrganizer)
104
- ]) : [];
127
+ const decryptedOrganizer = object.encryptedOrganizer
128
+ ? Promise.all([
129
+ ctx.transform(
130
+ 'decryptTextProp',
131
+ 'encryptedEmailAddress',
132
+ object.encryptionKeyUrl,
133
+ object.encryptedOrganizer
134
+ ),
135
+ ctx.transform(
136
+ 'decryptTextProp',
137
+ 'encryptedName',
138
+ object.encryptionKeyUrl,
139
+ object.encryptedOrganizer
140
+ ),
141
+ ])
142
+ : [];
105
143
 
106
- return Promise.all([
107
- ctx.transform('decryptTextProp', 'encryptedSubject', object.encryptionKeyUrl, object),
108
- ctx.transform('decryptTextProp', 'encryptedLocation', object.encryptionKeyUrl, object),
109
- ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),
110
- ctx.transform('decryptTextProp', 'webexURI', object.encryptionKeyUrl, object),
111
- ctx.transform('decryptTextProp', 'webexURL', object.encryptionKeyUrl, object),
112
- ctx.transform('decryptTextProp', 'spaceMeetURL', object.encryptionKeyUrl, object),
113
- ctx.transform('decryptTextProp', 'spaceURI', object.encryptionKeyUrl, object),
114
- ctx.transform('decryptTextProp', 'spaceURL', object.encryptionKeyUrl, object)
115
- ].concat(decryptedOrganizer, decryptedParticipants, decryptedMeetingJoinInfo));
116
- }
144
+ return Promise.all(
145
+ [
146
+ ctx.transform('decryptTextProp', 'encryptedSubject', object.encryptionKeyUrl, object),
147
+ ctx.transform(
148
+ 'decryptTextProp',
149
+ 'encryptedLocation',
150
+ object.encryptionKeyUrl,
151
+ object
152
+ ),
153
+ ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),
154
+ ctx.transform('decryptTextProp', 'webexURI', object.encryptionKeyUrl, object),
155
+ ctx.transform('decryptTextProp', 'webexURL', object.encryptionKeyUrl, object),
156
+ ctx.transform('decryptTextProp', 'spaceMeetURL', object.encryptionKeyUrl, object),
157
+ ctx.transform('decryptTextProp', 'spaceURI', object.encryptionKeyUrl, object),
158
+ ctx.transform('decryptTextProp', 'spaceURL', object.encryptionKeyUrl, object),
159
+ ].concat(decryptedOrganizer, decryptedParticipants, decryptedMeetingJoinInfo)
160
+ );
161
+ },
117
162
  },
118
163
  {
119
164
  name: 'transformMeetingNotes',
@@ -128,9 +173,9 @@ registerInternalPlugin('calendar', Calendar, {
128
173
  }
129
174
 
130
175
  return Promise.all([
131
- ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object)
176
+ ctx.transform('decryptTextProp', 'encryptedNotes', object.encryptionKeyUrl, object),
132
177
  ]);
133
- }
178
+ },
134
179
  },
135
180
  {
136
181
  name: 'transformMeetingParticipants',
@@ -145,16 +190,28 @@ registerInternalPlugin('calendar', Calendar, {
145
190
  }
146
191
 
147
192
  // Decrypt participant properties
148
- const decryptedParticipants = object.encryptedParticipants.map((participant) => Promise.all([
149
- ctx.transform('decryptTextProp', 'encryptedEmailAddress', object.encryptionKeyUrl, participant),
150
- ctx.transform('decryptTextProp', 'encryptedName', object.encryptionKeyUrl, participant)
151
- ]));
193
+ const decryptedParticipants = object.encryptedParticipants.map((participant) =>
194
+ Promise.all([
195
+ ctx.transform(
196
+ 'decryptTextProp',
197
+ 'encryptedEmailAddress',
198
+ object.encryptionKeyUrl,
199
+ participant
200
+ ),
201
+ ctx.transform(
202
+ 'decryptTextProp',
203
+ 'encryptedName',
204
+ object.encryptionKeyUrl,
205
+ participant
206
+ ),
207
+ ])
208
+ );
152
209
 
153
210
  return Promise.all(decryptedParticipants);
154
- }
155
- }
156
- ]
157
- }
211
+ },
212
+ },
213
+ ],
214
+ },
158
215
  });
159
216
 
160
217
  export {default} from './calendar';
package/src/util.js CHANGED
@@ -1,5 +1,4 @@
1
1
  const CalendarUtil = {
2
-
3
2
  // calculate the end time for the meeting based on the duration so it's stored on
4
3
  // the scheduled meeting item, that way client can display start and end without
5
4
  // calculation on their side
@@ -13,8 +12,11 @@ const CalendarUtil = {
13
12
  * @memberof CalendarUtil
14
13
  */
15
14
  calculateEndTime(item) {
16
- return {...item, endTime: new Date(new Date(item.start).getTime() + item.durationMinutes * 60000)};
17
- }
15
+ return {
16
+ ...item,
17
+ endTime: new Date(new Date(item.start).getTime() + item.durationMinutes * 60000),
18
+ };
19
+ },
18
20
  };
19
21
 
20
22
  export default CalendarUtil;