@webex/calling 3.0.0-next.5 → 3.0.0-next.7

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.
Files changed (161) hide show
  1. package/dist/CallHistory/CallHistory.js +203 -0
  2. package/dist/CallHistory/CallHistory.js.map +1 -0
  3. package/dist/CallHistory/CallHistory.test.js +133 -0
  4. package/dist/CallHistory/CallHistory.test.js.map +1 -0
  5. package/dist/CallHistory/callHistoryFixtures.js +310 -0
  6. package/dist/CallHistory/callHistoryFixtures.js.map +1 -0
  7. package/dist/CallHistory/constants.js +26 -0
  8. package/dist/CallHistory/constants.js.map +1 -0
  9. package/dist/CallHistory/types.js +7 -0
  10. package/dist/CallHistory/types.js.map +1 -0
  11. package/dist/CallSettings/CallSettings.js +276 -0
  12. package/dist/CallSettings/CallSettings.js.map +1 -0
  13. package/dist/CallSettings/CallSettings.test.js +122 -0
  14. package/dist/CallSettings/CallSettings.test.js.map +1 -0
  15. package/dist/CallSettings/UcmBackendConnector.js +217 -0
  16. package/dist/CallSettings/UcmBackendConnector.js.map +1 -0
  17. package/dist/CallSettings/UcmBackendConnector.test.js +227 -0
  18. package/dist/CallSettings/UcmBackendConnector.test.js.map +1 -0
  19. package/dist/CallSettings/WxCallBackendConnector.js +541 -0
  20. package/dist/CallSettings/WxCallBackendConnector.js.map +1 -0
  21. package/dist/CallSettings/WxCallBackendConnector.test.js +802 -0
  22. package/dist/CallSettings/WxCallBackendConnector.test.js.map +1 -0
  23. package/dist/CallSettings/constants.js +30 -0
  24. package/dist/CallSettings/constants.js.map +1 -0
  25. package/dist/CallSettings/testFixtures.js +72 -0
  26. package/dist/CallSettings/testFixtures.js.map +1 -0
  27. package/dist/CallSettings/types.js +7 -0
  28. package/dist/CallSettings/types.js.map +1 -0
  29. package/dist/CallingClient/CallingClient.js +572 -0
  30. package/dist/CallingClient/CallingClient.js.map +1 -0
  31. package/dist/CallingClient/CallingClient.test.js +931 -0
  32. package/dist/CallingClient/CallingClient.test.js.map +1 -0
  33. package/dist/CallingClient/callRecordFixtures.js +103 -0
  34. package/dist/CallingClient/callRecordFixtures.js.map +1 -0
  35. package/dist/CallingClient/calling/CallerId/index.js +287 -0
  36. package/dist/CallingClient/calling/CallerId/index.js.map +1 -0
  37. package/dist/CallingClient/calling/CallerId/index.test.js +274 -0
  38. package/dist/CallingClient/calling/CallerId/index.test.js.map +1 -0
  39. package/dist/CallingClient/calling/CallerId/types.js +7 -0
  40. package/dist/CallingClient/calling/CallerId/types.js.map +1 -0
  41. package/dist/CallingClient/calling/call.js +2995 -0
  42. package/dist/CallingClient/calling/call.js.map +1 -0
  43. package/dist/CallingClient/calling/call.test.js +2614 -0
  44. package/dist/CallingClient/calling/call.test.js.map +1 -0
  45. package/dist/CallingClient/calling/callManager.js +443 -0
  46. package/dist/CallingClient/calling/callManager.js.map +1 -0
  47. package/dist/CallingClient/calling/callManager.test.js +683 -0
  48. package/dist/CallingClient/calling/callManager.test.js.map +1 -0
  49. package/dist/CallingClient/calling/index.js +30 -0
  50. package/dist/CallingClient/calling/index.js.map +1 -0
  51. package/dist/CallingClient/calling/types.js +71 -0
  52. package/dist/CallingClient/calling/types.js.map +1 -0
  53. package/dist/CallingClient/callingClientFixtures.js +53 -0
  54. package/dist/CallingClient/callingClientFixtures.js.map +1 -0
  55. package/dist/CallingClient/constants.js +226 -0
  56. package/dist/CallingClient/constants.js.map +1 -0
  57. package/dist/CallingClient/line/index.js +312 -0
  58. package/dist/CallingClient/line/index.js.map +1 -0
  59. package/dist/CallingClient/line/line.test.js +270 -0
  60. package/dist/CallingClient/line/line.test.js.map +1 -0
  61. package/dist/CallingClient/line/types.js +25 -0
  62. package/dist/CallingClient/line/types.js.map +1 -0
  63. package/dist/CallingClient/registration/index.js +19 -0
  64. package/dist/CallingClient/registration/index.js.map +1 -0
  65. package/dist/CallingClient/registration/register.js +1295 -0
  66. package/dist/CallingClient/registration/register.js.map +1 -0
  67. package/dist/CallingClient/registration/register.test.js +838 -0
  68. package/dist/CallingClient/registration/register.test.js.map +1 -0
  69. package/dist/CallingClient/registration/registerFixtures.js +41 -0
  70. package/dist/CallingClient/registration/registerFixtures.js.map +1 -0
  71. package/dist/CallingClient/registration/types.js +7 -0
  72. package/dist/CallingClient/registration/types.js.map +1 -0
  73. package/dist/CallingClient/types.js +7 -0
  74. package/dist/CallingClient/types.js.map +1 -0
  75. package/dist/Contacts/ContactsClient.js +1139 -0
  76. package/dist/Contacts/ContactsClient.js.map +1 -0
  77. package/dist/Contacts/ContactsClient.test.js +725 -0
  78. package/dist/Contacts/ContactsClient.test.js.map +1 -0
  79. package/dist/Contacts/constants.js +36 -0
  80. package/dist/Contacts/constants.js.map +1 -0
  81. package/dist/Contacts/contactFixtures.js +340 -0
  82. package/dist/Contacts/contactFixtures.js.map +1 -0
  83. package/dist/Contacts/types.js +20 -0
  84. package/dist/Contacts/types.js.map +1 -0
  85. package/dist/Errors/catalog/CallError.js +94 -0
  86. package/dist/Errors/catalog/CallError.js.map +1 -0
  87. package/dist/Errors/catalog/CallingDeviceError.js +88 -0
  88. package/dist/Errors/catalog/CallingDeviceError.js.map +1 -0
  89. package/dist/Errors/catalog/ExtendedError.js +45 -0
  90. package/dist/Errors/catalog/ExtendedError.js.map +1 -0
  91. package/dist/Errors/catalog/LineError.js +90 -0
  92. package/dist/Errors/catalog/LineError.js.map +1 -0
  93. package/dist/Errors/index.js +21 -0
  94. package/dist/Errors/index.js.map +1 -0
  95. package/dist/Errors/types.js +62 -0
  96. package/dist/Errors/types.js.map +1 -0
  97. package/dist/Events/impl/index.js +82 -0
  98. package/dist/Events/impl/index.js.map +1 -0
  99. package/dist/Events/types.js +111 -0
  100. package/dist/Events/types.js.map +1 -0
  101. package/dist/Logger/index.js +221 -0
  102. package/dist/Logger/index.js.map +1 -0
  103. package/dist/Logger/index.test.js +62 -0
  104. package/dist/Logger/index.test.js.map +1 -0
  105. package/dist/Logger/types.js +37 -0
  106. package/dist/Logger/types.js.map +1 -0
  107. package/dist/Metrics/index.js +329 -0
  108. package/dist/Metrics/index.js.map +1 -0
  109. package/dist/Metrics/index.test.js +291 -0
  110. package/dist/Metrics/index.test.js.map +1 -0
  111. package/dist/Metrics/types.js +50 -0
  112. package/dist/Metrics/types.js.map +1 -0
  113. package/dist/SDKConnector/index.js +105 -0
  114. package/dist/SDKConnector/index.js.map +1 -0
  115. package/dist/SDKConnector/index.test.js +9 -0
  116. package/dist/SDKConnector/index.test.js.map +1 -0
  117. package/dist/SDKConnector/types.js +7 -0
  118. package/dist/SDKConnector/types.js.map +1 -0
  119. package/dist/SDKConnector/utils.js +40 -0
  120. package/dist/SDKConnector/utils.js.map +1 -0
  121. package/dist/SDKConnector/utils.test.js +9 -0
  122. package/dist/SDKConnector/utils.test.js.map +1 -0
  123. package/dist/Voicemail/BroadworksBackendConnector.js +632 -0
  124. package/dist/Voicemail/BroadworksBackendConnector.js.map +1 -0
  125. package/dist/Voicemail/BroadworksBackendConnector.test.js +733 -0
  126. package/dist/Voicemail/BroadworksBackendConnector.test.js.map +1 -0
  127. package/dist/Voicemail/UcmBackendConnector.js +566 -0
  128. package/dist/Voicemail/UcmBackendConnector.js.map +1 -0
  129. package/dist/Voicemail/UcmBackendConnector.test.js +628 -0
  130. package/dist/Voicemail/UcmBackendConnector.test.js.map +1 -0
  131. package/dist/Voicemail/Voicemail.js +378 -0
  132. package/dist/Voicemail/Voicemail.js.map +1 -0
  133. package/dist/Voicemail/Voicemail.test.js +226 -0
  134. package/dist/Voicemail/Voicemail.test.js.map +1 -0
  135. package/dist/Voicemail/WxCallBackendConnector.js +540 -0
  136. package/dist/Voicemail/WxCallBackendConnector.js.map +1 -0
  137. package/dist/Voicemail/WxCallBackendConnector.test.js +942 -0
  138. package/dist/Voicemail/WxCallBackendConnector.test.js.map +1 -0
  139. package/dist/Voicemail/constants.js +66 -0
  140. package/dist/Voicemail/constants.js.map +1 -0
  141. package/dist/Voicemail/types.js +7 -0
  142. package/dist/Voicemail/types.js.map +1 -0
  143. package/dist/Voicemail/voicemailFixture.js +559 -0
  144. package/dist/Voicemail/voicemailFixture.js.map +1 -0
  145. package/dist/api.js +134 -0
  146. package/dist/api.js.map +1 -0
  147. package/dist/common/Utils.js +1264 -0
  148. package/dist/common/Utils.js.map +1 -0
  149. package/dist/common/Utils.test.js +1227 -0
  150. package/dist/common/Utils.test.js.map +1 -0
  151. package/dist/common/constants.js +90 -0
  152. package/dist/common/constants.js.map +1 -0
  153. package/dist/common/index.js +19 -0
  154. package/dist/common/index.js.map +1 -0
  155. package/dist/common/testUtil.js +968 -0
  156. package/dist/common/testUtil.js.map +1 -0
  157. package/dist/common/types.js +75 -0
  158. package/dist/common/types.js.map +1 -0
  159. package/dist/index.js +63 -0
  160. package/dist/index.js.map +1 -0
  161. package/package.json +2 -2
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.createCallHistoryClient = exports.CallHistory = void 0;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
15
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
17
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
20
+ var _SDKConnector = _interopRequireDefault(require("../SDKConnector"));
21
+ var _types = require("../common/types");
22
+ var _Logger = _interopRequireDefault(require("../Logger"));
23
+ var _Utils = require("../common/Utils");
24
+ var _constants = require("./constants");
25
+ var _constants2 = require("../common/constants");
26
+ var _types2 = require("../Events/types");
27
+ var _impl = require("../Events/impl");
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
30
+ /**
31
+ * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.
32
+ *
33
+ * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.
34
+ *
35
+ * Example
36
+ * ```javascript
37
+ * const callHistory = createCallHistoryClient(webex, logger);
38
+ * ```
39
+ *
40
+ * @implements {ICallHistory}
41
+ */
42
+ var CallHistory = /*#__PURE__*/function (_Eventing) {
43
+ (0, _inherits2.default)(CallHistory, _Eventing);
44
+ var _super = _createSuper(CallHistory);
45
+ /**
46
+ * @ignore
47
+ */
48
+ function CallHistory(webex, logger) {
49
+ var _this;
50
+ (0, _classCallCheck2.default)(this, CallHistory);
51
+ _this = _super.call(this);
52
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkConnector", void 0);
53
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "webex", void 0);
54
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "janusUrl", '');
55
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fromDate", '');
56
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "loggerContext", {
57
+ file: _constants.CALL_HISTORY_FILE,
58
+ method: 'getCallHistoryData'
59
+ });
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "userSessions", void 0);
61
+ _this.sdkConnector = _SDKConnector.default;
62
+ if (!_this.sdkConnector.getWebex()) {
63
+ _SDKConnector.default.setWebex(webex);
64
+ }
65
+ _this.webex = _this.sdkConnector.getWebex();
66
+ _this.janusUrl = _this.webex.internal.services._serviceUrls.janus;
67
+ _this.registerSessionsListener();
68
+ _Logger.default.setLogger(logger.level, _constants.CALL_HISTORY_FILE);
69
+ return _this;
70
+ }
71
+
72
+ /**
73
+ * Function to display the Janus API response.
74
+ * @param days - Number of days to fetch the call history data.
75
+ * @param limit - Number of records to be fetched.
76
+ * @param sort - Sort the records in ascending or descending order.
77
+ * @param sortBy - Sort the records by start time or end time.
78
+ */
79
+ (0, _createClass2.default)(CallHistory, [{
80
+ key: "getCallHistoryData",
81
+ value: function () {
82
+ var _getCallHistoryData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
83
+ var days,
84
+ limit,
85
+ sort,
86
+ sortBy,
87
+ date,
88
+ sortByParam,
89
+ sortParam,
90
+ url,
91
+ janusResponse,
92
+ responseDetails,
93
+ errorInfo,
94
+ errorStatus,
95
+ _args = arguments;
96
+ return _regenerator.default.wrap(function _callee$(_context) {
97
+ while (1) switch (_context.prev = _context.next) {
98
+ case 0:
99
+ days = _args.length > 0 && _args[0] !== undefined ? _args[0] : _constants.NUMBER_OF_DAYS;
100
+ limit = _args.length > 1 && _args[1] !== undefined ? _args[1] : _constants.LIMIT;
101
+ sort = _args.length > 2 && _args[2] !== undefined ? _args[2] : _types.SORT.DEFAULT;
102
+ sortBy = _args.length > 3 && _args[3] !== undefined ? _args[3] : _types.SORT_BY.DEFAULT;
103
+ /*
104
+ 1. Mandatory field for Janus API - fromDate
105
+ 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date
106
+ */
107
+ date = new Date();
108
+ date.setDate(date.getDate() - days);
109
+ this.fromDate = date.toISOString();
110
+ sortByParam = (0, _values.default)(_types.SORT_BY).includes(sortBy) ? sortBy : _types.SORT_BY.DEFAULT;
111
+ sortParam = (0, _values.default)(_types.SORT).includes(sort) ? sort : _types.SORT.DEFAULT;
112
+ _Logger.default.log("Janus API URL ".concat(this.janusUrl), this.loggerContext);
113
+ _Logger.default.info("Call history from date : ".concat(this.fromDate), this.loggerContext);
114
+ _Logger.default.info("Call history sort type : ".concat(sortParam), this.loggerContext);
115
+ _Logger.default.info("Call history sortby type : ".concat(sortByParam), this.loggerContext);
116
+ url = "".concat(this.janusUrl, "/").concat(_constants.HISTORY, "/").concat(_constants2.USER_SESSIONS).concat(_constants.FROM_DATE, "=").concat(this.fromDate, "&limit=").concat(limit, "&includeNewSessionTypes=true&sort=").concat(sortParam);
117
+ _context.prev = 14;
118
+ _context.next = 17;
119
+ return this.webex.request({
120
+ uri: "".concat(url),
121
+ method: _types.HTTP_METHODS.GET,
122
+ service: _types.ALLOWED_SERVICES.JANUS
123
+ });
124
+ case 17:
125
+ janusResponse = _context.sent;
126
+ this.userSessions = janusResponse.body;
127
+ if (sortByParam === _types.SORT_BY.START_TIME) {
128
+ if (sortParam === _types.SORT.DESC) {
129
+ this.userSessions[_constants2.USER_SESSIONS].sort(function (element, compareElement) {
130
+ return new Date(compareElement[sortByParam]).getTime() - new Date(element[sortByParam]).getTime();
131
+ });
132
+ } else if (sortParam === _types.SORT.ASC) {
133
+ this.userSessions[_constants2.USER_SESSIONS].sort(function (element, compareElement) {
134
+ return new Date(element[sortByParam]).getTime() - new Date(compareElement[sortByParam]).getTime();
135
+ });
136
+ }
137
+ }
138
+ responseDetails = {
139
+ statusCode: this.userSessions[_constants2.STATUS_CODE],
140
+ data: {
141
+ userSessions: this.userSessions[_constants2.USER_SESSIONS]
142
+ },
143
+ message: _constants2.SUCCESS_MESSAGE
144
+ };
145
+ return _context.abrupt("return", responseDetails);
146
+ case 24:
147
+ _context.prev = 24;
148
+ _context.t0 = _context["catch"](14);
149
+ errorInfo = _context.t0;
150
+ errorStatus = (0, _Utils.serviceErrorCodeHandler)(errorInfo, this.loggerContext);
151
+ return _context.abrupt("return", errorStatus);
152
+ case 29:
153
+ case "end":
154
+ return _context.stop();
155
+ }
156
+ }, _callee, this, [[14, 24]]);
157
+ }));
158
+ function getCallHistoryData() {
159
+ return _getCallHistoryData.apply(this, arguments);
160
+ }
161
+ return getCallHistoryData;
162
+ }()
163
+ /**
164
+ *
165
+ */
166
+ }, {
167
+ key: "registerSessionsListener",
168
+ value: function registerSessionsListener() {
169
+ var _this2 = this;
170
+ this.sdkConnector.registerListener(_types2.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE, /*#__PURE__*/function () {
171
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(event) {
172
+ return _regenerator.default.wrap(function _callee2$(_context2) {
173
+ while (1) switch (_context2.prev = _context2.next) {
174
+ case 0:
175
+ if (event && event.data.userSessions.userSessions) {
176
+ _this2.emit(_types2.COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event);
177
+ }
178
+ case 1:
179
+ case "end":
180
+ return _context2.stop();
181
+ }
182
+ }, _callee2);
183
+ }));
184
+ return function (_x) {
185
+ return _ref.apply(this, arguments);
186
+ };
187
+ }());
188
+ }
189
+ }]);
190
+ return CallHistory;
191
+ }(_impl.Eventing);
192
+ /**
193
+ * Creates a `CallHistory` client instance for accessing Call History APIs.
194
+ *
195
+ * @param {WebexSDK} webex - `Webex SDK` instance.
196
+ * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.
197
+ */
198
+ exports.CallHistory = CallHistory;
199
+ var createCallHistoryClient = function createCallHistoryClient(webex, logger) {
200
+ return new CallHistory(webex, logger);
201
+ };
202
+ exports.createCallHistoryClient = createCallHistoryClient;
203
+ //# sourceMappingURL=CallHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SDKConnector","_interopRequireDefault","require","_types","_Logger","_Utils","_constants","_constants2","_types2","_impl","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","CallHistory","_Eventing","_inherits2","_super","webex","logger","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","file","CALL_HISTORY_FILE","method","sdkConnector","SDKConnector","getWebex","setWebex","janusUrl","internal","services","_serviceUrls","janus","registerSessionsListener","log","setLogger","level","_createClass2","key","value","_getCallHistoryData","_asyncToGenerator2","_regenerator","mark","_callee","days","limit","sort","sortBy","date","sortByParam","sortParam","url","janusResponse","responseDetails","errorInfo","errorStatus","_args","wrap","_callee$","_context","prev","next","length","undefined","NUMBER_OF_DAYS","LIMIT","SORT","DEFAULT","SORT_BY","Date","setDate","getDate","fromDate","toISOString","_values","includes","concat","loggerContext","info","HISTORY","USER_SESSIONS","FROM_DATE","request","uri","HTTP_METHODS","GET","service","ALLOWED_SERVICES","JANUS","sent","userSessions","body","START_TIME","DESC","element","compareElement","getTime","ASC","statusCode","STATUS_CODE","data","message","SUCCESS_MESSAGE","abrupt","t0","serviceErrorCodeHandler","stop","getCallHistoryData","_this2","registerListener","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","_ref","_callee2","event","_callee2$","_context2","emit","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","_x","Eventing","exports","createCallHistoryClient"],"sources":["CallHistory.ts"],"sourcesContent":["/* eslint-disable dot-notation */\n/* eslint-disable no-underscore-dangle */\nimport SDKConnector from '../SDKConnector';\nimport {ISDKConnector, WebexSDK} from '../SDKConnector/types';\nimport {ALLOWED_SERVICES, HTTP_METHODS, WebexRequestPayload, SORT, SORT_BY} from '../common/types';\nimport {ICallHistory, JanusResponseEvent, LoggerInterface} from './types';\nimport log from '../Logger';\nimport {serviceErrorCodeHandler} from '../common/Utils';\nimport {CALL_HISTORY_FILE, FROM_DATE, HISTORY, LIMIT, NUMBER_OF_DAYS} from './constants';\nimport {STATUS_CODE, SUCCESS_MESSAGE, USER_SESSIONS} from '../common/constants';\nimport {\n COMMON_EVENT_KEYS,\n CallHistoryEventTypes,\n CallSessionEvent,\n MOBIUS_EVENT_KEYS,\n UserSession,\n} from '../Events/types';\nimport {Eventing} from '../Events/impl';\n/**\n * `CallHistory` module is designed to facilitate the retrieval of Call History Records by providing a set of APIs.\n *\n * This code snippet demonstrates how to create an instance of `CallHistory` using webex and logger.\n *\n * Example\n * ```javascript\n * const callHistory = createCallHistoryClient(webex, logger);\n * ```\n *\n * @implements {ICallHistory}\n */\nexport class CallHistory extends Eventing<CallHistoryEventTypes> implements ICallHistory {\n private sdkConnector: ISDKConnector;\n\n private webex: WebexSDK;\n\n private janusUrl = '';\n\n private fromDate = '';\n\n private loggerContext = {\n file: CALL_HISTORY_FILE,\n method: 'getCallHistoryData',\n };\n\n private userSessions: UserSession[] | undefined;\n\n /**\n * @ignore\n */\n constructor(webex: WebexSDK, logger: LoggerInterface) {\n super();\n this.sdkConnector = SDKConnector;\n if (!this.sdkConnector.getWebex()) {\n SDKConnector.setWebex(webex);\n }\n this.webex = this.sdkConnector.getWebex();\n this.janusUrl = this.webex.internal.services._serviceUrls.janus;\n this.registerSessionsListener();\n log.setLogger(logger.level, CALL_HISTORY_FILE);\n }\n\n /**\n * Function to display the Janus API response.\n * @param days - Number of days to fetch the call history data.\n * @param limit - Number of records to be fetched.\n * @param sort - Sort the records in ascending or descending order.\n * @param sortBy - Sort the records by start time or end time.\n */\n public async getCallHistoryData(\n days: number = NUMBER_OF_DAYS,\n limit: number = LIMIT,\n sort: SORT = SORT.DEFAULT,\n sortBy: SORT_BY = SORT_BY.DEFAULT\n ): Promise<JanusResponseEvent> {\n /*\n 1. Mandatory field for Janus API - fromDate\n 2. Calculating the fromDate by deducting the NUMBER_OF_DAYS with the current date\n */\n const date = new Date();\n\n date.setDate(date.getDate() - days);\n this.fromDate = date.toISOString();\n const sortByParam = Object.values(SORT_BY).includes(sortBy) ? sortBy : SORT_BY.DEFAULT;\n const sortParam = Object.values(SORT).includes(sort) ? sort : SORT.DEFAULT;\n\n log.log(`Janus API URL ${this.janusUrl}`, this.loggerContext);\n log.info(`Call history from date : ${this.fromDate}`, this.loggerContext);\n log.info(`Call history sort type : ${sortParam}`, this.loggerContext);\n log.info(`Call history sortby type : ${sortByParam}`, this.loggerContext);\n const url = `${this.janusUrl}/${HISTORY}/${USER_SESSIONS}${FROM_DATE}=${this.fromDate}&limit=${limit}&includeNewSessionTypes=true&sort=${sortParam}`;\n\n try {\n const janusResponse = <WebexRequestPayload>await this.webex.request({\n uri: `${url}`,\n method: HTTP_METHODS.GET,\n service: ALLOWED_SERVICES.JANUS,\n });\n\n this.userSessions = janusResponse.body as UserSession[];\n if (sortByParam === SORT_BY.START_TIME) {\n if (sortParam === SORT.DESC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(compareElement[sortByParam]).getTime() -\n new Date(element[sortByParam]).getTime()\n );\n } else if (sortParam === SORT.ASC) {\n this.userSessions[USER_SESSIONS].sort(\n (element: Date, compareElement: Date) =>\n new Date(element[sortByParam]).getTime() -\n new Date(compareElement[sortByParam]).getTime()\n );\n }\n }\n const responseDetails = {\n statusCode: this.userSessions[STATUS_CODE],\n data: {\n userSessions: this.userSessions[USER_SESSIONS],\n },\n message: SUCCESS_MESSAGE,\n };\n\n return responseDetails;\n } catch (err: unknown) {\n const errorInfo = err as WebexRequestPayload;\n const errorStatus = serviceErrorCodeHandler(errorInfo, this.loggerContext);\n\n return errorStatus;\n }\n }\n\n /**\n *\n */\n private registerSessionsListener() {\n this.sdkConnector.registerListener<CallSessionEvent>(\n MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE,\n async (event?: CallSessionEvent) => {\n if (event && event.data.userSessions.userSessions) {\n this.emit(COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, event as CallSessionEvent);\n }\n }\n );\n }\n}\n/**\n * Creates a `CallHistory` client instance for accessing Call History APIs.\n *\n * @param {WebexSDK} webex - `Webex SDK` instance.\n * @param {LoggerInterface} logger - An instance implementing LoggerInterface used to set the log level for the module.\n */\nexport const createCallHistoryClient = (webex: WebexSDK, logger: LoggerInterface): ICallHistory =>\n new CallHistory(webex, logger);\n"],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
6
+ var _types = require("../Logger/types");
7
+ var _testUtil = require("../common/testUtil");
8
+ var _types2 = require("../common/types");
9
+ var _CallHistory = require("./CallHistory");
10
+ var _callHistoryFixtures = require("./callHistoryFixtures");
11
+ var _types3 = require("../Events/types");
12
+ /* eslint-disable @typescript-eslint/no-unused-vars */
13
+ /* eslint-disable dot-notation */
14
+ /* eslint-disable @typescript-eslint/no-shadow */
15
+
16
+ var webex = (0, _testUtil.getTestUtilsWebex)();
17
+ describe('Call history tests', function () {
18
+ var callHistory;
19
+ beforeAll(function () {
20
+ callHistory = new _CallHistory.CallHistory(webex, {
21
+ level: _types.LOGGER.INFO
22
+ });
23
+ });
24
+ it('verify successful call history case', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
25
+ var callHistoryPayload, response;
26
+ return _regenerator.default.wrap(function _callee$(_context) {
27
+ while (1) switch (_context.prev = _context.next) {
28
+ case 0:
29
+ callHistoryPayload = _callHistoryFixtures.mockCallHistoryBody;
30
+ webex.request.mockResolvedValue(callHistoryPayload);
31
+ _context.next = 4;
32
+ return callHistory.getCallHistoryData(7, 10, _types2.SORT.DEFAULT, _types2.SORT_BY.DEFAULT);
33
+ case 4:
34
+ response = _context.sent;
35
+ expect(response.statusCode).toBe(200);
36
+ expect(response.message).toBe('SUCCESS');
37
+ case 7:
38
+ case "end":
39
+ return _context.stop();
40
+ }
41
+ }, _callee);
42
+ })));
43
+ it('verify bad request failed call history case', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
44
+ var failurePayload, callHistoryPayload, response;
45
+ return _regenerator.default.wrap(function _callee2$(_context2) {
46
+ while (1) switch (_context2.prev = _context2.next) {
47
+ case 0:
48
+ failurePayload = {
49
+ statusCode: 400
50
+ };
51
+ callHistoryPayload = failurePayload;
52
+ webex.request.mockRejectedValue(callHistoryPayload);
53
+ _context2.next = 5;
54
+ return callHistory.getCallHistoryData(7, 2000, _types2.SORT.ASC, _types2.SORT_BY.START_TIME);
55
+ case 5:
56
+ response = _context2.sent;
57
+ expect(response.statusCode).toBe(400);
58
+ expect(response.message).toBe('FAILURE');
59
+ case 8:
60
+ case "end":
61
+ return _context2.stop();
62
+ }
63
+ }, _callee2);
64
+ })));
65
+ it('verify device not found call history case', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
66
+ var failurePayload, callHistoryPayload, response;
67
+ return _regenerator.default.wrap(function _callee3$(_context3) {
68
+ while (1) switch (_context3.prev = _context3.next) {
69
+ case 0:
70
+ failurePayload = {
71
+ statusCode: 404
72
+ };
73
+ callHistoryPayload = failurePayload;
74
+ webex.request.mockRejectedValue(callHistoryPayload);
75
+ _context3.next = 5;
76
+ return callHistory.getCallHistoryData(0, 0, _types2.SORT.ASC, _types2.SORT_BY.START_TIME);
77
+ case 5:
78
+ response = _context3.sent;
79
+ expect(response.statusCode).toBe(404);
80
+ expect(response.message).toBe('FAILURE');
81
+ case 8:
82
+ case "end":
83
+ return _context3.stop();
84
+ }
85
+ }, _callee3);
86
+ })));
87
+ describe('sorting user session response data by sortby', function () {
88
+ it('Array should be sort.ASC by START TIME ', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
89
+ var callHistoryPayload, response, responseDetails;
90
+ return _regenerator.default.wrap(function _callee4$(_context4) {
91
+ while (1) switch (_context4.prev = _context4.next) {
92
+ case 0:
93
+ callHistoryPayload = _callHistoryFixtures.mockCallHistoryBody;
94
+ webex.request.mockResolvedValue(callHistoryPayload);
95
+ _context4.next = 4;
96
+ return callHistory.getCallHistoryData(10, 20, _types2.SORT.ASC, _types2.SORT_BY.START_TIME);
97
+ case 4:
98
+ response = _context4.sent;
99
+ responseDetails = {
100
+ statusCode: _callHistoryFixtures.sortedCallHistory.body.statusCode,
101
+ data: {
102
+ userSessions: _callHistoryFixtures.sortedCallHistory.body.userSessions
103
+ },
104
+ message: 'SUCCESS'
105
+ };
106
+ expect(response).toEqual(responseDetails);
107
+ case 7:
108
+ case "end":
109
+ return _context4.stop();
110
+ }
111
+ }, _callee4);
112
+ })));
113
+ });
114
+ describe('Call History Session Event test', function () {
115
+ var mockOn = webex.internal.mercury.on;
116
+ var callHistory;
117
+ beforeEach(function () {
118
+ callHistory = (0, _CallHistory.createCallHistoryClient)(webex, {
119
+ level: _types.LOGGER.INFO
120
+ });
121
+ });
122
+ it('verify the recent user session event ', function (done) {
123
+ callHistory.on(_types3.COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO, function (event) {
124
+ expect(event.data).toEqual(_callHistoryFixtures.MOCK_SESSION_EVENT.data);
125
+ done();
126
+ });
127
+ expect(mockOn.mock.calls[0][0]).toEqual(_types3.MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);
128
+ var callSessionCallback = mockOn.mock.calls[0][1];
129
+ callSessionCallback(_callHistoryFixtures.MOCK_SESSION_EVENT);
130
+ });
131
+ });
132
+ });
133
+ //# sourceMappingURL=CallHistory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_testUtil","_types2","_CallHistory","_callHistoryFixtures","_types3","webex","getTestUtilsWebex","describe","callHistory","beforeAll","CallHistory","level","LOGGER","INFO","it","_asyncToGenerator2","default","_regenerator","mark","_callee","callHistoryPayload","response","wrap","_callee$","_context","prev","next","mockCallHistoryBody","request","mockResolvedValue","getCallHistoryData","SORT","DEFAULT","SORT_BY","sent","expect","statusCode","toBe","message","stop","_callee2","failurePayload","_callee2$","_context2","mockRejectedValue","ASC","START_TIME","_callee3","_callee3$","_context3","_callee4","responseDetails","_callee4$","_context4","sortedCallHistory","body","data","userSessions","toEqual","mockOn","internal","mercury","on","beforeEach","createCallHistoryClient","done","COMMON_EVENT_KEYS","CALL_HISTORY_USER_SESSION_INFO","event","MOCK_SESSION_EVENT","mock","calls","MOBIUS_EVENT_KEYS","CALL_SESSION_EVENT_INCLUSIVE","callSessionCallback"],"sources":["CallHistory.test.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable dot-notation */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport {LOGGER} from '../Logger/types';\nimport {getTestUtilsWebex} from '../common/testUtil';\nimport {SORT, SORT_BY, WebexRequestPayload} from '../common/types';\nimport {CallHistory, createCallHistoryClient} from './CallHistory';\nimport {ICallHistory} from './types';\nimport {sortedCallHistory, mockCallHistoryBody, MOCK_SESSION_EVENT} from './callHistoryFixtures';\nimport {COMMON_EVENT_KEYS, CallSessionEvent, MOBIUS_EVENT_KEYS} from '../Events/types';\n\nconst webex = getTestUtilsWebex();\n\ndescribe('Call history tests', () => {\n let callHistory: ICallHistory;\n\n beforeAll(() => {\n callHistory = new CallHistory(webex, {level: LOGGER.INFO});\n });\n\n it('verify successful call history case', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 10, SORT.DEFAULT, SORT_BY.DEFAULT);\n\n expect(response.statusCode).toBe(200);\n expect(response.message).toBe('SUCCESS');\n });\n\n it('verify bad request failed call history case', async () => {\n const failurePayload = {\n statusCode: 400,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(7, 2000, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(400);\n expect(response.message).toBe('FAILURE');\n });\n\n it('verify device not found call history case', async () => {\n const failurePayload = {\n statusCode: 404,\n };\n const callHistoryPayload = <WebexRequestPayload>(<unknown>failurePayload);\n\n webex.request.mockRejectedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(0, 0, SORT.ASC, SORT_BY.START_TIME);\n\n expect(response.statusCode).toBe(404);\n expect(response.message).toBe('FAILURE');\n });\n\n describe('sorting user session response data by sortby', () => {\n it('Array should be sort.ASC by START TIME ', async () => {\n const callHistoryPayload = <WebexRequestPayload>(<unknown>mockCallHistoryBody);\n\n webex.request.mockResolvedValue(callHistoryPayload);\n const response = await callHistory.getCallHistoryData(10, 20, SORT.ASC, SORT_BY.START_TIME);\n\n const responseDetails = {\n statusCode: sortedCallHistory.body.statusCode,\n data: {\n userSessions: sortedCallHistory.body.userSessions,\n },\n message: 'SUCCESS',\n };\n\n expect(response).toEqual(responseDetails);\n });\n });\n\n describe('Call History Session Event test', () => {\n const mockOn = webex.internal.mercury.on;\n let callHistory: ICallHistory;\n\n beforeEach(() => {\n callHistory = createCallHistoryClient(webex, {level: LOGGER.INFO});\n });\n\n it('verify the recent user session event ', (done) => {\n callHistory.on(\n COMMON_EVENT_KEYS.CALL_HISTORY_USER_SESSION_INFO,\n (event: CallSessionEvent) => {\n expect(event.data).toEqual(MOCK_SESSION_EVENT.data);\n done();\n }\n );\n\n expect(mockOn.mock.calls[0][0]).toEqual(MOBIUS_EVENT_KEYS.CALL_SESSION_EVENT_INCLUSIVE);\n const callSessionCallback = mockOn.mock.calls[0][1];\n\n callSessionCallback(MOCK_SESSION_EVENT);\n });\n });\n});\n"],"mappings":"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"}