@webex/internal-plugin-support 3.0.0-beta.12 → 3.0.0-beta.13
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/support.js +8 -2
- package/dist/support.js.map +1 -1
- package/package.json +9 -9
- package/src/support.js +7 -1
- package/test/unit/spec/support.js +8 -0
package/dist/support.js
CHANGED
|
@@ -140,8 +140,14 @@ var Support = _webexCore.WebexPlugin.extend({
|
|
|
140
140
|
return body;
|
|
141
141
|
});
|
|
142
142
|
},
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Constructs an array of key-value pairs for log upload.
|
|
146
|
+
* @param {*} metadata
|
|
147
|
+
* @returns {array}
|
|
148
|
+
*/
|
|
143
149
|
_constructFileMetadata: function _constructFileMetadata(metadata) {
|
|
144
|
-
var metadataArray = ['locusId', 'callStart', 'feedbackId', 'correlationId', 'meetingId'].map(function (key) {
|
|
150
|
+
var metadataArray = ['locusId', 'callStart', 'feedbackId', 'correlationId', 'meetingId', 'surveySessionId'].map(function (key) {
|
|
145
151
|
if (metadata[key]) {
|
|
146
152
|
return {
|
|
147
153
|
key: key,
|
|
@@ -177,7 +183,7 @@ var Support = _webexCore.WebexPlugin.extend({
|
|
|
177
183
|
|
|
178
184
|
return metadataArray;
|
|
179
185
|
},
|
|
180
|
-
version: "3.0.0-beta.
|
|
186
|
+
version: "3.0.0-beta.13"
|
|
181
187
|
});
|
|
182
188
|
|
|
183
189
|
var _default = Support;
|
package/dist/support.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Support","WebexPlugin","extend","namespace","getFeedbackUrl","options","request","method","api","resource","body","appVersion","config","appType","feedbackId","uuid","v4","languageCode","then","res","url","getSupportUrl","webex","qs","submitLogs","metadata","logs","metadataArray","_constructFileMetadata","logger","sdkBuffer","clientBuffer","buffer","formatLogs","filename","locusId","callStart","sessionId","userId","credentials","getUserToken","catch","getClientToken","token","headers","authorization","toString","initalOpts","service","finalOpts","file","shouldAttemptReauth","phases","initialize","upload","$uri","session","tempURL","finalize","$body","logFilename","data","internal","device","map","key","value","filter","entry","Boolean","push","orgId"],"sources":["support.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {defaults} from 'lodash';\nimport uuid from 'uuid';\n\nconst Support = WebexPlugin.extend({\n namespace: 'Support',\n\n getFeedbackUrl(options) {\n options = options || {};\n\n return this.request({\n method: 'POST',\n api: 'conversation',\n resource: 'users/deskFeedbackUrl',\n body: defaults(options, {\n appVersion: this.config.appVersion,\n appType: this.config.appType,\n feedbackId: options.feedbackId || uuid.v4(),\n languageCode: this.config.languageCode\n })\n })\n .then((res) => res.body.url);\n },\n\n getSupportUrl() {\n return this.webex.request({\n method: 'GET',\n api: 'conversation',\n resource: 'users/deskSupportUrl',\n qs: {\n languageCode: this.config.languageCode\n }\n })\n .then((res) => res.body.url);\n },\n\n submitLogs(metadata, logs) {\n const metadataArray = this._constructFileMetadata(metadata);\n\n // this is really testing that Ampersand is fully ready. once it's ready, these exist\n if (!logs && this.webex.logger.sdkBuffer && this.webex.logger.clientBuffer && this.webex.logger.buffer) {\n logs = this.webex.logger.formatLogs();\n }\n\n let filename;\n\n if (metadata.locusId && metadata.callStart) {\n filename = `${metadata.locusId}_${metadata.callStart}.txt`;\n }\n else {\n filename = `${this.webex.sessionId}.txt`;\n }\n\n let userId;\n\n return this.webex.credentials.getUserToken()\n .catch(() => this.webex.credentials.getClientToken())\n .then(async (token) => {\n const headers = {authorization: token.toString()};\n\n const initalOpts = {\n service: 'clientLogs',\n resource: 'logs/urls'\n };\n\n const finalOpts = {\n service: 'clientLogs',\n resource: 'logs/meta'\n };\n\n const options = defaults(initalOpts, {\n file: logs,\n shouldAttemptReauth: false,\n headers,\n phases: {\n initialize: {\n body: {\n file: filename\n }\n },\n upload: {\n $uri: (session) => session.tempURL\n },\n finalize: defaults(finalOpts, {\n $body: (session) => {\n userId = session.userId;\n\n return {\n filename: session.logFilename,\n data: metadataArray,\n userId: this.webex.internal.device.userId || session.userId\n };\n }\n })\n }\n });\n\n return this.webex.upload(options);\n })\n .then((body) => {\n if (userId && !body.userId) {\n body.userId = userId;\n }\n\n return body;\n });\n },\n\n _constructFileMetadata(metadata) {\n const metadataArray = [\n 'locusId',\n 'callStart',\n 'feedbackId',\n 'correlationId',\n 'meetingId'\n ].map((key) => {\n if (metadata[key]) {\n return {\n key,\n value: metadata[key]\n };\n }\n\n return null;\n })\n .filter((entry) => Boolean(entry));\n\n if (this.webex.sessionId) {\n metadataArray.push({\n key: 'trackingId',\n value: this.webex.sessionId\n });\n }\n\n if (this.webex.internal.device.userId) {\n metadataArray.push({\n key: 'userId',\n value: this.webex.internal.device.userId\n });\n }\n\n if (this.webex.internal.device.orgId) {\n metadataArray.push({\n key: 'orgId',\n value: this.webex.internal.device.orgId\n });\n }\n\n return metadataArray;\n }\n});\n\nexport default Support;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["Support","WebexPlugin","extend","namespace","getFeedbackUrl","options","request","method","api","resource","body","appVersion","config","appType","feedbackId","uuid","v4","languageCode","then","res","url","getSupportUrl","webex","qs","submitLogs","metadata","logs","metadataArray","_constructFileMetadata","logger","sdkBuffer","clientBuffer","buffer","formatLogs","filename","locusId","callStart","sessionId","userId","credentials","getUserToken","catch","getClientToken","token","headers","authorization","toString","initalOpts","service","finalOpts","file","shouldAttemptReauth","phases","initialize","upload","$uri","session","tempURL","finalize","$body","logFilename","data","internal","device","map","key","value","filter","entry","Boolean","push","orgId"],"sources":["support.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {defaults} from 'lodash';\nimport uuid from 'uuid';\n\nconst Support = WebexPlugin.extend({\n namespace: 'Support',\n\n getFeedbackUrl(options) {\n options = options || {};\n\n return this.request({\n method: 'POST',\n api: 'conversation',\n resource: 'users/deskFeedbackUrl',\n body: defaults(options, {\n appVersion: this.config.appVersion,\n appType: this.config.appType,\n feedbackId: options.feedbackId || uuid.v4(),\n languageCode: this.config.languageCode\n })\n })\n .then((res) => res.body.url);\n },\n\n getSupportUrl() {\n return this.webex.request({\n method: 'GET',\n api: 'conversation',\n resource: 'users/deskSupportUrl',\n qs: {\n languageCode: this.config.languageCode\n }\n })\n .then((res) => res.body.url);\n },\n\n submitLogs(metadata, logs) {\n const metadataArray = this._constructFileMetadata(metadata);\n\n // this is really testing that Ampersand is fully ready. once it's ready, these exist\n if (!logs && this.webex.logger.sdkBuffer && this.webex.logger.clientBuffer && this.webex.logger.buffer) {\n logs = this.webex.logger.formatLogs();\n }\n\n let filename;\n\n if (metadata.locusId && metadata.callStart) {\n filename = `${metadata.locusId}_${metadata.callStart}.txt`;\n }\n else {\n filename = `${this.webex.sessionId}.txt`;\n }\n\n let userId;\n\n return this.webex.credentials.getUserToken()\n .catch(() => this.webex.credentials.getClientToken())\n .then(async (token) => {\n const headers = {authorization: token.toString()};\n\n const initalOpts = {\n service: 'clientLogs',\n resource: 'logs/urls'\n };\n\n const finalOpts = {\n service: 'clientLogs',\n resource: 'logs/meta'\n };\n\n const options = defaults(initalOpts, {\n file: logs,\n shouldAttemptReauth: false,\n headers,\n phases: {\n initialize: {\n body: {\n file: filename\n }\n },\n upload: {\n $uri: (session) => session.tempURL\n },\n finalize: defaults(finalOpts, {\n $body: (session) => {\n userId = session.userId;\n\n return {\n filename: session.logFilename,\n data: metadataArray,\n userId: this.webex.internal.device.userId || session.userId\n };\n }\n })\n }\n });\n\n return this.webex.upload(options);\n })\n .then((body) => {\n if (userId && !body.userId) {\n body.userId = userId;\n }\n\n return body;\n });\n },\n\n /**\n * Constructs an array of key-value pairs for log upload.\n * @param {*} metadata\n * @returns {array}\n */\n _constructFileMetadata(metadata) {\n const metadataArray = [\n 'locusId',\n 'callStart',\n 'feedbackId',\n 'correlationId',\n 'meetingId',\n 'surveySessionId'\n ].map((key) => {\n if (metadata[key]) {\n return {\n key,\n value: metadata[key]\n };\n }\n\n return null;\n })\n .filter((entry) => Boolean(entry));\n\n if (this.webex.sessionId) {\n metadataArray.push({\n key: 'trackingId',\n value: this.webex.sessionId\n });\n }\n\n if (this.webex.internal.device.userId) {\n metadataArray.push({\n key: 'userId',\n value: this.webex.internal.device.userId\n });\n }\n\n if (this.webex.internal.device.orgId) {\n metadataArray.push({\n key: 'orgId',\n value: this.webex.internal.device.orgId\n });\n }\n\n return metadataArray;\n }\n});\n\nexport default Support;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/internal-plugin-support",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.13",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "nickclar <nickclar@cisco.com>",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
]
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
25
|
-
"@webex/internal-plugin-search": "3.0.0-beta.
|
|
26
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
27
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
28
|
-
"@webex/test-helper-file": "3.0.0-beta.
|
|
29
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
30
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
31
|
-
"@webex/webex-core": "3.0.0-beta.
|
|
24
|
+
"@webex/internal-plugin-device": "3.0.0-beta.13",
|
|
25
|
+
"@webex/internal-plugin-search": "3.0.0-beta.13",
|
|
26
|
+
"@webex/internal-plugin-support": "3.0.0-beta.13",
|
|
27
|
+
"@webex/test-helper-chai": "3.0.0-beta.13",
|
|
28
|
+
"@webex/test-helper-file": "3.0.0-beta.13",
|
|
29
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.13",
|
|
30
|
+
"@webex/test-helper-test-users": "3.0.0-beta.13",
|
|
31
|
+
"@webex/webex-core": "3.0.0-beta.13",
|
|
32
32
|
"lodash": "^4.17.21",
|
|
33
33
|
"uuid": "^3.3.2"
|
|
34
34
|
}
|
package/src/support.js
CHANGED
|
@@ -110,13 +110,19 @@ const Support = WebexPlugin.extend({
|
|
|
110
110
|
});
|
|
111
111
|
},
|
|
112
112
|
|
|
113
|
+
/**
|
|
114
|
+
* Constructs an array of key-value pairs for log upload.
|
|
115
|
+
* @param {*} metadata
|
|
116
|
+
* @returns {array}
|
|
117
|
+
*/
|
|
113
118
|
_constructFileMetadata(metadata) {
|
|
114
119
|
const metadataArray = [
|
|
115
120
|
'locusId',
|
|
116
121
|
'callStart',
|
|
117
122
|
'feedbackId',
|
|
118
123
|
'correlationId',
|
|
119
|
-
'meetingId'
|
|
124
|
+
'meetingId',
|
|
125
|
+
'surveySessionId'
|
|
120
126
|
].map((key) => {
|
|
121
127
|
if (metadata[key]) {
|
|
122
128
|
return {
|
|
@@ -66,6 +66,14 @@ describe('plugin-support', function () {
|
|
|
66
66
|
|
|
67
67
|
assert.isTrue(result.filter((r) => r.key === 'orgId').length === 0);
|
|
68
68
|
});
|
|
69
|
+
|
|
70
|
+
it('sends surveySessionId if specified in metadata', () => {
|
|
71
|
+
const surveySessionId = 'survey-session-id';
|
|
72
|
+
const result = webex.internal.support._constructFileMetadata({surveySessionId});
|
|
73
|
+
const found = result.find((attr) => attr.key === 'surveySessionId');
|
|
74
|
+
|
|
75
|
+
assert.equal(found?.value, surveySessionId);
|
|
76
|
+
});
|
|
69
77
|
});
|
|
70
78
|
|
|
71
79
|
describe('#submitLogs()', () => {
|