@webex/internal-plugin-calendar 2.59.1 → 2.59.3-next.1

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/.eslintrc.js CHANGED
@@ -1,6 +1,6 @@
1
- const config = {
2
- root: true,
3
- extends: ['@webex/eslint-config-legacy'],
4
- };
5
-
6
- module.exports = config;
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
package/README.md CHANGED
@@ -1,42 +1,42 @@
1
- # @webex/internal-plugin-calendar
2
-
3
- [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
-
5
- > Plugin for the Calendar service
6
-
7
- This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
-
9
- - [Install](#install)
10
- - [Usage](#usage)
11
- - [Contribute](#contribute)
12
- - [Maintainers](#maintainers)
13
- - [License](#license)
14
-
15
- ## Install
16
-
17
- ```bash
18
- npm install --save @webex/internal-plugin-calendar
19
- ```
20
-
21
- ## Usage
22
-
23
- ```js
24
- import '@webex/internal-plugin-calendar';
25
-
26
- import WebexCore from '@webex/webex-core';
27
-
28
- const webex = new WebexCore();
29
- webex.internal.calendar.WHATEVER;
30
- ```
31
-
32
- ## Maintainers
33
-
34
- This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
-
36
- ## Contribute
37
-
38
- Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
-
40
- ## License
41
-
42
- © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
1
+ # @webex/internal-plugin-calendar
2
+
3
+ [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
+
5
+ > Plugin for the Calendar service
6
+
7
+ This is an internal Cisco Webex plugin. As such, it does not strictly adhere to semantic versioning. Use at your own risk. If you're not working on one of our first party clients, please look at our [developer api](https://developer.webex.com/) and stick to our public plugins.
8
+
9
+ - [Install](#install)
10
+ - [Usage](#usage)
11
+ - [Contribute](#contribute)
12
+ - [Maintainers](#maintainers)
13
+ - [License](#license)
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ npm install --save @webex/internal-plugin-calendar
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```js
24
+ import '@webex/internal-plugin-calendar';
25
+
26
+ import WebexCore from '@webex/webex-core';
27
+
28
+ const webex = new WebexCore();
29
+ webex.internal.calendar.WHATEVER;
30
+ ```
31
+
32
+ ## Maintainers
33
+
34
+ This package is maintained by [Cisco Webex for Developers](https://developer.webex.com/).
35
+
36
+ ## Contribute
37
+
38
+ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/webex-js-sdk/blob/master/CONTRIBUTING.md) for more details.
39
+
40
+ ## License
41
+
42
+ © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
package/babel.config.js CHANGED
@@ -1,3 +1,3 @@
1
- const babelConfigLegacy = require('@webex/babel-config-legacy');
2
-
3
- module.exports = babelConfigLegacy;
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
@@ -17,11 +17,11 @@ var _decryptTextProp = function _decryptTextProp(ctx, name, key, object) {
17
17
  });
18
18
  };
19
19
  var DecryptHelper = {
20
- /**
21
- * Decrypt scheduler data response
22
- * @param {object} [ctx] context
23
- * @param {object} [data] scheduler data response
24
- * @returns {Promise} Resolves with decrypted response
20
+ /**
21
+ * Decrypt scheduler data response
22
+ * @param {object} [ctx] context
23
+ * @param {object} [data] scheduler data response
24
+ * @returns {Promise} Resolves with decrypted response
25
25
  * */
26
26
  decryptSchedulerDataResponse: function decryptSchedulerDataResponse(ctx, data) {
27
27
  if (!data) {
@@ -46,11 +46,11 @@ var DecryptHelper = {
46
46
  var decryptedOrganizer = data.encryptedOrganizer ? _promise.default.all([_decryptTextProp(ctx, 'encryptedEmailAddress', data.encryptionKeyUrl, data.encryptedOrganizer), _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, data.encryptedOrganizer)]) : [];
47
47
  return _promise.default.all([_decryptTextProp(ctx, 'encryptedSubject', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'encryptedLocation', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'encryptedNotes', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'webexURI', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'webexURL', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'spaceMeetURL', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'spaceURI', data.encryptionKeyUrl, data), _decryptTextProp(ctx, 'spaceURL', data.encryptionKeyUrl, data)].concat(decryptedOrganizer, decryptedParticipants, decryptedScheduleFor, decryptedMeetingJoinInfo));
48
48
  },
49
- /**
50
- * Decrypt free-busy response
51
- * @param {object} [ctx] context
52
- * @param {object} [data] free-busy response
53
- * @returns {Promise} Resolves with decrypted response
49
+ /**
50
+ * Decrypt free-busy response
51
+ * @param {object} [ctx] context
52
+ * @param {object} [data] free-busy response
53
+ * @returns {Promise} Resolves with decrypted response
54
54
  * */
55
55
  decryptFreeBusyResponse: function decryptFreeBusyResponse(ctx, data) {
56
56
  if (!data) {
@@ -1 +1 @@
1
- {"version":3,"names":["_decryptTextProp","ctx","name","key","object","_promise","default","resolve","webex","internal","encryption","decryptText","uri","then","plaintext","DecryptHelper","decryptSchedulerDataResponse","data","encryptionKeyUrl","decryptedParticipants","encryptedParticipants","map","participant","all","decryptedScheduleFor","_values","encryptedScheduleFor","flatMap","item","decryptedMeetingJoinInfo","meetingJoinInfo","decryptedOrganizer","encryptedOrganizer","concat","decryptFreeBusyResponse","calendarFreeBusyScheduleResponse","calendarFreeBusyItems","calendarFreeBusyItem","_default","exports"],"sources":["calendar.decrypt.helper.js"],"sourcesContent":["const _decryptTextProp = (ctx, name, key, object) => {\n if (!object[name]) {\n return Promise.resolve();\n }\n\n return ctx.webex.internal.encryption\n .decryptText(key.uri || key, object[name])\n .then((plaintext) => {\n object[name] = plaintext;\n });\n};\n\nconst DecryptHelper = {\n /**\n * Decrypt scheduler data response\n * @param {object} [ctx] context\n * @param {object} [data] scheduler data response\n * @returns {Promise} Resolves with decrypted response\n * */\n decryptSchedulerDataResponse: (ctx, data) => {\n if (!data) {\n return Promise.resolve();\n }\n\n if (!data.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n // Decrypt participant properties if meeting object contains participants\n const decryptedParticipants = data.encryptedParticipants\n ? data.encryptedParticipants.map((participant) =>\n Promise.all([\n _decryptTextProp(ctx, 'encryptedEmailAddress', data.encryptionKeyUrl, participant),\n _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, participant),\n ])\n )\n : [];\n\n // Decrypt encryptedScheduleFor properties if meeting object contains SOB\n const decryptedScheduleFor = Promise.all(\n Object.values(data.encryptedScheduleFor || {}).flatMap((item) => [\n _decryptTextProp(ctx, 'encryptedEmail', data.encryptionKeyUrl, item),\n _decryptTextProp(ctx, 'encryptedDisplayName', data.encryptionKeyUrl, item),\n ])\n );\n\n // Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo\n const decryptedMeetingJoinInfo = data.meetingJoinInfo\n ? Promise.all([\n _decryptTextProp(ctx, 'meetingJoinURI', data.encryptionKeyUrl, data.meetingJoinInfo),\n _decryptTextProp(ctx, 'meetingJoinURL', data.encryptionKeyUrl, data.meetingJoinInfo),\n ])\n : [];\n\n const decryptedOrganizer = data.encryptedOrganizer\n ? Promise.all([\n _decryptTextProp(\n ctx,\n 'encryptedEmailAddress',\n data.encryptionKeyUrl,\n data.encryptedOrganizer\n ),\n _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, data.encryptedOrganizer),\n ])\n : [];\n\n return Promise.all(\n [\n _decryptTextProp(ctx, 'encryptedSubject', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'encryptedLocation', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'encryptedNotes', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'webexURI', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'webexURL', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'spaceMeetURL', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'spaceURI', data.encryptionKeyUrl, data),\n _decryptTextProp(ctx, 'spaceURL', data.encryptionKeyUrl, data),\n ].concat(\n decryptedOrganizer,\n decryptedParticipants,\n decryptedScheduleFor,\n decryptedMeetingJoinInfo\n )\n );\n },\n /**\n * Decrypt free-busy response\n * @param {object} [ctx] context\n * @param {object} [data] free-busy response\n * @returns {Promise} Resolves with decrypted response\n * */\n decryptFreeBusyResponse: (ctx, data) => {\n if (!data) {\n return Promise.resolve();\n }\n\n if (!data.calendarFreeBusyScheduleResponse) {\n return Promise.resolve();\n }\n\n if (!data.calendarFreeBusyScheduleResponse.encryptionKeyUrl) {\n return Promise.resolve();\n }\n\n const calendarFreeBusyItems = data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems\n ? data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems.map((calendarFreeBusyItem) =>\n Promise.all([\n _decryptTextProp(\n ctx,\n 'email',\n data.calendarFreeBusyScheduleResponse.encryptionKeyUrl,\n calendarFreeBusyItem\n ),\n ])\n )\n : [];\n\n return Promise.all([].concat(calendarFreeBusyItems));\n },\n};\n\nexport default DecryptHelper;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_decryptTextProp","ctx","name","key","object","_promise","default","resolve","webex","internal","encryption","decryptText","uri","then","plaintext","DecryptHelper","decryptSchedulerDataResponse","data","encryptionKeyUrl","decryptedParticipants","encryptedParticipants","map","participant","all","decryptedScheduleFor","_values","encryptedScheduleFor","flatMap","item","decryptedMeetingJoinInfo","meetingJoinInfo","decryptedOrganizer","encryptedOrganizer","concat","decryptFreeBusyResponse","calendarFreeBusyScheduleResponse","calendarFreeBusyItems","calendarFreeBusyItem","_default","exports"],"sources":["calendar.decrypt.helper.js"],"sourcesContent":["const _decryptTextProp = (ctx, name, key, object) => {\r\n if (!object[name]) {\r\n return Promise.resolve();\r\n }\r\n\r\n return ctx.webex.internal.encryption\r\n .decryptText(key.uri || key, object[name])\r\n .then((plaintext) => {\r\n object[name] = plaintext;\r\n });\r\n};\r\n\r\nconst DecryptHelper = {\r\n /**\r\n * Decrypt scheduler data response\r\n * @param {object} [ctx] context\r\n * @param {object} [data] scheduler data response\r\n * @returns {Promise} Resolves with decrypted response\r\n * */\r\n decryptSchedulerDataResponse: (ctx, data) => {\r\n if (!data) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (!data.encryptionKeyUrl) {\r\n return Promise.resolve();\r\n }\r\n\r\n // Decrypt participant properties if meeting object contains participants\r\n const decryptedParticipants = data.encryptedParticipants\r\n ? data.encryptedParticipants.map((participant) =>\r\n Promise.all([\r\n _decryptTextProp(ctx, 'encryptedEmailAddress', data.encryptionKeyUrl, participant),\r\n _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, participant),\r\n ])\r\n )\r\n : [];\r\n\r\n // Decrypt encryptedScheduleFor properties if meeting object contains SOB\r\n const decryptedScheduleFor = Promise.all(\r\n Object.values(data.encryptedScheduleFor || {}).flatMap((item) => [\r\n _decryptTextProp(ctx, 'encryptedEmail', data.encryptionKeyUrl, item),\r\n _decryptTextProp(ctx, 'encryptedDisplayName', data.encryptionKeyUrl, item),\r\n ])\r\n );\r\n\r\n // Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo\r\n const decryptedMeetingJoinInfo = data.meetingJoinInfo\r\n ? Promise.all([\r\n _decryptTextProp(ctx, 'meetingJoinURI', data.encryptionKeyUrl, data.meetingJoinInfo),\r\n _decryptTextProp(ctx, 'meetingJoinURL', data.encryptionKeyUrl, data.meetingJoinInfo),\r\n ])\r\n : [];\r\n\r\n const decryptedOrganizer = data.encryptedOrganizer\r\n ? Promise.all([\r\n _decryptTextProp(\r\n ctx,\r\n 'encryptedEmailAddress',\r\n data.encryptionKeyUrl,\r\n data.encryptedOrganizer\r\n ),\r\n _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, data.encryptedOrganizer),\r\n ])\r\n : [];\r\n\r\n return Promise.all(\r\n [\r\n _decryptTextProp(ctx, 'encryptedSubject', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'encryptedLocation', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'encryptedNotes', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'webexURI', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'webexURL', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'spaceMeetURL', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'spaceURI', data.encryptionKeyUrl, data),\r\n _decryptTextProp(ctx, 'spaceURL', data.encryptionKeyUrl, data),\r\n ].concat(\r\n decryptedOrganizer,\r\n decryptedParticipants,\r\n decryptedScheduleFor,\r\n decryptedMeetingJoinInfo\r\n )\r\n );\r\n },\r\n /**\r\n * Decrypt free-busy response\r\n * @param {object} [ctx] context\r\n * @param {object} [data] free-busy response\r\n * @returns {Promise} Resolves with decrypted response\r\n * */\r\n decryptFreeBusyResponse: (ctx, data) => {\r\n if (!data) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (!data.calendarFreeBusyScheduleResponse) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (!data.calendarFreeBusyScheduleResponse.encryptionKeyUrl) {\r\n return Promise.resolve();\r\n }\r\n\r\n const calendarFreeBusyItems = data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems\r\n ? data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems.map((calendarFreeBusyItem) =>\r\n Promise.all([\r\n _decryptTextProp(\r\n ctx,\r\n 'email',\r\n data.calendarFreeBusyScheduleResponse.encryptionKeyUrl,\r\n calendarFreeBusyItem\r\n ),\r\n ])\r\n )\r\n : [];\r\n\r\n return Promise.all([].concat(calendarFreeBusyItems));\r\n },\r\n};\r\n\r\nexport default DecryptHelper;\r\n"],"mappings":"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"}
@@ -42,11 +42,11 @@ var _encryptFreeBusyPayload = function _encryptFreeBusyPayload(data, ctx) {
42
42
  return _promise.default.all(promises);
43
43
  };
44
44
  var EncryptHelper = {
45
- /**
46
- * Encrypt create / update calendar event request payload
47
- * @param {object} [ctx] context
48
- * @param {object} [data] meeting payload data
49
- * @returns {Promise} Resolves with encrypted request payload
45
+ /**
46
+ * Encrypt create / update calendar event request payload
47
+ * @param {object} [ctx] context
48
+ * @param {object} [data] meeting payload data
49
+ * @returns {Promise} Resolves with encrypted request payload
50
50
  * */
51
51
  encryptCalendarEventRequest: function encryptCalendarEventRequest(ctx, data) {
52
52
  if (ctx.encryptionKeyUrl) {
@@ -60,12 +60,12 @@ var EncryptHelper = {
60
60
  return _encryptCalendarEventPayload(data, ctx);
61
61
  });
62
62
  },
63
- /**
64
- * Encrypt free-busy request payload, if request payload only includes the sensitive data, like email, need to encrypt these reqeust parameters, and playload includes encrypt url.
65
- * Otherwise, don't encrypt playload and without encrypt url,Due to calendar serivce will vaild both encrypt url and sensitive that are both present. if not, will return 400 bad reqeust to caller.
66
- * @param {object} [ctx] context
67
- * @param {object} [data] free busy payload data
68
- * @returns {Promise} Resolves with encrypted request payload
63
+ /**
64
+ * Encrypt free-busy request payload, if request payload only includes the sensitive data, like email, need to encrypt these reqeust parameters, and playload includes encrypt url.
65
+ * Otherwise, don't encrypt playload and without encrypt url,Due to calendar serivce will vaild both encrypt url and sensitive that are both present. if not, will return 400 bad reqeust to caller.
66
+ * @param {object} [ctx] context
67
+ * @param {object} [data] free busy payload data
68
+ * @returns {Promise} Resolves with encrypted request payload
69
69
  * */
70
70
  encryptFreeBusyRequest: function encryptFreeBusyRequest(ctx, data) {
71
71
  if (!data.emails || !(0, _isArray2.default)(data.emails)) {
@@ -1 +1 @@
1
- {"version":3,"names":["_encryptTextProp","ctx","name","key","object","_promise","default","resolve","webex","internal","encryption","encryptText","uri","then","ciphertext","_encryptCalendarEventPayload","data","_assign","encryptionKeyUrl","encryptedAttendees","attendees","map","attendee","all","concat","_encryptFreeBusyPayload","promises","emails","_isArray2","item","index","push","EncryptHelper","encryptCalendarEventRequest","kms","createUnboundKeys","count","keys","_isArray3","encryptFreeBusyRequest","_default","exports"],"sources":["calendar.encrypt.helper.js"],"sourcesContent":["import {isArray} from 'lodash';\n\nconst _encryptTextProp = (ctx, name, key, object) => {\n if (!object[name]) {\n return Promise.resolve();\n }\n\n return ctx.webex.internal.encryption\n .encryptText(key.uri || key, object[name])\n .then((ciphertext) => {\n object[name] = ciphertext;\n });\n};\n\nconst _encryptCalendarEventPayload = (data, ctx) => {\n Object.assign(data, {encryptionKeyUrl: ctx.encryptionKeyUrl});\n\n const encryptedAttendees = data.attendees\n ? data.attendees.map((attendee) =>\n Promise.all([\n _encryptTextProp(ctx, 'displayName', data.encryptionKeyUrl, attendee),\n _encryptTextProp(ctx, 'email', data.encryptionKeyUrl, attendee),\n ])\n )\n : [];\n\n return Promise.all(\n [\n _encryptTextProp(ctx, 'subject', data.encryptionKeyUrl, data),\n _encryptTextProp(ctx, 'notes', data.encryptionKeyUrl, data),\n _encryptTextProp(ctx, 'webexOptions', data.encryptionKeyUrl, data),\n ].concat([encryptedAttendees])\n );\n};\n\nconst _encryptFreeBusyPayload = (data, ctx) => {\n Object.assign(data, {encryptionKeyUrl: ctx.encryptionKeyUrl});\n\n const promises = [];\n if (data.emails && Array.isArray(data.emails)) {\n data.emails.map((item, index) =>\n promises.push(\n ctx.webex.internal.encryption\n .encryptText(data.encryptionKeyUrl, item)\n .then((encryptText) => {\n data.emails[index] = encryptText;\n })\n )\n );\n }\n\n return Promise.all(promises);\n};\n\nconst EncryptHelper = {\n /**\n * Encrypt create / update calendar event request payload\n * @param {object} [ctx] context\n * @param {object} [data] meeting payload data\n * @returns {Promise} Resolves with encrypted request payload\n * */\n encryptCalendarEventRequest: (ctx, data) => {\n if (ctx.encryptionKeyUrl) {\n return _encryptCalendarEventPayload(data, ctx);\n }\n\n return ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then((keys) => {\n const key = isArray(keys) ? keys[0] : keys;\n ctx.encryptionKeyUrl = key.uri;\n\n return _encryptCalendarEventPayload(data, ctx);\n });\n },\n /**\n * Encrypt free-busy request payload, if request payload only includes the sensitive data, like email, need to encrypt these reqeust parameters, and playload includes encrypt url.\n * Otherwise, don't encrypt playload and without encrypt url,Due to calendar serivce will vaild both encrypt url and sensitive that are both present. if not, will return 400 bad reqeust to caller.\n * @param {object} [ctx] context\n * @param {object} [data] free busy payload data\n * @returns {Promise} Resolves with encrypted request payload\n * */\n encryptFreeBusyRequest: (ctx, data) => {\n if (!data.emails || !Array.isArray(data.emails)) {\n return Promise.resolve();\n }\n if (ctx.encryptionKeyUrl) {\n return _encryptFreeBusyPayload(data, ctx);\n }\n\n return ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then((keys) => {\n const key = isArray(keys) ? keys[0] : keys;\n ctx.encryptionKeyUrl = key.uri;\n\n return _encryptFreeBusyPayload(data, ctx);\n });\n },\n};\n\nexport default EncryptHelper;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_encryptTextProp","ctx","name","key","object","_promise","default","resolve","webex","internal","encryption","encryptText","uri","then","ciphertext","_encryptCalendarEventPayload","data","_assign","encryptionKeyUrl","encryptedAttendees","attendees","map","attendee","all","concat","_encryptFreeBusyPayload","promises","emails","_isArray2","item","index","push","EncryptHelper","encryptCalendarEventRequest","kms","createUnboundKeys","count","keys","_isArray3","encryptFreeBusyRequest","_default","exports"],"sources":["calendar.encrypt.helper.js"],"sourcesContent":["import {isArray} from 'lodash';\r\n\r\nconst _encryptTextProp = (ctx, name, key, object) => {\r\n if (!object[name]) {\r\n return Promise.resolve();\r\n }\r\n\r\n return ctx.webex.internal.encryption\r\n .encryptText(key.uri || key, object[name])\r\n .then((ciphertext) => {\r\n object[name] = ciphertext;\r\n });\r\n};\r\n\r\nconst _encryptCalendarEventPayload = (data, ctx) => {\r\n Object.assign(data, {encryptionKeyUrl: ctx.encryptionKeyUrl});\r\n\r\n const encryptedAttendees = data.attendees\r\n ? data.attendees.map((attendee) =>\r\n Promise.all([\r\n _encryptTextProp(ctx, 'displayName', data.encryptionKeyUrl, attendee),\r\n _encryptTextProp(ctx, 'email', data.encryptionKeyUrl, attendee),\r\n ])\r\n )\r\n : [];\r\n\r\n return Promise.all(\r\n [\r\n _encryptTextProp(ctx, 'subject', data.encryptionKeyUrl, data),\r\n _encryptTextProp(ctx, 'notes', data.encryptionKeyUrl, data),\r\n _encryptTextProp(ctx, 'webexOptions', data.encryptionKeyUrl, data),\r\n ].concat([encryptedAttendees])\r\n );\r\n};\r\n\r\nconst _encryptFreeBusyPayload = (data, ctx) => {\r\n Object.assign(data, {encryptionKeyUrl: ctx.encryptionKeyUrl});\r\n\r\n const promises = [];\r\n if (data.emails && Array.isArray(data.emails)) {\r\n data.emails.map((item, index) =>\r\n promises.push(\r\n ctx.webex.internal.encryption\r\n .encryptText(data.encryptionKeyUrl, item)\r\n .then((encryptText) => {\r\n data.emails[index] = encryptText;\r\n })\r\n )\r\n );\r\n }\r\n\r\n return Promise.all(promises);\r\n};\r\n\r\nconst EncryptHelper = {\r\n /**\r\n * Encrypt create / update calendar event request payload\r\n * @param {object} [ctx] context\r\n * @param {object} [data] meeting payload data\r\n * @returns {Promise} Resolves with encrypted request payload\r\n * */\r\n encryptCalendarEventRequest: (ctx, data) => {\r\n if (ctx.encryptionKeyUrl) {\r\n return _encryptCalendarEventPayload(data, ctx);\r\n }\r\n\r\n return ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then((keys) => {\r\n const key = isArray(keys) ? keys[0] : keys;\r\n ctx.encryptionKeyUrl = key.uri;\r\n\r\n return _encryptCalendarEventPayload(data, ctx);\r\n });\r\n },\r\n /**\r\n * Encrypt free-busy request payload, if request payload only includes the sensitive data, like email, need to encrypt these reqeust parameters, and playload includes encrypt url.\r\n * Otherwise, don't encrypt playload and without encrypt url,Due to calendar serivce will vaild both encrypt url and sensitive that are both present. if not, will return 400 bad reqeust to caller.\r\n * @param {object} [ctx] context\r\n * @param {object} [data] free busy payload data\r\n * @returns {Promise} Resolves with encrypted request payload\r\n * */\r\n encryptFreeBusyRequest: (ctx, data) => {\r\n if (!data.emails || !Array.isArray(data.emails)) {\r\n return Promise.resolve();\r\n }\r\n if (ctx.encryptionKeyUrl) {\r\n return _encryptFreeBusyPayload(data, ctx);\r\n }\r\n\r\n return ctx.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then((keys) => {\r\n const key = isArray(keys) ? keys[0] : keys;\r\n ctx.encryptionKeyUrl = key.uri;\r\n\r\n return _encryptFreeBusyPayload(data, ctx);\r\n });\r\n },\r\n};\r\n\r\nexport default EncryptHelper;\r\n"],"mappings":";;;;;;;;;;;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,GAAG,EAAEC,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAK;EACnD,IAAI,CAACA,MAAM,CAACF,IAAI,CAAC,EAAE;IACjB,OAAOG,QAAA,CAAAC,OAAA,CAAQC,OAAO,EAAE;EAC1B;EAEA,OAAON,GAAG,CAACO,KAAK,CAACC,QAAQ,CAACC,UAAU,CACjCC,WAAW,CAACR,GAAG,CAACS,GAAG,IAAIT,GAAG,EAAEC,MAAM,CAACF,IAAI,CAAC,CAAC,CACzCW,IAAI,CAAC,UAACC,UAAU,EAAK;IACpBV,MAAM,CAACF,IAAI,CAAC,GAAGY,UAAU;EAC3B,CAAC,CAAC;AACN,CAAC;AAED,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAIC,IAAI,EAAEf,GAAG,EAAK;EAClD,IAAAgB,OAAA,CAAAX,OAAA,EAAcU,IAAI,EAAE;IAACE,gBAAgB,EAAEjB,GAAG,CAACiB;EAAgB,CAAC,CAAC;EAE7D,IAAMC,kBAAkB,GAAGH,IAAI,CAACI,SAAS,GACrCJ,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,UAACC,QAAQ;IAAA,OAC1BjB,QAAA,CAAAC,OAAA,CAAQiB,GAAG,CAAC,CACVvB,gBAAgB,CAACC,GAAG,EAAE,aAAa,EAAEe,IAAI,CAACE,gBAAgB,EAAEI,QAAQ,CAAC,EACrEtB,gBAAgB,CAACC,GAAG,EAAE,OAAO,EAAEe,IAAI,CAACE,gBAAgB,EAAEI,QAAQ,CAAC,CAChE,CAAC;EAAA,EACH,GACD,EAAE;EAEN,OAAOjB,QAAA,CAAAC,OAAA,CAAQiB,GAAG,CAChB,CACEvB,gBAAgB,CAACC,GAAG,EAAE,SAAS,EAAEe,IAAI,CAACE,gBAAgB,EAAEF,IAAI,CAAC,EAC7DhB,gBAAgB,CAACC,GAAG,EAAE,OAAO,EAAEe,IAAI,CAACE,gBAAgB,EAAEF,IAAI,CAAC,EAC3DhB,gBAAgB,CAACC,GAAG,EAAE,cAAc,EAAEe,IAAI,CAACE,gBAAgB,EAAEF,IAAI,CAAC,CACnE,CAACQ,MAAM,CAAC,CAACL,kBAAkB,CAAC,CAAC,CAC/B;AACH,CAAC;AAED,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIT,IAAI,EAAEf,GAAG,EAAK;EAC7C,IAAAgB,OAAA,CAAAX,OAAA,EAAcU,IAAI,EAAE;IAACE,gBAAgB,EAAEjB,GAAG,CAACiB;EAAgB,CAAC,CAAC;EAE7D,IAAMQ,QAAQ,GAAG,EAAE;EACnB,IAAIV,IAAI,CAACW,MAAM,IAAI,IAAAC,SAAA,CAAAtB,OAAA,EAAcU,IAAI,CAACW,MAAM,CAAC,EAAE;IAC7CX,IAAI,CAACW,MAAM,CAACN,GAAG,CAAC,UAACQ,IAAI,EAAEC,KAAK;MAAA,OAC1BJ,QAAQ,CAACK,IAAI,CACX9B,GAAG,CAACO,KAAK,CAACC,QAAQ,CAACC,UAAU,CAC1BC,WAAW,CAACK,IAAI,CAACE,gBAAgB,EAAEW,IAAI,CAAC,CACxChB,IAAI,CAAC,UAACF,WAAW,EAAK;QACrBK,IAAI,CAACW,MAAM,CAACG,KAAK,CAAC,GAAGnB,WAAW;MAClC,CAAC,CAAC,CACL;IAAA,EACF;EACH;EAEA,OAAON,QAAA,CAAAC,OAAA,CAAQiB,GAAG,CAACG,QAAQ,CAAC;AAC9B,CAAC;AAED,IAAMM,aAAa,GAAG;EACpB;AACF;AACA;AACA;AACA;AACA;EACEC,2BAA2B,EAAE,SAAAA,4BAAChC,GAAG,EAAEe,IAAI,EAAK;IAC1C,IAAIf,GAAG,CAACiB,gBAAgB,EAAE;MACxB,OAAOH,4BAA4B,CAACC,IAAI,EAAEf,GAAG,CAAC;IAChD;IAEA,OAAOA,GAAG,CAACO,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACwB,GAAG,CAACC,iBAAiB,CAAC;MAACC,KAAK,EAAE;IAAC,CAAC,CAAC,CAACvB,IAAI,CAAC,UAACwB,IAAI,EAAK;MACpF,IAAMlC,GAAG,GAAG,IAAAmC,SAAA,CAAAhC,OAAA,EAAQ+B,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;MAC1CpC,GAAG,CAACiB,gBAAgB,GAAGf,GAAG,CAACS,GAAG;MAE9B,OAAOG,4BAA4B,CAACC,IAAI,EAAEf,GAAG,CAAC;IAChD,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;AACA;EACEsC,sBAAsB,EAAE,SAAAA,uBAACtC,GAAG,EAAEe,IAAI,EAAK;IACrC,IAAI,CAACA,IAAI,CAACW,MAAM,IAAI,CAAC,IAAAC,SAAA,CAAAtB,OAAA,EAAcU,IAAI,CAACW,MAAM,CAAC,EAAE;MAC/C,OAAOtB,QAAA,CAAAC,OAAA,CAAQC,OAAO,EAAE;IAC1B;IACA,IAAIN,GAAG,CAACiB,gBAAgB,EAAE;MACxB,OAAOO,uBAAuB,CAACT,IAAI,EAAEf,GAAG,CAAC;IAC3C;IAEA,OAAOA,GAAG,CAACO,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACwB,GAAG,CAACC,iBAAiB,CAAC;MAACC,KAAK,EAAE;IAAC,CAAC,CAAC,CAACvB,IAAI,CAAC,UAACwB,IAAI,EAAK;MACpF,IAAMlC,GAAG,GAAG,IAAAmC,SAAA,CAAAhC,OAAA,EAAQ+B,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;MAC1CpC,GAAG,CAACiB,gBAAgB,GAAGf,GAAG,CAACS,GAAG;MAE9B,OAAOa,uBAAuB,CAACT,IAAI,EAAEf,GAAG,CAAC;IAC3C,CAAC,CAAC;EACJ;AACF,CAAC;AAAC,IAAAuC,QAAA,GAEaR,aAAa;AAAAS,OAAA,CAAAnC,OAAA,GAAAkC,QAAA"}