@webex/webex-server 2.29.3 → 2.52.8

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 ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
@@ -0,0 +1,3 @@
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n"],"mappings":"AAAA;AACA;AACA"}
1
+ {"version":3,"names":[],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n"],"mappings":"AAAA;AACA;AACA;AAFA"}
package/dist/index.js CHANGED
@@ -1,36 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
-
5
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
6
-
7
4
  var _compression = _interopRequireDefault(require("compression"));
8
-
9
5
  var _cors = _interopRequireDefault(require("cors"));
10
-
11
6
  var _errorhandler = _interopRequireDefault(require("errorhandler"));
12
-
13
7
  var _express = _interopRequireDefault(require("express"));
14
-
15
8
  var _morgan = _interopRequireDefault(require("morgan"));
16
-
17
9
  var _onFinished = _interopRequireDefault(require("on-finished"));
18
-
19
10
  var _express2 = _interopRequireDefault(require("request-id/express"));
20
-
21
11
  var _responseTime = _interopRequireDefault(require("response-time"));
22
-
23
12
  var _uuid = _interopRequireDefault(require("uuid"));
24
-
25
13
  var _webex = _interopRequireDefault(require("./webex"));
26
-
27
14
  var _session = _interopRequireDefault(require("./session"));
28
-
29
15
  /*!
30
16
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
31
17
  */
32
18
 
33
19
  /* eslint-disable no-console */
20
+
34
21
  var app = (0, _express.default)();
35
22
  app.use((0, _responseTime.default)());
36
23
  app.use((0, _express2.default)({
@@ -56,12 +43,11 @@ app.use((0, _cors.default)({
56
43
  maxAge: 24 * 60 * 60
57
44
  }));
58
45
  app.get('/ping', function (req, res) {
59
- res.send((0, _assign.default)({
46
+ res.send({
60
47
  name: '@webex/webex-server',
61
- version: "2.29.3"
62
- }, {
48
+ version: "2.52.8",
63
49
  'sdk-version': _webex.default.version
64
- }));
50
+ });
65
51
  });
66
52
  app.use('/api/v1', _session.default);
67
53
  app.use((0, _errorhandler.default)());
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["app","express","use","responseTime","requestId","generator","sequence","uuid","v4","reqHeader","resHeader","morgan","req","res","next","onFinished","console","info","method","toUpperCase","path","statusCode","getHeader","compression","cors","origin","credentials","maxAge","get","send","name","version","Webex","sessionRouter","errorHandler","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-disable no-console */\n\nimport compression from 'compression';\nimport cors from 'cors';\nimport errorHandler from 'errorhandler';\nimport express from 'express';\nimport morgan from 'morgan';\nimport onFinished from 'on-finished';\nimport requestId from 'request-id/express';\nimport responseTime from 'response-time';\nimport uuid from 'uuid';\n\nimport Webex from './webex';\nimport sessionRouter from './session';\n\nconst app = express();\n\napp.use(responseTime());\napp.use(requestId({\n generator() {\n // TODO get sequence from session data\n const sequence = 0;\n\n return `webex-server_${uuid.v4()}_${sequence}`;\n },\n reqHeader: 'TrackingID',\n resHeader: 'TrackingID'\n}));\napp.use(morgan('dev'));\napp.use((req, res, next) => {\n onFinished(res, () => {\n console.info(req.method.toUpperCase(), req.path, res.statusCode, res.getHeader('X-Response-Time'));\n });\n next();\n});\napp.use(compression());\napp.use(cors({\n origin: true,\n credentials: true,\n maxAge: 24 * 60 * 60\n}));\n\napp.get('/ping', (req, res) => {\n res.send(Object.assign({name: '@webex/webex-server', version: PACKAGE_VERSION}, {\n 'sdk-version': Webex.version\n }));\n});\n\napp.use('/api/v1', sessionRouter);\n\napp.use(errorHandler());\n\nmodule.exports = app;\n"],"mappings":";;;;;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAjBA;AACA;AACA;;AAEA;AAeA,IAAMA,GAAG,GAAG,IAAAC,gBAAA,GAAZ;AAEAD,GAAG,CAACE,GAAJ,CAAQ,IAAAC,qBAAA,GAAR;AACAH,GAAG,CAACE,GAAJ,CAAQ,IAAAE,iBAAA,EAAU;EAChBC,SADgB,uBACJ;IACV;IACA,IAAMC,QAAQ,GAAG,CAAjB;IAEA,8BAAuBC,aAAA,CAAKC,EAAL,EAAvB,cAAoCF,QAApC;EACD,CANe;EAOhBG,SAAS,EAAE,YAPK;EAQhBC,SAAS,EAAE;AARK,CAAV,CAAR;AAUAV,GAAG,CAACE,GAAJ,CAAQ,IAAAS,eAAA,EAAO,KAAP,CAAR;AACAX,GAAG,CAACE,GAAJ,CAAQ,UAACU,GAAD,EAAMC,GAAN,EAAWC,IAAX,EAAoB;EAC1B,IAAAC,mBAAA,EAAWF,GAAX,EAAgB,YAAM;IACpBG,OAAO,CAACC,IAAR,CAAaL,GAAG,CAACM,MAAJ,CAAWC,WAAX,EAAb,EAAuCP,GAAG,CAACQ,IAA3C,EAAiDP,GAAG,CAACQ,UAArD,EAAiER,GAAG,CAACS,SAAJ,CAAc,iBAAd,CAAjE;EACD,CAFD;EAGAR,IAAI;AACL,CALD;AAMAd,GAAG,CAACE,GAAJ,CAAQ,IAAAqB,oBAAA,GAAR;AACAvB,GAAG,CAACE,GAAJ,CAAQ,IAAAsB,aAAA,EAAK;EACXC,MAAM,EAAE,IADG;EAEXC,WAAW,EAAE,IAFF;EAGXC,MAAM,EAAE,KAAK,EAAL,GAAU;AAHP,CAAL,CAAR;AAMA3B,GAAG,CAAC4B,GAAJ,CAAQ,OAAR,EAAiB,UAAChB,GAAD,EAAMC,GAAN,EAAc;EAC7BA,GAAG,CAACgB,IAAJ,CAAS,qBAAc;IAACC,IAAI,EAAE,qBAAP;IAA8BC,OAAO;EAArC,CAAd,EAAuE;IAC9E,eAAeC,cAAA,CAAMD;EADyD,CAAvE,CAAT;AAGD,CAJD;AAMA/B,GAAG,CAACE,GAAJ,CAAQ,SAAR,EAAmB+B,gBAAnB;AAEAjC,GAAG,CAACE,GAAJ,CAAQ,IAAAgC,qBAAA,GAAR;AAEAC,MAAM,CAACC,OAAP,GAAiBpC,GAAjB"}
1
+ {"version":3,"names":["_compression","_interopRequireDefault","require","_cors","_errorhandler","_express","_morgan","_onFinished","_express2","_responseTime","_uuid","_webex","_session","app","express","use","responseTime","requestId","generator","sequence","concat","uuid","v4","reqHeader","resHeader","morgan","req","res","next","onFinished","console","info","method","toUpperCase","path","statusCode","getHeader","compression","cors","origin","credentials","maxAge","get","send","name","version","Webex","sessionRouter","errorHandler","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-disable no-console */\n\nimport compression from 'compression';\nimport cors from 'cors';\nimport errorHandler from 'errorhandler';\nimport express from 'express';\nimport morgan from 'morgan';\nimport onFinished from 'on-finished';\nimport requestId from 'request-id/express';\nimport responseTime from 'response-time';\nimport uuid from 'uuid';\n\nimport Webex from './webex';\nimport sessionRouter from './session';\n\nconst app = express();\n\napp.use(responseTime());\napp.use(\n requestId({\n generator() {\n // TODO get sequence from session data\n const sequence = 0;\n\n return `webex-server_${uuid.v4()}_${sequence}`;\n },\n reqHeader: 'TrackingID',\n resHeader: 'TrackingID',\n })\n);\napp.use(morgan('dev'));\napp.use((req, res, next) => {\n onFinished(res, () => {\n console.info(\n req.method.toUpperCase(),\n req.path,\n res.statusCode,\n res.getHeader('X-Response-Time')\n );\n });\n next();\n});\napp.use(compression());\napp.use(\n cors({\n origin: true,\n credentials: true,\n maxAge: 24 * 60 * 60,\n })\n);\n\napp.get('/ping', (req, res) => {\n res.send({\n name: '@webex/webex-server',\n version: PACKAGE_VERSION,\n 'sdk-version': Webex.version,\n });\n});\n\napp.use('/api/v1', sessionRouter);\n\napp.use(errorHandler());\n\nmodule.exports = app;\n"],"mappings":";;;AAMA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,KAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AAjBA;AACA;AACA;;AAEA;;AAeA,IAAMW,GAAG,GAAG,IAAAC,gBAAO,GAAE;AAErBD,GAAG,CAACE,GAAG,CAAC,IAAAC,qBAAY,GAAE,CAAC;AACvBH,GAAG,CAACE,GAAG,CACL,IAAAE,iBAAS,EAAC;EACRC,SAAS,WAAAA,UAAA,EAAG;IACV;IACA,IAAMC,QAAQ,GAAG,CAAC;IAElB,uBAAAC,MAAA,CAAuBC,aAAI,CAACC,EAAE,EAAE,OAAAF,MAAA,CAAID,QAAQ;EAC9C,CAAC;EACDI,SAAS,EAAE,YAAY;EACvBC,SAAS,EAAE;AACb,CAAC,CAAC,CACH;AACDX,GAAG,CAACE,GAAG,CAAC,IAAAU,eAAM,EAAC,KAAK,CAAC,CAAC;AACtBZ,GAAG,CAACE,GAAG,CAAC,UAACW,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAK;EAC1B,IAAAC,mBAAU,EAACF,GAAG,EAAE,YAAM;IACpBG,OAAO,CAACC,IAAI,CACVL,GAAG,CAACM,MAAM,CAACC,WAAW,EAAE,EACxBP,GAAG,CAACQ,IAAI,EACRP,GAAG,CAACQ,UAAU,EACdR,GAAG,CAACS,SAAS,CAAC,iBAAiB,CAAC,CACjC;EACH,CAAC,CAAC;EACFR,IAAI,EAAE;AACR,CAAC,CAAC;AACFf,GAAG,CAACE,GAAG,CAAC,IAAAsB,oBAAW,GAAE,CAAC;AACtBxB,GAAG,CAACE,GAAG,CACL,IAAAuB,aAAI,EAAC;EACHC,MAAM,EAAE,IAAI;EACZC,WAAW,EAAE,IAAI;EACjBC,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG;AACpB,CAAC,CAAC,CACH;AAED5B,GAAG,CAAC6B,GAAG,CAAC,OAAO,EAAE,UAAChB,GAAG,EAAEC,GAAG,EAAK;EAC7BA,GAAG,CAACgB,IAAI,CAAC;IACPC,IAAI,EAAE,qBAAqB;IAC3BC,OAAO,UAAiB;IACxB,aAAa,EAAEC,cAAK,CAACD;EACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFhC,GAAG,CAACE,GAAG,CAAC,SAAS,EAAEgC,gBAAa,CAAC;AAEjClC,GAAG,CAACE,GAAG,CAAC,IAAAiC,qBAAY,GAAE,CAAC;AAEvBC,MAAM,CAACC,OAAO,GAAGrC,GAAG"}
@@ -1,27 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _setImmediate2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/set-immediate"));
14
-
15
10
  var _create = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/create"));
16
-
17
11
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
18
-
19
12
  var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
20
-
21
13
  var _store = _interopRequireDefault(require("express-session/session/store"));
22
-
23
14
  var _util = _interopRequireDefault(require("util"));
24
-
25
15
  /*!
26
16
  * Almost a direct copy of express-session/sessions/memory.js, except the JSON
27
17
  * serialization/deserialization has been removed.
@@ -36,9 +26,9 @@ var _util = _interopRequireDefault(require("util"));
36
26
  * Copyright(c) 2015 Douglas Christopher Wilson
37
27
  * MIT Licensed
38
28
  */
29
+
39
30
  // Disable eslint since this is a very lightly modified copy of the built-in
40
31
  // MemoryStore
41
-
42
32
  /* eslint-disable */
43
33
 
44
34
  /**
@@ -55,29 +45,27 @@ var _util = _interopRequireDefault(require("util"));
55
45
  var defer = typeof _setImmediate2.default === 'function' ? _setImmediate2.default : function (fn) {
56
46
  process.nextTick(fn.bind.apply(fn, arguments));
57
47
  };
48
+
58
49
  /**
59
50
  * Module exports.
60
51
  */
61
-
62
52
  var _default = MemoryStore;
63
53
  /**
64
54
  * A session store in memory.
65
55
  * @public
66
56
  */
67
-
68
57
  exports.default = _default;
69
-
70
58
  function MemoryStore() {
71
59
  _store.default.call(this);
72
-
73
60
  this.sessions = (0, _create.default)(null);
74
61
  }
62
+
75
63
  /**
76
64
  * Inherit from Store.
77
65
  */
78
66
 
79
-
80
67
  _util.default.inherits(MemoryStore, _store.default);
68
+
81
69
  /**
82
70
  * Get all active sessions.
83
71
  *
@@ -85,22 +73,19 @@ _util.default.inherits(MemoryStore, _store.default);
85
73
  * @public
86
74
  */
87
75
 
88
-
89
76
  MemoryStore.prototype.all = function all(callback) {
90
77
  var sessionIds = (0, _keys.default)(this.sessions);
91
78
  var sessions = (0, _create.default)(null);
92
-
93
79
  for (var i = 0; i < sessionIds.length; i += 1) {
94
80
  var sessionId = sessionIds[i];
95
81
  var session = getSession.call(this, sessionId);
96
-
97
82
  if (session) {
98
83
  sessions[sessionId] = session;
99
84
  }
100
85
  }
101
-
102
86
  callback && defer(callback, null, sessions);
103
87
  };
88
+
104
89
  /**
105
90
  * Clear all sessions.
106
91
  *
@@ -108,11 +93,11 @@ MemoryStore.prototype.all = function all(callback) {
108
93
  * @public
109
94
  */
110
95
 
111
-
112
96
  MemoryStore.prototype.clear = function clear(callback) {
113
97
  this.sessions = (0, _create.default)(null);
114
98
  callback && defer(callback);
115
99
  };
100
+
116
101
  /**
117
102
  * Destroy the session associated with the given session ID.
118
103
  *
@@ -120,11 +105,11 @@ MemoryStore.prototype.clear = function clear(callback) {
120
105
  * @public
121
106
  */
122
107
 
123
-
124
108
  MemoryStore.prototype.destroy = function destroy(sessionId, callback) {
125
109
  delete this.sessions[sessionId];
126
110
  callback && defer(callback);
127
111
  };
112
+
128
113
  /**
129
114
  * Fetch session by the given session ID.
130
115
  *
@@ -133,10 +118,10 @@ MemoryStore.prototype.destroy = function destroy(sessionId, callback) {
133
118
  * @public
134
119
  */
135
120
 
136
-
137
121
  MemoryStore.prototype.get = function get(sessionId, callback) {
138
122
  defer(callback, null, getSession.call(this, sessionId));
139
123
  };
124
+
140
125
  /**
141
126
  * Commit the given session associated with the given sessionId to the store.
142
127
  *
@@ -153,18 +138,17 @@ MemoryStore.prototype.get = function get(sessionId, callback) {
153
138
  * @public
154
139
  */
155
140
 
156
-
157
141
  MemoryStore.prototype.length = function length(callback) {
158
142
  this.all(function (err, sessions) {
159
143
  if (err) return callback(err);
160
144
  callback(null, (0, _keys.default)(sessions).length);
161
145
  });
162
146
  };
163
-
164
147
  MemoryStore.prototype.set = function set(sessionId, session, callback) {
165
148
  this.sessions[sessionId] = session;
166
149
  callback && defer(callback);
167
150
  };
151
+
168
152
  /**
169
153
  * Touch the given session object associated with the given session ID.
170
154
  *
@@ -174,38 +158,33 @@ MemoryStore.prototype.set = function set(sessionId, session, callback) {
174
158
  * @public
175
159
  */
176
160
 
177
-
178
161
  MemoryStore.prototype.touch = function touch(sessionId, session, callback) {
179
162
  var currentSession = getSession.call(this, sessionId);
180
-
181
163
  if (currentSession) {
182
164
  // update expiration
183
165
  currentSession.cookie = session.cookie;
184
166
  this.sessions[sessionId] = currentSession;
185
167
  }
186
-
187
168
  callback && defer(callback);
188
169
  };
170
+
189
171
  /**
190
172
  * Get session from the store.
191
173
  * @private
192
174
  */
193
175
 
194
-
195
176
  function getSession(sessionId) {
196
177
  var sess = this.sessions[sessionId];
197
-
198
178
  if (!sess) {
199
179
  return;
200
180
  }
181
+ var expires = typeof sess.cookie.expires === 'string' ? new Date(sess.cookie.expires) : sess.cookie.expires;
201
182
 
202
- var expires = typeof sess.cookie.expires === 'string' ? new Date(sess.cookie.expires) : sess.cookie.expires; // destroy expired session
203
-
183
+ // destroy expired session
204
184
  if (expires && expires <= (0, _now.default)()) {
205
185
  delete this.sessions[sessionId];
206
186
  return;
207
187
  }
208
-
209
188
  return sess;
210
189
  }
211
190
  //# sourceMappingURL=memory-store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["defer","fn","process","nextTick","bind","apply","arguments","MemoryStore","Store","call","sessions","util","inherits","prototype","all","callback","sessionIds","i","length","sessionId","session","getSession","clear","destroy","get","err","set","touch","currentSession","cookie","sess","expires","Date"],"sources":["memory-store.js"],"sourcesContent":["/*!\n * Almost a direct copy of express-session/sessions/memory.js, except the JSON\n * serialization/deserialization has been removed.\n * https://raw.githubusercontent.com/expressjs/session/master/session/memory.js\n * @ignore\n */\n\n/*!\n * express-session\n * Copyright(c) 2010 Sencha Inc.\n * Copyright(c) 2011 TJ Holowaychuk\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n// Disable eslint since this is a very lightly modified copy of the built-in\n// MemoryStore\n/* eslint-disable */\n\n/**\n * Module dependencies.\n * @private\n */\n\nimport Store from 'express-session/session/store';\nimport util from 'util';\n\n/**\n * Shim setImmediate for node.js < 0.10\n * @private\n */\n\n/* istanbul ignore next */\nvar defer = typeof setImmediate === 'function'\n ? setImmediate\n : function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }\n\n/**\n * Module exports.\n */\n\nexport default MemoryStore\n\n/**\n * A session store in memory.\n * @public\n */\n\nfunction MemoryStore() {\n Store.call(this)\n this.sessions = Object.create(null)\n}\n\n/**\n * Inherit from Store.\n */\n\nutil.inherits(MemoryStore, Store)\n\n/**\n * Get all active sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.all = function all(callback) {\n var sessionIds = Object.keys(this.sessions)\n var sessions = Object.create(null)\n\n for (var i = 0; i < sessionIds.length; i+= 1) {\n var sessionId = sessionIds[i]\n var session = getSession.call(this, sessionId)\n\n if (session) {\n sessions[sessionId] = session;\n }\n }\n\n callback && defer(callback, null, sessions)\n}\n\n/**\n * Clear all sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.clear = function clear(callback) {\n this.sessions = Object.create(null)\n callback && defer(callback)\n}\n\n/**\n * Destroy the session associated with the given session ID.\n *\n * @param {string} sessionId\n * @public\n */\n\nMemoryStore.prototype.destroy = function destroy(sessionId, callback) {\n delete this.sessions[sessionId]\n callback && defer(callback)\n}\n\n/**\n * Fetch session by the given session ID.\n *\n * @param {string} sessionId\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.get = function get(sessionId, callback) {\n defer(callback, null, getSession.call(this, sessionId))\n}\n\n/**\n * Commit the given session associated with the given sessionId to the store.\n *\n * @param {string} sessionId\n * @param {object} session\n * @param {function} callback\n * @public\n */\n\n/**\n * Get number of active sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.length = function length(callback) {\n this.all(function (err, sessions) {\n if (err) return callback(err)\n callback(null, Object.keys(sessions).length)\n })\n}\n\nMemoryStore.prototype.set = function set(sessionId, session, callback) {\n this.sessions[sessionId] = session\n callback && defer(callback)\n}\n\n/**\n * Touch the given session object associated with the given session ID.\n *\n * @param {string} sessionId\n * @param {object} session\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.touch = function touch(sessionId, session, callback) {\n var currentSession = getSession.call(this, sessionId)\n\n if (currentSession) {\n // update expiration\n currentSession.cookie = session.cookie\n this.sessions[sessionId] = currentSession\n }\n\n callback && defer(callback)\n}\n\n/**\n * Get session from the store.\n * @private\n */\n\nfunction getSession(sessionId) {\n var sess = this.sessions[sessionId]\n\n if (!sess) {\n return\n }\n\n var expires = typeof sess.cookie.expires === 'string'\n ? new Date(sess.cookie.expires)\n : sess.cookie.expires\n\n // destroy expired session\n if (expires && expires <= Date.now()) {\n delete this.sessions[sessionId]\n return\n }\n\n return sess\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_store","_interopRequireDefault","require","_util","defer","_setImmediate2","default","fn","process","nextTick","bind","apply","arguments","_default","MemoryStore","exports","Store","call","sessions","_create","util","inherits","prototype","all","callback","sessionIds","_keys","i","length","sessionId","session","getSession","clear","destroy","get","err","set","touch","currentSession","cookie","sess","expires","Date","_now"],"sources":["memory-store.js"],"sourcesContent":["/*!\n * Almost a direct copy of express-session/sessions/memory.js, except the JSON\n * serialization/deserialization has been removed.\n * https://raw.githubusercontent.com/expressjs/session/master/session/memory.js\n * @ignore\n */\n\n/*!\n * express-session\n * Copyright(c) 2010 Sencha Inc.\n * Copyright(c) 2011 TJ Holowaychuk\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n// Disable eslint since this is a very lightly modified copy of the built-in\n// MemoryStore\n/* eslint-disable */\n\n/**\n * Module dependencies.\n * @private\n */\n\nimport Store from 'express-session/session/store';\nimport util from 'util';\n\n/**\n * Shim setImmediate for node.js < 0.10\n * @private\n */\n\n/* istanbul ignore next */\nvar defer =\n typeof setImmediate === 'function'\n ? setImmediate\n : function (fn) {\n process.nextTick(fn.bind.apply(fn, arguments));\n };\n\n/**\n * Module exports.\n */\n\nexport default MemoryStore;\n\n/**\n * A session store in memory.\n * @public\n */\n\nfunction MemoryStore() {\n Store.call(this);\n this.sessions = Object.create(null);\n}\n\n/**\n * Inherit from Store.\n */\n\nutil.inherits(MemoryStore, Store);\n\n/**\n * Get all active sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.all = function all(callback) {\n var sessionIds = Object.keys(this.sessions);\n var sessions = Object.create(null);\n\n for (var i = 0; i < sessionIds.length; i += 1) {\n var sessionId = sessionIds[i];\n var session = getSession.call(this, sessionId);\n\n if (session) {\n sessions[sessionId] = session;\n }\n }\n\n callback && defer(callback, null, sessions);\n};\n\n/**\n * Clear all sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.clear = function clear(callback) {\n this.sessions = Object.create(null);\n callback && defer(callback);\n};\n\n/**\n * Destroy the session associated with the given session ID.\n *\n * @param {string} sessionId\n * @public\n */\n\nMemoryStore.prototype.destroy = function destroy(sessionId, callback) {\n delete this.sessions[sessionId];\n callback && defer(callback);\n};\n\n/**\n * Fetch session by the given session ID.\n *\n * @param {string} sessionId\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.get = function get(sessionId, callback) {\n defer(callback, null, getSession.call(this, sessionId));\n};\n\n/**\n * Commit the given session associated with the given sessionId to the store.\n *\n * @param {string} sessionId\n * @param {object} session\n * @param {function} callback\n * @public\n */\n\n/**\n * Get number of active sessions.\n *\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.length = function length(callback) {\n this.all(function (err, sessions) {\n if (err) return callback(err);\n callback(null, Object.keys(sessions).length);\n });\n};\n\nMemoryStore.prototype.set = function set(sessionId, session, callback) {\n this.sessions[sessionId] = session;\n callback && defer(callback);\n};\n\n/**\n * Touch the given session object associated with the given session ID.\n *\n * @param {string} sessionId\n * @param {object} session\n * @param {function} callback\n * @public\n */\n\nMemoryStore.prototype.touch = function touch(sessionId, session, callback) {\n var currentSession = getSession.call(this, sessionId);\n\n if (currentSession) {\n // update expiration\n currentSession.cookie = session.cookie;\n this.sessions[sessionId] = currentSession;\n }\n\n callback && defer(callback);\n};\n\n/**\n * Get session from the store.\n * @private\n */\n\nfunction getSession(sessionId) {\n var sess = this.sessions[sessionId];\n\n if (!sess) {\n return;\n }\n\n var expires =\n typeof sess.cookie.expires === 'string' ? new Date(sess.cookie.expires) : sess.cookie.expires;\n\n // destroy expired session\n if (expires && expires <= Date.now()) {\n delete this.sessions[sessionId];\n return;\n }\n\n return sess;\n}\n"],"mappings":"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"}
package/dist/session.js CHANGED
@@ -1,48 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/apply"));
14
-
15
10
  var _get2 = _interopRequireDefault(require("lodash/get"));
16
-
17
11
  var _fs = _interopRequireDefault(require("fs"));
18
-
19
12
  var _util = _interopRequireDefault(require("util"));
20
-
21
13
  var _bodyParser = _interopRequireDefault(require("body-parser"));
22
-
23
14
  var _express = _interopRequireDefault(require("express"));
24
-
25
15
  var _expressValidator = _interopRequireDefault(require("express-validator"));
26
-
27
16
  var _expressSession = _interopRequireDefault(require("express-session"));
28
-
29
17
  var _webex = _interopRequireDefault(require("./webex"));
30
-
31
18
  var _memoryStore = _interopRequireDefault(require("./memory-store"));
32
-
33
19
  /*!
34
20
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
35
21
  */
36
22
 
37
23
  /* eslint-disable camelcase */
38
-
39
24
  /* eslint-disable no-console */
40
25
  // express induces more callbacks than usual
41
-
42
26
  /* eslint-disable max-nested-callbacks */
27
+
43
28
  // eslint-disable-next-line
44
29
  var router = _express.default.Router();
45
-
46
30
  var _default = router;
47
31
  exports.default = _default;
48
32
  router.use(_bodyParser.default.json());
@@ -53,28 +37,26 @@ router.use((0, _expressSession.default)({
53
37
  secret: 'keyboardcat',
54
38
  store: new _memoryStore.default()
55
39
  }));
40
+
56
41
  /**
57
42
  * Return the details for a given session
58
43
  * @type {Function}
59
44
  */
60
-
61
45
  router.get('/session', function (req, res) {
62
46
  var webex = req.session.webex;
63
-
64
47
  if (!webex) {
65
48
  res.status(404).end();
66
49
  return;
67
50
  }
68
-
69
51
  res.status(200).send({
70
52
  webex: webex.serialize()
71
53
  }).end();
72
54
  });
55
+
73
56
  /**
74
57
  * Initialize a webex instance, connect it to mercury, and set a session cookie.
75
58
  * @type {Function}
76
59
  */
77
-
78
60
  router.put('/session', function (req, res, next) {
79
61
  req.checkBody('clientId').notEmpty();
80
62
  req.checkBody('clientSecret').notEmpty();
@@ -91,7 +73,6 @@ router.put('/session', function (req, res, next) {
91
73
  res.status(400).send("".concat(result.array()[0].param, " is missing"));
92
74
  return;
93
75
  }
94
-
95
76
  var webex = new _webex.default({
96
77
  credentials: req.body.user.token,
97
78
  config: {
@@ -114,27 +95,24 @@ router.put('/session', function (req, res, next) {
114
95
  });
115
96
  });
116
97
  });
98
+
117
99
  /**
118
100
  * Disconnect a webex instance and unregister its device
119
101
  */
120
-
121
102
  router.delete('/session', function (req, res, next) {
122
103
  var webex = req.session.webex;
123
-
124
104
  if (!webex) {
125
105
  res.status(404).send({
126
106
  err: 'no webex instance found for session'
127
107
  }).end();
128
108
  return;
129
109
  }
130
-
131
110
  webex.internal.mercury.disconnect().then(function () {
132
111
  req.session.destroy(function (err) {
133
112
  if (err) {
134
113
  next(err);
135
114
  return;
136
115
  }
137
-
138
116
  res.status(204).end();
139
117
  });
140
118
  }).catch(function (err) {
@@ -143,7 +121,6 @@ router.delete('/session', function (req, res, next) {
143
121
  next(err2);
144
122
  return;
145
123
  }
146
-
147
124
  next(err);
148
125
  });
149
126
  });
@@ -151,7 +128,6 @@ router.delete('/session', function (req, res, next) {
151
128
  router.post('/session/invoke/internal/conversation/share', function (req, res) {
152
129
  console.info('invoke conversation share called');
153
130
  var webex = req.session.webex;
154
-
155
131
  if (!webex) {
156
132
  console.info('invoke: No session found - did you forget to hit /session?');
157
133
  res.status(404).send({
@@ -159,12 +135,10 @@ router.post('/session/invoke/internal/conversation/share', function (req, res) {
159
135
  }).end();
160
136
  return;
161
137
  }
162
-
163
138
  var share = webex.internal.conversation.makeShare(req.body[0]);
164
139
  req.body[1].files.forEach(function (fileJson) {
165
140
  var file = _fs.default.readFileSync(fileJson.path); // eslint-disable-line no-sync
166
141
 
167
-
168
142
  file.name = fileJson.displayName;
169
143
  share.add(file);
170
144
  });
@@ -181,14 +155,13 @@ router.post('/session/invoke/internal/conversation/share', function (req, res) {
181
155
  }).end();
182
156
  });
183
157
  });
158
+
184
159
  /**
185
160
  * Invoke an sdk method.
186
161
  */
187
-
188
162
  router.post(/^\/session\/invoke\/.*/, function (req, res) {
189
163
  console.info('invoke called');
190
164
  var webex = req.session.webex;
191
-
192
165
  if (!webex) {
193
166
  console.info('invoke: No session found - did you forget to hit /session?');
194
167
  res.status(404).send({
@@ -196,7 +169,6 @@ router.post(/^\/session\/invoke\/.*/, function (req, res) {
196
169
  }).end();
197
170
  return;
198
171
  }
199
-
200
172
  var invokePath = req.url.substr(req.url.indexOf('invoke') + 7);
201
173
  var keypath = invokePath.split('/');
202
174
  var method = (0, _get2.default)(webex, keypath.join('.'));
@@ -204,11 +176,9 @@ router.post(/^\/session\/invoke\/.*/, function (req, res) {
204
176
  var methodName = keypath.pop();
205
177
  console.info(222, methodName);
206
178
  var context = (0, _get2.default)(webex, keypath.join('.'));
207
-
208
179
  if (!context) {
209
180
  context = webex;
210
181
  }
211
-
212
182
  console.info(333, context);
213
183
  var label = "webex.".concat(keypath.join('.'), ".").concat(methodName, "()");
214
184
  console.info("invoke: invoking \"".concat(label, "\" with arguments\n"), _util.default.inspect(req.body));
@@ -1 +1 @@
1
- {"version":3,"names":["router","express","Router","use","bodyParser","json","validator","session","resave","saveUninitialized","secret","store","MemoryStore","get","req","res","webex","status","end","send","serialize","put","next","checkBody","notEmpty","getValidationResult","then","result","isEmpty","console","info","array","param","WebexCore","credentials","body","user","token","config","client_id","clientId","client_secret","clientSecret","redirect_uri","redirectUri","scope","internal","mercury","connect","catch","err","error","delete","disconnect","destroy","err2","post","message","share","conversation","makeShare","files","forEach","fileJson","file","fs","readFileSync","path","name","displayName","add","util","inspect","reason","log","toString","upstreamStatusCode","statusCode","upstreamResponse","invokePath","url","substr","indexOf","keypath","split","method","join","methodName","pop","context","label"],"sources":["session.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport fs from 'fs';\nimport util from 'util';\n\nimport bodyParser from 'body-parser';\nimport express from 'express';\nimport validator from 'express-validator';\nimport session from 'express-session';\nimport {get} from 'lodash';\n\nimport WebexCore from './webex';\nimport MemoryStore from './memory-store';\n\n\n/* eslint-disable camelcase */\n/* eslint-disable no-console */\n// express induces more callbacks than usual\n/* eslint-disable max-nested-callbacks */\n\n// eslint-disable-next-line\nconst router = express.Router();\n\nexport default router;\n\nrouter.use(bodyParser.json());\nrouter.use(validator());\nrouter.use(session({\n resave: true,\n saveUninitialized: true,\n secret: 'keyboardcat',\n store: new MemoryStore()\n}));\n\n/**\n * Return the details for a given session\n * @type {Function}\n */\nrouter.get('/session', (req, res) => {\n const {webex} = req.session;\n\n if (!webex) {\n res\n .status(404)\n .end();\n\n return;\n }\n\n res\n .status(200)\n .send({\n webex: webex.serialize()\n })\n .end();\n});\n\n/**\n * Initialize a webex instance, connect it to mercury, and set a session cookie.\n * @type {Function}\n */\nrouter.put('/session', (req, res, next) => {\n req.checkBody('clientId').notEmpty();\n req.checkBody('clientSecret').notEmpty();\n req.checkBody('redirectUri').notEmpty();\n req.checkBody('scope').notEmpty();\n req.checkBody('user').notEmpty();\n req.checkBody('user.token').notEmpty();\n req.checkBody('user.token.access_token').notEmpty();\n req.checkBody('user.token.token_type').notEmpty();\n req.checkBody('user.token.expires_in').notEmpty();\n\n req.getValidationResult()\n .then((result) => {\n if (!result.isEmpty()) {\n console.info(result.array());\n res\n .status(400)\n .send(`${result.array()[0].param} is missing`);\n\n return;\n }\n const webex = new WebexCore({\n credentials: req.body.user.token,\n config: {\n credentials: {\n client_id: req.body.clientId,\n client_secret: req.body.clientSecret,\n redirect_uri: req.body.redirectUri,\n scope: req.body.scope\n }\n }\n });\n\n req.session.webex = webex;\n\n webex.internal.mercury.connect()\n .then(() => res\n .status(200)\n .send({webex})\n .end())\n .catch((err) => {\n console.error(err);\n next(err);\n });\n });\n});\n\n/**\n * Disconnect a webex instance and unregister its device\n */\nrouter.delete('/session', (req, res, next) => {\n const {webex} = req.session;\n\n if (!webex) {\n res\n .status(404)\n .send({\n err: 'no webex instance found for session'\n })\n .end();\n\n return;\n }\n\n webex.internal.mercury.disconnect()\n .then(() => {\n req.session\n .destroy((err) => {\n if (err) {\n next(err);\n\n return;\n }\n\n res\n .status(204)\n .end();\n });\n })\n .catch((err) => {\n req.session\n .destroy((err2) => {\n if (err2) {\n next(err2);\n\n return;\n }\n next(err);\n });\n });\n});\n\nrouter.post('/session/invoke/internal/conversation/share', (req, res) => {\n console.info('invoke conversation share called');\n const {webex} = req.session;\n\n if (!webex) {\n console.info('invoke: No session found - did you forget to hit /session?');\n res\n .status(404)\n .send({\n message: 'No session found - did you forget to hit /session?'\n })\n .end();\n\n return;\n }\n\n const share = webex.internal.conversation.makeShare(req.body[0]);\n\n req.body[1].files.forEach((fileJson) => {\n const file = fs.readFileSync(fileJson.path); // eslint-disable-line no-sync\n\n file.name = fileJson.displayName;\n share.add(file);\n });\n\n console.info('invoke: invoking \"conversation.share\" with arguments\\n', util.inspect(req.body));\n webex.internal.conversation.share(req.body[0], share)\n .then((result) => {\n res.status(200).send(result).end();\n })\n .catch((reason) => {\n console.log(reason);\n res.status(400).send({\n message: 'An error occured while processing your request',\n error: reason.toString(),\n upstreamStatusCode: reason.statusCode,\n upstreamResponse: reason.body\n }).end();\n });\n});\n\n/**\n * Invoke an sdk method.\n */\nrouter.post(/^\\/session\\/invoke\\/.*/, (req, res) => {\n console.info('invoke called');\n const {webex} = req.session;\n\n if (!webex) {\n console.info('invoke: No session found - did you forget to hit /session?');\n res\n .status(404)\n .send({\n message: 'No session found - did you forget to hit /session?'\n })\n .end();\n\n return;\n }\n\n const invokePath = req.url.substr(req.url.indexOf('invoke') + 7);\n const keypath = invokePath.split('/');\n\n const method = get(webex, keypath.join('.'));\n\n console.info(111, method, keypath);\n const methodName = keypath.pop();\n\n console.info(222, methodName);\n\n let context = get(webex, keypath.join('.'));\n\n if (!context) {\n context = webex;\n }\n\n console.info(333, context);\n\n const label = `webex.${keypath.join('.')}.${methodName}()`;\n\n console.info(`invoke: invoking \"${label}\" with arguments\\n`, util.inspect(req.body));\n Reflect.apply(method, context, req.body)\n .then((result) => {\n console.info(`invoke: successfully invoked \"${label}\"`);\n res\n .status(200)\n .send(result)\n .end();\n })\n .catch((reason) => {\n console.error({req, err: reason}, `invoke: \"${label}\" failed with error`);\n res\n .status(502)\n .send({\n message: 'An error occured while processing your request',\n error: reason.toString(),\n upstreamStatusCode: reason.statusCode,\n upstreamResponse: reason.body\n })\n .end();\n });\n});\n"],"mappings":";;;;;;;;;;;;;;;;AAIA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AAdA;AACA;AACA;;AAeA;;AACA;AACA;;AACA;AAEA;AACA,IAAMA,MAAM,GAAGC,gBAAA,CAAQC,MAAR,EAAf;;eAEeF,M;;AAEfA,MAAM,CAACG,GAAP,CAAWC,mBAAA,CAAWC,IAAX,EAAX;AACAL,MAAM,CAACG,GAAP,CAAW,IAAAG,yBAAA,GAAX;AACAN,MAAM,CAACG,GAAP,CAAW,IAAAI,uBAAA,EAAQ;EACjBC,MAAM,EAAE,IADS;EAEjBC,iBAAiB,EAAE,IAFF;EAGjBC,MAAM,EAAE,aAHS;EAIjBC,KAAK,EAAE,IAAIC,oBAAJ;AAJU,CAAR,CAAX;AAOA;AACA;AACA;AACA;;AACAZ,MAAM,CAACa,GAAP,CAAW,UAAX,EAAuB,UAACC,GAAD,EAAMC,GAAN,EAAc;EACnC,IAAOC,KAAP,GAAgBF,GAAG,CAACP,OAApB,CAAOS,KAAP;;EAEA,IAAI,CAACA,KAAL,EAAY;IACVD,GAAG,CACAE,MADH,CACU,GADV,EAEGC,GAFH;IAIA;EACD;;EAEDH,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQ;IACJH,KAAK,EAAEA,KAAK,CAACI,SAAN;EADH,CAFR,EAKGF,GALH;AAMD,CAjBD;AAmBA;AACA;AACA;AACA;;AACAlB,MAAM,CAACqB,GAAP,CAAW,UAAX,EAAuB,UAACP,GAAD,EAAMC,GAAN,EAAWO,IAAX,EAAoB;EACzCR,GAAG,CAACS,SAAJ,CAAc,UAAd,EAA0BC,QAA1B;EACAV,GAAG,CAACS,SAAJ,CAAc,cAAd,EAA8BC,QAA9B;EACAV,GAAG,CAACS,SAAJ,CAAc,aAAd,EAA6BC,QAA7B;EACAV,GAAG,CAACS,SAAJ,CAAc,OAAd,EAAuBC,QAAvB;EACAV,GAAG,CAACS,SAAJ,CAAc,MAAd,EAAsBC,QAAtB;EACAV,GAAG,CAACS,SAAJ,CAAc,YAAd,EAA4BC,QAA5B;EACAV,GAAG,CAACS,SAAJ,CAAc,yBAAd,EAAyCC,QAAzC;EACAV,GAAG,CAACS,SAAJ,CAAc,uBAAd,EAAuCC,QAAvC;EACAV,GAAG,CAACS,SAAJ,CAAc,uBAAd,EAAuCC,QAAvC;EAEAV,GAAG,CAACW,mBAAJ,GACGC,IADH,CACQ,UAACC,MAAD,EAAY;IAChB,IAAI,CAACA,MAAM,CAACC,OAAP,EAAL,EAAuB;MACrBC,OAAO,CAACC,IAAR,CAAaH,MAAM,CAACI,KAAP,EAAb;MACAhB,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,WAEWQ,MAAM,CAACI,KAAP,GAAe,CAAf,EAAkBC,KAF7B;MAIA;IACD;;IACD,IAAMhB,KAAK,GAAG,IAAIiB,cAAJ,CAAc;MAC1BC,WAAW,EAAEpB,GAAG,CAACqB,IAAJ,CAASC,IAAT,CAAcC,KADD;MAE1BC,MAAM,EAAE;QACNJ,WAAW,EAAE;UACXK,SAAS,EAAEzB,GAAG,CAACqB,IAAJ,CAASK,QADT;UAEXC,aAAa,EAAE3B,GAAG,CAACqB,IAAJ,CAASO,YAFb;UAGXC,YAAY,EAAE7B,GAAG,CAACqB,IAAJ,CAASS,WAHZ;UAIXC,KAAK,EAAE/B,GAAG,CAACqB,IAAJ,CAASU;QAJL;MADP;IAFkB,CAAd,CAAd;IAYA/B,GAAG,CAACP,OAAJ,CAAYS,KAAZ,GAAoBA,KAApB;IAEAA,KAAK,CAAC8B,QAAN,CAAeC,OAAf,CAAuBC,OAAvB,GACGtB,IADH,CACQ;MAAA,OAAMX,GAAG,CACZE,MADS,CACF,GADE,EAETE,IAFS,CAEJ;QAACH,KAAK,EAALA;MAAD,CAFI,EAGTE,GAHS,EAAN;IAAA,CADR,EAKG+B,KALH,CAKS,UAACC,GAAD,EAAS;MACdrB,OAAO,CAACsB,KAAR,CAAcD,GAAd;MACA5B,IAAI,CAAC4B,GAAD,CAAJ;IACD,CARH;EASD,CAjCH;AAkCD,CA7CD;AA+CA;AACA;AACA;;AACAlD,MAAM,CAACoD,MAAP,CAAc,UAAd,EAA0B,UAACtC,GAAD,EAAMC,GAAN,EAAWO,IAAX,EAAoB;EAC5C,IAAON,KAAP,GAAgBF,GAAG,CAACP,OAApB,CAAOS,KAAP;;EAEA,IAAI,CAACA,KAAL,EAAY;IACVD,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQ;MACJ+B,GAAG,EAAE;IADD,CAFR,EAKGhC,GALH;IAOA;EACD;;EAEDF,KAAK,CAAC8B,QAAN,CAAeC,OAAf,CAAuBM,UAAvB,GACG3B,IADH,CACQ,YAAM;IACVZ,GAAG,CAACP,OAAJ,CACG+C,OADH,CACW,UAACJ,GAAD,EAAS;MAChB,IAAIA,GAAJ,EAAS;QACP5B,IAAI,CAAC4B,GAAD,CAAJ;QAEA;MACD;;MAEDnC,GAAG,CACAE,MADH,CACU,GADV,EAEGC,GAFH;IAGD,CAXH;EAYD,CAdH,EAeG+B,KAfH,CAeS,UAACC,GAAD,EAAS;IACdpC,GAAG,CAACP,OAAJ,CACG+C,OADH,CACW,UAACC,IAAD,EAAU;MACjB,IAAIA,IAAJ,EAAU;QACRjC,IAAI,CAACiC,IAAD,CAAJ;QAEA;MACD;;MACDjC,IAAI,CAAC4B,GAAD,CAAJ;IACD,CARH;EASD,CAzBH;AA0BD,CAxCD;AA0CAlD,MAAM,CAACwD,IAAP,CAAY,6CAAZ,EAA2D,UAAC1C,GAAD,EAAMC,GAAN,EAAc;EACvEc,OAAO,CAACC,IAAR,CAAa,kCAAb;EACA,IAAOd,KAAP,GAAgBF,GAAG,CAACP,OAApB,CAAOS,KAAP;;EAEA,IAAI,CAACA,KAAL,EAAY;IACVa,OAAO,CAACC,IAAR,CAAa,4DAAb;IACAf,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQ;MACJsC,OAAO,EAAE;IADL,CAFR,EAKGvC,GALH;IAOA;EACD;;EAED,IAAMwC,KAAK,GAAG1C,KAAK,CAAC8B,QAAN,CAAea,YAAf,CAA4BC,SAA5B,CAAsC9C,GAAG,CAACqB,IAAJ,CAAS,CAAT,CAAtC,CAAd;EAEArB,GAAG,CAACqB,IAAJ,CAAS,CAAT,EAAY0B,KAAZ,CAAkBC,OAAlB,CAA0B,UAACC,QAAD,EAAc;IACtC,IAAMC,IAAI,GAAGC,WAAA,CAAGC,YAAH,CAAgBH,QAAQ,CAACI,IAAzB,CAAb,CADsC,CACO;;;IAE7CH,IAAI,CAACI,IAAL,GAAYL,QAAQ,CAACM,WAArB;IACAX,KAAK,CAACY,GAAN,CAAUN,IAAV;EACD,CALD;EAOAnC,OAAO,CAACC,IAAR,CAAa,wDAAb,EAAuEyC,aAAA,CAAKC,OAAL,CAAa1D,GAAG,CAACqB,IAAjB,CAAvE;EACAnB,KAAK,CAAC8B,QAAN,CAAea,YAAf,CAA4BD,KAA5B,CAAkC5C,GAAG,CAACqB,IAAJ,CAAS,CAAT,CAAlC,EAA+CuB,KAA/C,EACGhC,IADH,CACQ,UAACC,MAAD,EAAY;IAChBZ,GAAG,CAACE,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqBQ,MAArB,EAA6BT,GAA7B;EACD,CAHH,EAIG+B,KAJH,CAIS,UAACwB,MAAD,EAAY;IACjB5C,OAAO,CAAC6C,GAAR,CAAYD,MAAZ;IACA1D,GAAG,CAACE,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqB;MACnBsC,OAAO,EAAE,gDADU;MAEnBN,KAAK,EAAEsB,MAAM,CAACE,QAAP,EAFY;MAGnBC,kBAAkB,EAAEH,MAAM,CAACI,UAHR;MAInBC,gBAAgB,EAAEL,MAAM,CAACtC;IAJN,CAArB,EAKGjB,GALH;EAMD,CAZH;AAaD,CAvCD;AAyCA;AACA;AACA;;AACAlB,MAAM,CAACwD,IAAP,CAAY,wBAAZ,EAAsC,UAAC1C,GAAD,EAAMC,GAAN,EAAc;EAClDc,OAAO,CAACC,IAAR,CAAa,eAAb;EACA,IAAOd,KAAP,GAAgBF,GAAG,CAACP,OAApB,CAAOS,KAAP;;EAEA,IAAI,CAACA,KAAL,EAAY;IACVa,OAAO,CAACC,IAAR,CAAa,4DAAb;IACAf,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQ;MACJsC,OAAO,EAAE;IADL,CAFR,EAKGvC,GALH;IAOA;EACD;;EAED,IAAM6D,UAAU,GAAGjE,GAAG,CAACkE,GAAJ,CAAQC,MAAR,CAAenE,GAAG,CAACkE,GAAJ,CAAQE,OAAR,CAAgB,QAAhB,IAA4B,CAA3C,CAAnB;EACA,IAAMC,OAAO,GAAGJ,UAAU,CAACK,KAAX,CAAiB,GAAjB,CAAhB;EAEA,IAAMC,MAAM,GAAG,mBAAIrE,KAAJ,EAAWmE,OAAO,CAACG,IAAR,CAAa,GAAb,CAAX,CAAf;EAEAzD,OAAO,CAACC,IAAR,CAAa,GAAb,EAAkBuD,MAAlB,EAA0BF,OAA1B;EACA,IAAMI,UAAU,GAAGJ,OAAO,CAACK,GAAR,EAAnB;EAEA3D,OAAO,CAACC,IAAR,CAAa,GAAb,EAAkByD,UAAlB;EAEA,IAAIE,OAAO,GAAG,mBAAIzE,KAAJ,EAAWmE,OAAO,CAACG,IAAR,CAAa,GAAb,CAAX,CAAd;;EAEA,IAAI,CAACG,OAAL,EAAc;IACZA,OAAO,GAAGzE,KAAV;EACD;;EAEDa,OAAO,CAACC,IAAR,CAAa,GAAb,EAAkB2D,OAAlB;EAEA,IAAMC,KAAK,mBAAYP,OAAO,CAACG,IAAR,CAAa,GAAb,CAAZ,cAAiCC,UAAjC,OAAX;EAEA1D,OAAO,CAACC,IAAR,8BAAkC4D,KAAlC,0BAA6DnB,aAAA,CAAKC,OAAL,CAAa1D,GAAG,CAACqB,IAAjB,CAA7D;EACA,oBAAckD,MAAd,EAAsBI,OAAtB,EAA+B3E,GAAG,CAACqB,IAAnC,EACGT,IADH,CACQ,UAACC,MAAD,EAAY;IAChBE,OAAO,CAACC,IAAR,0CAA8C4D,KAA9C;IACA3E,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQQ,MAFR,EAGGT,GAHH;EAID,CAPH,EAQG+B,KARH,CAQS,UAACwB,MAAD,EAAY;IACjB5C,OAAO,CAACsB,KAAR,CAAc;MAACrC,GAAG,EAAHA,GAAD;MAAMoC,GAAG,EAAEuB;IAAX,CAAd,sBAA8CiB,KAA9C;IACA3E,GAAG,CACAE,MADH,CACU,GADV,EAEGE,IAFH,CAEQ;MACJsC,OAAO,EAAE,gDADL;MAEJN,KAAK,EAAEsB,MAAM,CAACE,QAAP,EAFH;MAGJC,kBAAkB,EAAEH,MAAM,CAACI,UAHvB;MAIJC,gBAAgB,EAAEL,MAAM,CAACtC;IAJrB,CAFR,EAQGjB,GARH;EASD,CAnBH;AAoBD,CAzDD"}
1
+ {"version":3,"names":["_fs","_interopRequireDefault","require","_util","_bodyParser","_express","_expressValidator","_expressSession","_webex","_memoryStore","router","express","Router","_default","exports","default","use","bodyParser","json","validator","session","resave","saveUninitialized","secret","store","MemoryStore","get","req","res","webex","status","end","send","serialize","put","next","checkBody","notEmpty","getValidationResult","then","result","isEmpty","console","info","array","concat","param","WebexCore","credentials","body","user","token","config","client_id","clientId","client_secret","clientSecret","redirect_uri","redirectUri","scope","internal","mercury","connect","catch","err","error","delete","disconnect","destroy","err2","post","message","share","conversation","makeShare","files","forEach","fileJson","file","fs","readFileSync","path","name","displayName","add","util","inspect","reason","log","toString","upstreamStatusCode","statusCode","upstreamResponse","invokePath","url","substr","indexOf","keypath","split","method","_get2","join","methodName","pop","context","label","_apply"],"sources":["session.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport fs from 'fs';\nimport util from 'util';\n\nimport bodyParser from 'body-parser';\nimport express from 'express';\nimport validator from 'express-validator';\nimport session from 'express-session';\nimport {get} from 'lodash';\n\nimport WebexCore from './webex';\nimport MemoryStore from './memory-store';\n\n/* eslint-disable camelcase */\n/* eslint-disable no-console */\n// express induces more callbacks than usual\n/* eslint-disable max-nested-callbacks */\n\n// eslint-disable-next-line\nconst router = express.Router();\n\nexport default router;\n\nrouter.use(bodyParser.json());\nrouter.use(validator());\nrouter.use(\n session({\n resave: true,\n saveUninitialized: true,\n secret: 'keyboardcat',\n store: new MemoryStore(),\n })\n);\n\n/**\n * Return the details for a given session\n * @type {Function}\n */\nrouter.get('/session', (req, res) => {\n const {webex} = req.session;\n\n if (!webex) {\n res.status(404).end();\n\n return;\n }\n\n res\n .status(200)\n .send({\n webex: webex.serialize(),\n })\n .end();\n});\n\n/**\n * Initialize a webex instance, connect it to mercury, and set a session cookie.\n * @type {Function}\n */\nrouter.put('/session', (req, res, next) => {\n req.checkBody('clientId').notEmpty();\n req.checkBody('clientSecret').notEmpty();\n req.checkBody('redirectUri').notEmpty();\n req.checkBody('scope').notEmpty();\n req.checkBody('user').notEmpty();\n req.checkBody('user.token').notEmpty();\n req.checkBody('user.token.access_token').notEmpty();\n req.checkBody('user.token.token_type').notEmpty();\n req.checkBody('user.token.expires_in').notEmpty();\n\n req.getValidationResult().then((result) => {\n if (!result.isEmpty()) {\n console.info(result.array());\n res.status(400).send(`${result.array()[0].param} is missing`);\n\n return;\n }\n const webex = new WebexCore({\n credentials: req.body.user.token,\n config: {\n credentials: {\n client_id: req.body.clientId,\n client_secret: req.body.clientSecret,\n redirect_uri: req.body.redirectUri,\n scope: req.body.scope,\n },\n },\n });\n\n req.session.webex = webex;\n\n webex.internal.mercury\n .connect()\n .then(() => res.status(200).send({webex}).end())\n .catch((err) => {\n console.error(err);\n next(err);\n });\n });\n});\n\n/**\n * Disconnect a webex instance and unregister its device\n */\nrouter.delete('/session', (req, res, next) => {\n const {webex} = req.session;\n\n if (!webex) {\n res\n .status(404)\n .send({\n err: 'no webex instance found for session',\n })\n .end();\n\n return;\n }\n\n webex.internal.mercury\n .disconnect()\n .then(() => {\n req.session.destroy((err) => {\n if (err) {\n next(err);\n\n return;\n }\n\n res.status(204).end();\n });\n })\n .catch((err) => {\n req.session.destroy((err2) => {\n if (err2) {\n next(err2);\n\n return;\n }\n next(err);\n });\n });\n});\n\nrouter.post('/session/invoke/internal/conversation/share', (req, res) => {\n console.info('invoke conversation share called');\n const {webex} = req.session;\n\n if (!webex) {\n console.info('invoke: No session found - did you forget to hit /session?');\n res\n .status(404)\n .send({\n message: 'No session found - did you forget to hit /session?',\n })\n .end();\n\n return;\n }\n\n const share = webex.internal.conversation.makeShare(req.body[0]);\n\n req.body[1].files.forEach((fileJson) => {\n const file = fs.readFileSync(fileJson.path); // eslint-disable-line no-sync\n\n file.name = fileJson.displayName;\n share.add(file);\n });\n\n console.info('invoke: invoking \"conversation.share\" with arguments\\n', util.inspect(req.body));\n webex.internal.conversation\n .share(req.body[0], share)\n .then((result) => {\n res.status(200).send(result).end();\n })\n .catch((reason) => {\n console.log(reason);\n res\n .status(400)\n .send({\n message: 'An error occured while processing your request',\n error: reason.toString(),\n upstreamStatusCode: reason.statusCode,\n upstreamResponse: reason.body,\n })\n .end();\n });\n});\n\n/**\n * Invoke an sdk method.\n */\nrouter.post(/^\\/session\\/invoke\\/.*/, (req, res) => {\n console.info('invoke called');\n const {webex} = req.session;\n\n if (!webex) {\n console.info('invoke: No session found - did you forget to hit /session?');\n res\n .status(404)\n .send({\n message: 'No session found - did you forget to hit /session?',\n })\n .end();\n\n return;\n }\n\n const invokePath = req.url.substr(req.url.indexOf('invoke') + 7);\n const keypath = invokePath.split('/');\n\n const method = get(webex, keypath.join('.'));\n\n console.info(111, method, keypath);\n const methodName = keypath.pop();\n\n console.info(222, methodName);\n\n let context = get(webex, keypath.join('.'));\n\n if (!context) {\n context = webex;\n }\n\n console.info(333, context);\n\n const label = `webex.${keypath.join('.')}.${methodName}()`;\n\n console.info(`invoke: invoking \"${label}\" with arguments\\n`, util.inspect(req.body));\n Reflect.apply(method, context, req.body)\n .then((result) => {\n console.info(`invoke: successfully invoked \"${label}\"`);\n res.status(200).send(result).end();\n })\n .catch((reason) => {\n console.error({req, err: reason}, `invoke: \"${label}\" failed with error`);\n res\n .status(502)\n .send({\n message: 'An error occured while processing your request',\n error: reason.toString(),\n upstreamStatusCode: reason.statusCode,\n upstreamResponse: reason.body,\n })\n .end();\n });\n});\n"],"mappings":"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"}
package/dist/webex.js CHANGED
@@ -1,51 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  require("@babel/polyfill");
14
-
15
10
  require("@webex/plugin-authorization-node");
16
-
17
11
  require("@webex/internal-plugin-avatar");
18
-
19
12
  require("@webex/internal-plugin-board");
20
-
21
13
  require("@webex/internal-plugin-calendar");
22
-
23
14
  require("@webex/internal-plugin-conversation");
24
-
25
15
  require("@webex/internal-plugin-encryption");
26
-
27
16
  require("@webex/internal-plugin-feature");
28
-
29
17
  require("@webex/internal-plugin-flag");
30
-
31
18
  require("@webex/plugin-logger");
32
-
33
19
  require("@webex/internal-plugin-mercury");
34
-
35
20
  require("@webex/internal-plugin-metrics");
36
-
37
21
  require("@webex/internal-plugin-search");
38
-
39
22
  require("@webex/internal-plugin-support");
40
-
41
23
  require("@webex/internal-plugin-team");
42
-
43
24
  require("@webex/internal-plugin-user");
44
-
45
25
  require("@webex/internal-plugin-device");
46
-
47
26
  var _webexCore = _interopRequireDefault(require("@webex/webex-core"));
48
-
49
27
  /*!
50
28
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
51
29
  */