@webex/internal-plugin-calendar 3.0.0-beta.9 → 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/calendar.js +20 -61
- package/dist/calendar.js.map +1 -1
- package/dist/collection.js +0 -19
- package/dist/collection.js.map +1 -1
- package/dist/config.js +0 -3
- package/dist/config.js.map +1 -1
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.js +7 -21
- package/dist/index.js.map +1 -1
- package/dist/internal-plugin-calendar.d.ts +4 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/calendar.d.ts +2 -0
- package/dist/types/collection.d.ts +58 -0
- package/dist/types/config.d.ts +7 -0
- package/dist/types/constants.d.ts +6 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/util.d.ts +15 -0
- package/dist/util.js +0 -13
- package/dist/util.js.map +1 -1
- package/package.json +10 -10
- package/src/calendar.js +47 -42
- package/src/collection.js +2 -4
- package/src/config.js +2 -2
- package/src/index.js +97 -40
- package/src/util.js +5 -3
- package/test/integration/spec/calendar.js +379 -271
- package/test/unit/spec/calendar.js +115 -74
- package/test/unit/spec/utils.js +4 -1
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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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// This file is read by tools that parse documentation comments conforming to the TSDoc standard.
|
|
2
|
+
// It should be published with your NPM package. It should not be tracked by Git.
|
|
3
|
+
{
|
|
4
|
+
"tsdocVersion": "0.12",
|
|
5
|
+
"toolPackages": [
|
|
6
|
+
{
|
|
7
|
+
"packageName": "@microsoft/api-extractor",
|
|
8
|
+
"packageVersion": "7.34.4"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export default CalendarCollection;
|
|
2
|
+
declare namespace CalendarCollection {
|
|
3
|
+
export { CALENDAR as namespace };
|
|
4
|
+
export const items: {};
|
|
5
|
+
/**
|
|
6
|
+
* @param {String} id calendar ID
|
|
7
|
+
* @returns {Any} Calendar Item specifc to that id
|
|
8
|
+
* @private
|
|
9
|
+
* @memberof CalendarCollection
|
|
10
|
+
*/
|
|
11
|
+
export function get(id: string): Any;
|
|
12
|
+
/**
|
|
13
|
+
* @param {String} key any key and the corresponding calendar Item
|
|
14
|
+
* @param {String} value any values corresponding to calendar item
|
|
15
|
+
* @returns {Any} returns whatever is being stuffed into the collection
|
|
16
|
+
* @private
|
|
17
|
+
* @memberof CalendarCollection
|
|
18
|
+
*/
|
|
19
|
+
export function getBy(key: string, value: string): Any;
|
|
20
|
+
/**
|
|
21
|
+
* @param {Object} item CalendarObject passed to the collection
|
|
22
|
+
* @returns {Any} returns calender id whats get set
|
|
23
|
+
* @private
|
|
24
|
+
* @memberof CalendarCollection
|
|
25
|
+
*/
|
|
26
|
+
export function set(item: any): Any;
|
|
27
|
+
/**
|
|
28
|
+
* resets all the values in the calendarcollection
|
|
29
|
+
* @returns {undefined}
|
|
30
|
+
* @private
|
|
31
|
+
* @memberof CalendarCollection
|
|
32
|
+
*/
|
|
33
|
+
export function reset(): undefined;
|
|
34
|
+
/**
|
|
35
|
+
* @param {Id} id is the id for the calendar item to be removed
|
|
36
|
+
* @returns {Any} calendar item which got removed
|
|
37
|
+
* @private
|
|
38
|
+
* @memberof CalendarCollection
|
|
39
|
+
*/
|
|
40
|
+
export function remove(id: Id): Any;
|
|
41
|
+
/**
|
|
42
|
+
* sets all the item passed to the collection
|
|
43
|
+
* @param {Array} items array of calendar items
|
|
44
|
+
* @private
|
|
45
|
+
* @returns {undefined}
|
|
46
|
+
* @memberof CalendarCollection
|
|
47
|
+
*/
|
|
48
|
+
export function setAll(items: any[]): undefined;
|
|
49
|
+
/**
|
|
50
|
+
* gets all the calendar stored in the collection
|
|
51
|
+
* @param {Array} items array of calendar items
|
|
52
|
+
* @private
|
|
53
|
+
* @returns {Array} returns an array of calendar items
|
|
54
|
+
* @memberof CalendarCollection
|
|
55
|
+
*/
|
|
56
|
+
export function getAll(): any[];
|
|
57
|
+
}
|
|
58
|
+
import { CALENDAR } from "./constants";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const CALENDAR_REGISTERED: "calendar:registered";
|
|
2
|
+
export const CALENDAR_UNREGISTERED: "calendar:unregistered";
|
|
3
|
+
export const CALENDAR_UPDATED: "calendar:update";
|
|
4
|
+
export const CALENDAR_DELETE: "calendar:delete";
|
|
5
|
+
export const CALENDAR_CREATE: "calendar:create";
|
|
6
|
+
export const CALENDAR: "CALENDAR";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./calendar";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default CalendarUtil;
|
|
2
|
+
declare namespace CalendarUtil {
|
|
3
|
+
/**
|
|
4
|
+
* calculates the end time for meeting
|
|
5
|
+
* @param {Object} item the locus.host property
|
|
6
|
+
* @param {Object} item.start start time of the meeting
|
|
7
|
+
* @param {Object} item.duration duration of the meeting
|
|
8
|
+
* @returns {Object} end time of the meeting
|
|
9
|
+
* @memberof CalendarUtil
|
|
10
|
+
*/
|
|
11
|
+
function calculateEndTime(item: {
|
|
12
|
+
start: any;
|
|
13
|
+
duration: any;
|
|
14
|
+
}): any;
|
|
15
|
+
}
|
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
|
|
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-
|
|
22
|
+
"version": "3.0.0-bnr.0",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@webex/test-helper-chai": "3.0.0-
|
|
25
|
-
"@webex/test-helper-mock-webex": "3.0.0-
|
|
26
|
-
"@webex/test-helper-retry": "3.0.0-
|
|
27
|
-
"@webex/test-helper-test-users": "3.0.0-
|
|
24
|
+
"@webex/test-helper-chai": "3.0.0-bnr.0",
|
|
25
|
+
"@webex/test-helper-mock-webex": "3.0.0-bnr.0",
|
|
26
|
+
"@webex/test-helper-retry": "3.0.0-bnr.0",
|
|
27
|
+
"@webex/test-helper-test-users": "3.0.0-bnr.0",
|
|
28
28
|
"sinon": "^9.2.4"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@webex/internal-plugin-calendar": "3.0.0-
|
|
32
|
-
"@webex/internal-plugin-conversation": "3.0.0-
|
|
33
|
-
"@webex/internal-plugin-device": "3.0.0-
|
|
34
|
-
"@webex/internal-plugin-encryption": "3.0.0-
|
|
35
|
-
"@webex/webex-core": "3.0.0-
|
|
31
|
+
"@webex/internal-plugin-calendar": "3.0.0-bnr.0",
|
|
32
|
+
"@webex/internal-plugin-conversation": "3.0.0-bnr.0",
|
|
33
|
+
"@webex/internal-plugin-device": "3.0.0-bnr.0",
|
|
34
|
+
"@webex/internal-plugin-encryption": "3.0.0-bnr.0",
|
|
35
|
+
"@webex/webex-core": "3.0.0-bnr.0",
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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 {
|
|
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
|
|
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
|
|
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,8 +241,7 @@ 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
|
/**
|
|
@@ -246,7 +253,7 @@ const Calendar = WebexPlugin.extend({
|
|
|
246
253
|
return this.request({
|
|
247
254
|
method: 'GET',
|
|
248
255
|
service: 'calendar',
|
|
249
|
-
resource: `calendarEvents/${btoa(id)}/participants
|
|
256
|
+
resource: `calendarEvents/${btoa(id)}/participants`,
|
|
250
257
|
});
|
|
251
258
|
},
|
|
252
259
|
|
|
@@ -259,7 +266,7 @@ const Calendar = WebexPlugin.extend({
|
|
|
259
266
|
return this.request({
|
|
260
267
|
method: 'GET',
|
|
261
268
|
service: 'calendar',
|
|
262
|
-
resource: `calendarEvents/${btoa(id)}/notes
|
|
269
|
+
resource: `calendarEvents/${btoa(id)}/notes`,
|
|
263
270
|
});
|
|
264
271
|
},
|
|
265
272
|
|
|
@@ -273,12 +280,13 @@ const Calendar = WebexPlugin.extend({
|
|
|
273
280
|
list(options) {
|
|
274
281
|
options = options || {};
|
|
275
282
|
|
|
276
|
-
return this.webex
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
283
|
+
return this.webex
|
|
284
|
+
.request({
|
|
285
|
+
method: 'GET',
|
|
286
|
+
service: 'calendar',
|
|
287
|
+
resource: 'calendarEvents',
|
|
288
|
+
qs: options,
|
|
289
|
+
})
|
|
282
290
|
.then((res) => {
|
|
283
291
|
const meetingObjects = res.body.items;
|
|
284
292
|
const promises = [];
|
|
@@ -286,27 +294,24 @@ const Calendar = WebexPlugin.extend({
|
|
|
286
294
|
meetingObjects.forEach((meeting) => {
|
|
287
295
|
if (!meeting.encryptedNotes) {
|
|
288
296
|
promises.push(
|
|
289
|
-
this.getNotes(meeting.id)
|
|
290
|
-
.
|
|
291
|
-
|
|
292
|
-
})
|
|
297
|
+
this.getNotes(meeting.id).then((notesResponse) => {
|
|
298
|
+
meeting.encryptedNotes = notesResponse.body && notesResponse.body.encryptedNotes;
|
|
299
|
+
})
|
|
293
300
|
);
|
|
294
301
|
}
|
|
295
302
|
|
|
296
303
|
if (!meeting.encryptedParticipants) {
|
|
297
304
|
promises.push(
|
|
298
|
-
this.getParticipants(meeting.id)
|
|
299
|
-
.
|
|
300
|
-
|
|
301
|
-
})
|
|
305
|
+
this.getParticipants(meeting.id).then((notesResponse) => {
|
|
306
|
+
meeting.encryptedParticipants = notesResponse.body.encryptedParticipants;
|
|
307
|
+
})
|
|
302
308
|
);
|
|
303
309
|
}
|
|
304
310
|
});
|
|
305
311
|
|
|
306
|
-
return Promise.all(promises)
|
|
307
|
-
.then(() => meetingObjects);
|
|
312
|
+
return Promise.all(promises).then(() => meetingObjects);
|
|
308
313
|
});
|
|
309
|
-
}
|
|
314
|
+
},
|
|
310
315
|
});
|
|
311
316
|
|
|
312
317
|
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) =>
|
|
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