@webex/internal-plugin-calendar 3.0.0-bnr.0 → 3.0.0-bnr.2
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.
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
|
+
var _decryptTextProp = function _decryptTextProp(ctx, name, key, object) {
|
|
11
|
+
if (!object[name]) {
|
|
12
|
+
return _promise.default.resolve();
|
|
13
|
+
}
|
|
14
|
+
return ctx.webex.internal.encryption.decryptText(key.uri || key, object[name]).then(function (plaintext) {
|
|
15
|
+
object[name] = plaintext;
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
var DecryptHelper = {
|
|
19
|
+
/**
|
|
20
|
+
* Decrypt scheduler data response
|
|
21
|
+
* @param {object} [ctx] context
|
|
22
|
+
* @param {object} [data] scheduler data response
|
|
23
|
+
* @returns {Promise} Resolves with decrypted response
|
|
24
|
+
* */
|
|
25
|
+
decryptSchedulerDataResponse: function decryptSchedulerDataResponse(ctx, data) {
|
|
26
|
+
if (!data) {
|
|
27
|
+
return _promise.default.resolve();
|
|
28
|
+
}
|
|
29
|
+
if (!data.encryptionKeyUrl) {
|
|
30
|
+
return _promise.default.resolve();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Decrypt participant properties if meeting object contains participants
|
|
34
|
+
var decryptedParticipants = data.encryptedParticipants ? data.encryptedParticipants.map(function (participant) {
|
|
35
|
+
return _promise.default.all([_decryptTextProp(ctx, 'encryptedEmailAddress', data.encryptionKeyUrl, participant), _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, participant)]);
|
|
36
|
+
}) : [];
|
|
37
|
+
|
|
38
|
+
// Decrypt meetingJoinInfo properties if meeting object contains meetingJoinInfo
|
|
39
|
+
var decryptedMeetingJoinInfo = data.meetingJoinInfo ? _promise.default.all([_decryptTextProp(ctx, 'meetingJoinURI', data.encryptionKeyUrl, data.meetingJoinInfo), _decryptTextProp(ctx, 'meetingJoinURL', data.encryptionKeyUrl, data.meetingJoinInfo)]) : [];
|
|
40
|
+
var decryptedOrganizer = data.encryptedOrganizer ? _promise.default.all([_decryptTextProp(ctx, 'encryptedEmailAddress', data.encryptionKeyUrl, data.encryptedOrganizer), _decryptTextProp(ctx, 'encryptedName', data.encryptionKeyUrl, data.encryptedOrganizer)]) : [];
|
|
41
|
+
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, decryptedMeetingJoinInfo));
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Decrypt free-busy response
|
|
45
|
+
* @param {object} [ctx] context
|
|
46
|
+
* @param {object} [data] free-busy response
|
|
47
|
+
* @returns {Promise} Resolves with decrypted response
|
|
48
|
+
* */
|
|
49
|
+
decryptFreeBusyResponse: function decryptFreeBusyResponse(ctx, data) {
|
|
50
|
+
if (!data) {
|
|
51
|
+
return _promise.default.resolve();
|
|
52
|
+
}
|
|
53
|
+
if (!data.calendarFreeBusyScheduleResponse) {
|
|
54
|
+
return _promise.default.resolve();
|
|
55
|
+
}
|
|
56
|
+
if (!data.calendarFreeBusyScheduleResponse.encryptionKeyUrl) {
|
|
57
|
+
return _promise.default.resolve();
|
|
58
|
+
}
|
|
59
|
+
var calendarFreeBusyItems = data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems ? data.calendarFreeBusyScheduleResponse.calendarFreeBusyItems.map(function (calendarFreeBusyItem) {
|
|
60
|
+
return _promise.default.all([_decryptTextProp(ctx, 'email', data.calendarFreeBusyScheduleResponse.encryptionKeyUrl, calendarFreeBusyItem)]);
|
|
61
|
+
}) : [];
|
|
62
|
+
return _promise.default.all([].concat(calendarFreeBusyItems));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var _default = DecryptHelper;
|
|
66
|
+
exports.default = _default;
|
|
67
|
+
//# sourceMappingURL=calendar.decrypt.helper.js.map
|
|
@@ -0,0 +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","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 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(decryptedOrganizer, decryptedParticipants, decryptedMeetingJoinInfo)\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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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
10
|
+
var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
|
|
11
|
+
var _isArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
|
|
12
|
+
var _isArray3 = _interopRequireDefault(require("lodash/isArray"));
|
|
13
|
+
var _encryptTextProp = function _encryptTextProp(ctx, name, key, object) {
|
|
14
|
+
if (!object[name]) {
|
|
15
|
+
return _promise.default.resolve();
|
|
16
|
+
}
|
|
17
|
+
return ctx.webex.internal.encryption.encryptText(key.uri || key, object[name]).then(function (ciphertext) {
|
|
18
|
+
object[name] = ciphertext;
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var _encryptCalendarEventPayload = function _encryptCalendarEventPayload(data, ctx) {
|
|
22
|
+
(0, _assign.default)(data, {
|
|
23
|
+
encryptionKeyUrl: ctx.encryptionKeyUrl
|
|
24
|
+
});
|
|
25
|
+
var encryptedAttendees = data.attendees ? data.attendees.map(function (attendee) {
|
|
26
|
+
return _promise.default.all([_encryptTextProp(ctx, 'displayName', data.encryptionKeyUrl, attendee), _encryptTextProp(ctx, 'email', data.encryptionKeyUrl, attendee)]);
|
|
27
|
+
}) : [];
|
|
28
|
+
return _promise.default.all([_encryptTextProp(ctx, 'subject', data.encryptionKeyUrl, data), _encryptTextProp(ctx, 'notes', data.encryptionKeyUrl, data), _encryptTextProp(ctx, 'webexOptions', data.encryptionKeyUrl, data)].concat([encryptedAttendees]));
|
|
29
|
+
};
|
|
30
|
+
var _encryptFreeBusyPayload = function _encryptFreeBusyPayload(data, ctx) {
|
|
31
|
+
(0, _assign.default)(data, {
|
|
32
|
+
encryptionKeyUrl: ctx.encryptionKeyUrl
|
|
33
|
+
});
|
|
34
|
+
var promises = [];
|
|
35
|
+
if (data.emails && (0, _isArray2.default)(data.emails)) {
|
|
36
|
+
data.emails.map(function (item, index) {
|
|
37
|
+
return promises.push(ctx.webex.internal.encryption.encryptText(data.encryptionKeyUrl, item).then(function (encryptText) {
|
|
38
|
+
data.emails[index] = encryptText;
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return _promise.default.all(promises);
|
|
43
|
+
};
|
|
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
|
|
50
|
+
* */
|
|
51
|
+
encryptCalendarEventRequest: function encryptCalendarEventRequest(ctx, data) {
|
|
52
|
+
if (ctx.encryptionKeyUrl) {
|
|
53
|
+
return _encryptCalendarEventPayload(data, ctx);
|
|
54
|
+
}
|
|
55
|
+
return ctx.webex.internal.encryption.kms.createUnboundKeys({
|
|
56
|
+
count: 1
|
|
57
|
+
}).then(function (keys) {
|
|
58
|
+
var key = (0, _isArray3.default)(keys) ? keys[0] : keys;
|
|
59
|
+
ctx.encryptionKeyUrl = key.uri;
|
|
60
|
+
return _encryptCalendarEventPayload(data, ctx);
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* Encrypt free-busy request payload
|
|
65
|
+
* @param {object} [ctx] context
|
|
66
|
+
* @param {object} [data] free busy payload data
|
|
67
|
+
* @returns {Promise} Resolves with encrypted request payload
|
|
68
|
+
* */
|
|
69
|
+
encryptFreeBusyRequest: function encryptFreeBusyRequest(ctx, data) {
|
|
70
|
+
if (ctx.encryptionKeyUrl) {
|
|
71
|
+
return _encryptFreeBusyPayload(data, ctx);
|
|
72
|
+
}
|
|
73
|
+
return ctx.webex.internal.encryption.kms.createUnboundKeys({
|
|
74
|
+
count: 1
|
|
75
|
+
}).then(function (keys) {
|
|
76
|
+
var key = (0, _isArray3.default)(keys) ? keys[0] : keys;
|
|
77
|
+
ctx.encryptionKeyUrl = key.uri;
|
|
78
|
+
return _encryptFreeBusyPayload(data, ctx);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
var _default = EncryptHelper;
|
|
83
|
+
exports.default = _default;
|
|
84
|
+
//# sourceMappingURL=calendar.encrypt.helper.js.map
|
|
@@ -0,0 +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\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 (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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"}
|
package/dist/calendar.js
CHANGED
package/package.json
CHANGED
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
"envify"
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
|
-
"version": "3.0.0-bnr.
|
|
22
|
+
"version": "3.0.0-bnr.2",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@webex/test-helper-chai": "3.0.0-bnr.
|
|
25
|
-
"@webex/test-helper-mock-webex": "3.0.0-bnr.
|
|
26
|
-
"@webex/test-helper-retry": "3.0.0-bnr.
|
|
27
|
-
"@webex/test-helper-test-users": "3.0.0-bnr.
|
|
24
|
+
"@webex/test-helper-chai": "3.0.0-bnr.2",
|
|
25
|
+
"@webex/test-helper-mock-webex": "3.0.0-bnr.2",
|
|
26
|
+
"@webex/test-helper-retry": "3.0.0-bnr.2",
|
|
27
|
+
"@webex/test-helper-test-users": "3.0.0-bnr.2",
|
|
28
28
|
"sinon": "^9.2.4"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@webex/internal-plugin-calendar": "3.0.0-bnr.
|
|
32
|
-
"@webex/internal-plugin-conversation": "3.0.0-bnr.
|
|
33
|
-
"@webex/internal-plugin-device": "3.0.0-bnr.
|
|
34
|
-
"@webex/internal-plugin-encryption": "3.0.0-bnr.
|
|
35
|
-
"@webex/webex-core": "3.0.0-bnr.
|
|
31
|
+
"@webex/internal-plugin-calendar": "3.0.0-bnr.2",
|
|
32
|
+
"@webex/internal-plugin-conversation": "3.0.0-bnr.2",
|
|
33
|
+
"@webex/internal-plugin-device": "3.0.0-bnr.2",
|
|
34
|
+
"@webex/internal-plugin-encryption": "3.0.0-bnr.2",
|
|
35
|
+
"@webex/webex-core": "3.0.0-bnr.2",
|
|
36
36
|
"btoa": "^1.2.1",
|
|
37
37
|
"lodash": "^4.17.21",
|
|
38
38
|
"uuid": "^3.3.2"
|