@atlaskit/link-datasource 1.16.5 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/analytics/constants.js +1 -1
  3. package/dist/cjs/hooks/useAssetsClient.js +7 -4
  4. package/dist/cjs/hooks/useDatasourceTableState.js +83 -52
  5. package/dist/cjs/hooks/useValidateAqlText.js +5 -2
  6. package/dist/cjs/services/cmdbService.js +50 -35
  7. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +58 -15
  8. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +26 -3
  9. package/dist/cjs/ui/jira-issues-modal/basic-filters/ui/index.js +6 -3
  10. package/dist/es2019/analytics/constants.js +1 -1
  11. package/dist/es2019/hooks/useAssetsClient.js +8 -4
  12. package/dist/es2019/hooks/useDatasourceTableState.js +40 -12
  13. package/dist/es2019/hooks/useValidateAqlText.js +6 -2
  14. package/dist/es2019/services/cmdbService.js +27 -12
  15. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +41 -16
  16. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +23 -3
  17. package/dist/es2019/ui/jira-issues-modal/basic-filters/ui/index.js +5 -3
  18. package/dist/esm/analytics/constants.js +1 -1
  19. package/dist/esm/hooks/useAssetsClient.js +7 -4
  20. package/dist/esm/hooks/useDatasourceTableState.js +83 -52
  21. package/dist/esm/hooks/useValidateAqlText.js +5 -2
  22. package/dist/esm/services/cmdbService.js +50 -35
  23. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/index.js +59 -16
  24. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.js +26 -3
  25. package/dist/esm/ui/jira-issues-modal/basic-filters/ui/index.js +7 -4
  26. package/dist/types/analytics/generated/analytics.types.d.ts +41 -1
  27. package/dist/types/services/cmdbService.d.ts +8 -4
  28. package/dist/types/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +2 -1
  29. package/dist/types-ts4.5/analytics/generated/analytics.types.d.ts +41 -1
  30. package/dist/types-ts4.5/services/cmdbService.d.ts +8 -4
  31. package/dist/types-ts4.5/ui/jira-issues-modal/basic-filters/ui/async-popup-select/trigger.d.ts +2 -1
  32. package/package.json +5 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/link-datasource
2
2
 
3
+ ## 1.17.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#43132](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43132) [`3e2792d125e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3e2792d125e) - added operational events for Assets Config Modal
8
+ - Updated dependencies
9
+
10
+ ## 1.17.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [#43023](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/43023) [`312be02e858`](https://bitbucket.org/atlassian/atlassian-frontend/commits/312be02e858) - [ux] Basic filter dropdown button label now includes first selected item's name. If multiple items are selected then a badge now indicates the remaining number of items. Selected options are also reordered to the top of the select list.
15
+
16
+ ### Patch Changes
17
+
18
+ - [#42504](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42504) [`8ee7afb2d85`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8ee7afb2d85) - Added DatasourceDataSchema model.
19
+ Used fields in the request for applying schema.
20
+ - Updated dependencies
21
+
3
22
  ## 1.16.5
4
23
 
5
24
  ### Patch Changes
@@ -7,5 +7,5 @@ exports.packageMetaData = exports.EVENT_CHANNEL = void 0;
7
7
  var EVENT_CHANNEL = exports.EVENT_CHANNEL = 'media';
8
8
  var packageMetaData = exports.packageMetaData = {
9
9
  packageName: "@atlaskit/link-datasource",
10
- packageVersion: "1.16.5"
10
+ packageVersion: "1.17.1"
11
11
  };
@@ -9,6 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = require("react");
12
+ var _analytics = require("../analytics");
12
13
  var _cmdbService = require("../services/cmdbService");
13
14
  var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, error) {
14
15
  if (error instanceof Error) {
@@ -50,6 +51,8 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
50
51
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
51
52
  objectSchemasError = _useState16[0],
52
53
  setObjectSchemasError = _useState16[1];
54
+ var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
55
+ fireEvent = _useDatasourceAnalyti.fireEvent;
53
56
 
54
57
  /*
55
58
  * We wrap this in nested try/catch blocks because we want to handle
@@ -66,7 +69,7 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
66
69
  setWorkspaceError(undefined);
67
70
  _context.prev = 2;
68
71
  _context.next = 5;
69
- return (0, _cmdbService.getWorkspaceId)();
72
+ return (0, _cmdbService.getWorkspaceId)(fireEvent);
70
73
  case 5:
71
74
  _workspaceId = _context.sent;
72
75
  setWorkspaceId(_workspaceId);
@@ -77,7 +80,7 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
77
80
  }
78
81
  _context.prev = 8;
79
82
  _context.next = 11;
80
- return (0, _cmdbService.fetchObjectSchema)(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
83
+ return (0, _cmdbService.fetchObjectSchema)(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId, fireEvent);
81
84
  case 11:
82
85
  fetchedObjectSchema = _context.sent;
83
86
  setExistingObjectSchema(fetchedObjectSchema);
@@ -90,7 +93,7 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
90
93
  case 18:
91
94
  _context.prev = 18;
92
95
  _context.next = 21;
93
- return (0, _cmdbService.fetchObjectSchemas)(_workspaceId);
96
+ return (0, _cmdbService.fetchObjectSchemas)(_workspaceId, undefined, fireEvent);
94
97
  case 21:
95
98
  fetchedObjectSchemasResponse = _context.sent;
96
99
  setObjectSchemas(fetchedObjectSchemasResponse.values);
@@ -118,7 +121,7 @@ var useAssetsClient = exports.useAssetsClient = function useAssetsClient(initial
118
121
  }
119
122
  }, _callee, null, [[2, 31, 34, 37], [8, 15], [18, 26]]);
120
123
  }))();
121
- }, [initialParameters]);
124
+ }, [initialParameters, fireEvent]);
122
125
  return {
123
126
  workspaceId: workspaceId,
124
127
  workspaceError: workspaceError,
@@ -20,6 +20,8 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
20
20
  fieldKeys = _ref$fieldKeys === void 0 ? [] : _ref$fieldKeys;
21
21
  var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
22
22
  fireEvent = _useDatasourceAnalyti.fireEvent;
23
+ var idFieldCount = 1;
24
+ var keyFieldCount = 1;
23
25
  var _useState = (0, _react.useState)([]),
24
26
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
27
  defaultVisibleColumnKeys = _useState2[0],
@@ -28,42 +30,48 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
28
30
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
29
31
  lastRequestedFieldKeys = _useState4[0],
30
32
  setLastRequestedFieldKeys = _useState4[1];
31
- var _useState5 = (0, _react.useState)('empty'),
33
+ var _useState5 = (0, _react.useState)({
34
+ properties: []
35
+ }),
32
36
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
33
- status = _useState6[0],
34
- setStatus = _useState6[1];
35
- var _useState7 = (0, _react.useState)([]),
37
+ fullSchema = _useState6[0],
38
+ setFullSchema = _useState6[1];
39
+ var _useState7 = (0, _react.useState)('empty'),
36
40
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
37
- responseItems = _useState8[0],
38
- setResponseItems = _useState8[1];
39
- var _useState9 = (0, _react.useState)(true),
41
+ status = _useState8[0],
42
+ setStatus = _useState8[1];
43
+ var _useState9 = (0, _react.useState)([]),
40
44
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
41
- hasNextPage = _useState10[0],
42
- setHasNextPage = _useState10[1];
43
- var _useState11 = (0, _react.useState)(undefined),
45
+ responseItems = _useState10[0],
46
+ setResponseItems = _useState10[1];
47
+ var _useState11 = (0, _react.useState)(true),
44
48
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
45
- nextCursor = _useState12[0],
46
- setNextCursor = _useState12[1];
47
- var _useState13 = (0, _react.useState)([]),
49
+ hasNextPage = _useState12[0],
50
+ setHasNextPage = _useState12[1];
51
+ var _useState13 = (0, _react.useState)(undefined),
48
52
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
49
- columns = _useState14[0],
50
- setColumns = _useState14[1];
51
- var _useState15 = (0, _react.useState)(undefined),
53
+ nextCursor = _useState14[0],
54
+ setNextCursor = _useState14[1];
55
+ var _useState15 = (0, _react.useState)([]),
52
56
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
53
- totalCount = _useState16[0],
54
- setTotalCount = _useState16[1];
55
- var _useState17 = (0, _react.useState)(false),
57
+ columns = _useState16[0],
58
+ setColumns = _useState16[1];
59
+ var _useState17 = (0, _react.useState)(undefined),
56
60
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
57
- shouldForceRequest = _useState18[0],
58
- setShouldForceRequest = _useState18[1];
59
- var _useState19 = (0, _react.useState)([]),
61
+ totalCount = _useState18[0],
62
+ setTotalCount = _useState18[1];
63
+ var _useState19 = (0, _react.useState)(false),
60
64
  _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
61
- destinationObjectTypes = _useState20[0],
62
- setDestinationObjectTypes = _useState20[1];
63
- var _useState21 = (0, _react.useState)(),
65
+ shouldForceRequest = _useState20[0],
66
+ setShouldForceRequest = _useState20[1];
67
+ var _useState21 = (0, _react.useState)([]),
64
68
  _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
65
- extensionKey = _useState22[0],
66
- setExtensionKey = _useState22[1];
69
+ destinationObjectTypes = _useState22[0],
70
+ setDestinationObjectTypes = _useState22[1];
71
+ var _useState23 = (0, _react.useState)(),
72
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
73
+ extensionKey = _useState24[0],
74
+ setExtensionKey = _useState24[1];
67
75
  var _useDatasourceClientE = (0, _linkClientExtension.useDatasourceClientExtension)(),
68
76
  getDatasourceData = _useDatasourceClientE.getDatasourceData,
69
77
  getDatasourceDetails = _useDatasourceClientE.getDatasourceDetails;
@@ -121,21 +129,39 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
121
129
  }
122
130
  }, _callee, null, [[2, 17]]);
123
131
  })), [columns, datasourceId, getDatasourceDetails, parameters]);
124
- var applySchemaProperties = (0, _react.useCallback)(function (properties) {
125
- if (!(0, _isEqual.default)(columns, properties)) {
126
- setColumns(properties);
132
+ var applySchemaProperties = (0, _react.useCallback)(function (schema, fieldKeys) {
133
+ var properties = schema.properties,
134
+ _schema$defaultProper = schema.defaultProperties,
135
+ defaultProperties = _schema$defaultProper === void 0 ? [] : _schema$defaultProper;
136
+ var propertiesToBeUsed = properties;
137
+ var propertyKeysToBeUsed = Array.isArray(fieldKeys) && fieldKeys.length > 0 ? fieldKeys : defaultProperties;
138
+ if (fieldKeys.length > 0 || defaultProperties.length > 0) {
139
+ propertiesToBeUsed = properties.filter(function (property) {
140
+ return propertyKeysToBeUsed.includes(property.key);
141
+ });
142
+ }
143
+
144
+ /*Jira adds identifier fields like id and key to all data responses
145
+ Since defaultProperties already send back the keyField, we are accounting only
146
+ for the idField when we are using defaulProperties
147
+ */
148
+ if (properties.length > fieldKeys.length + idFieldCount + keyFieldCount && properties.length > defaultProperties.length + idFieldCount) {
149
+ setFullSchema(schema);
127
150
  }
128
- var defaultProperties = properties.map(function (prop) {
151
+ if (!(0, _isEqual.default)(columns, propertiesToBeUsed)) {
152
+ setColumns(propertiesToBeUsed);
153
+ }
154
+ var newProperties = propertiesToBeUsed.map(function (prop) {
129
155
  return prop.key;
130
156
  });
131
157
 
132
158
  // when loading for the first time, we will need to set default visible props as /data does not give you that info
133
159
  // also, since we dont pass any fields, we will need to set this info as lastRequestedFieldKeys
134
- if (!(0, _isEqual.default)(defaultVisibleColumnKeys, defaultProperties)) {
135
- setDefaultVisibleColumnKeys(defaultProperties);
160
+ if (!(0, _isEqual.default)(defaultVisibleColumnKeys, newProperties)) {
161
+ setDefaultVisibleColumnKeys(newProperties);
136
162
  }
137
- if (!(0, _isEqual.default)(lastRequestedFieldKeys, defaultProperties)) {
138
- setLastRequestedFieldKeys(defaultProperties);
163
+ if (!(0, _isEqual.default)(lastRequestedFieldKeys, newProperties)) {
164
+ setLastRequestedFieldKeys(newProperties);
139
165
  }
140
166
  }, [columns, defaultVisibleColumnKeys, lastRequestedFieldKeys]);
141
167
  var onNextPage = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
@@ -145,6 +171,7 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
145
171
  shouldRequestFirstPage,
146
172
  _requestInfo$shouldFo,
147
173
  shouldForceRequest,
174
+ isFullSchemaLoaded,
148
175
  datasourceDataRequest,
149
176
  _yield$getDatasourceD2,
150
177
  _yield$getDatasourceD3,
@@ -171,18 +198,19 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
171
198
  return _context2.abrupt("return");
172
199
  case 3:
173
200
  _requestInfo$isSchema = requestInfo.isSchemaFromData, isSchemaFromData = _requestInfo$isSchema === void 0 ? true : _requestInfo$isSchema, shouldRequestFirstPage = requestInfo.shouldRequestFirstPage, _requestInfo$shouldFo = requestInfo.shouldForceRequest, shouldForceRequest = _requestInfo$shouldFo === void 0 ? false : _requestInfo$shouldFo;
201
+ isFullSchemaLoaded = fullSchema.properties.length > 0;
174
202
  datasourceDataRequest = {
175
203
  parameters: parameters,
176
204
  pageSize: _linkClientExtension.DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE,
177
205
  pageCursor: shouldRequestFirstPage ? undefined : nextCursor,
178
206
  fields: fieldKeys,
179
- includeSchema: isSchemaFromData
207
+ includeSchema: isFullSchemaLoaded ? false : isSchemaFromData
180
208
  };
181
209
  setStatus('loading');
182
- _context2.prev = 6;
183
- _context2.next = 9;
210
+ _context2.prev = 7;
211
+ _context2.next = 10;
184
212
  return getDatasourceData(datasourceId, datasourceDataRequest, shouldForceRequest);
185
- case 9:
213
+ case 10:
186
214
  _yield$getDatasourceD2 = _context2.sent;
187
215
  _yield$getDatasourceD3 = _yield$getDatasourceD2.meta;
188
216
  access = _yield$getDatasourceD3.access;
@@ -194,12 +222,12 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
194
222
  _totalCount = _yield$getDatasourceD4.totalCount;
195
223
  schema = _yield$getDatasourceD4.schema;
196
224
  if (!(access === 'forbidden' || access === 'unauthorized')) {
197
- _context2.next = 22;
225
+ _context2.next = 23;
198
226
  break;
199
227
  }
200
228
  setStatus('unauthorized');
201
229
  return _context2.abrupt("return");
202
- case 22:
230
+ case 23:
203
231
  setExtensionKey(_extensionKey);
204
232
  setDestinationObjectTypes(_destinationObjectTypes);
205
233
  setTotalCount(_totalCount);
@@ -214,8 +242,8 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
214
242
  if (fieldKeys.length > 0) {
215
243
  setLastRequestedFieldKeys(fieldKeys);
216
244
  }
217
- if (isSchemaFromData && schema && items.length > 0) {
218
- applySchemaProperties(schema.properties);
245
+ if ((isSchemaFromData && schema || fullSchema.properties.length > 0) && items.length > 0) {
246
+ applySchemaProperties(schema || fullSchema, fieldKeys);
219
247
  }
220
248
  isUserLoadingNextPage = (responseItems === null || responseItems === void 0 ? void 0 : responseItems.length) !== 0 && !shouldRequestFirstPage;
221
249
  if (isUserLoadingNextPage) {
@@ -228,25 +256,25 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
228
256
  });
229
257
  }
230
258
  setStatus('resolved');
231
- _context2.next = 41;
259
+ _context2.next = 42;
232
260
  break;
233
- case 35:
234
- _context2.prev = 35;
235
- _context2.t0 = _context2["catch"](6);
261
+ case 36:
262
+ _context2.prev = 36;
263
+ _context2.t0 = _context2["catch"](7);
236
264
  if (!(_context2.t0 instanceof Response && (_context2.t0.status === 401 || _context2.t0.status === 403))) {
237
- _context2.next = 40;
265
+ _context2.next = 41;
238
266
  break;
239
267
  }
240
268
  setStatus('unauthorized');
241
269
  return _context2.abrupt("return");
242
- case 40:
243
- setStatus('rejected');
244
270
  case 41:
271
+ setStatus('rejected');
272
+ case 42:
245
273
  case "end":
246
274
  return _context2.stop();
247
275
  }
248
- }, _callee2, null, [[6, 35]]);
249
- })), [parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems === null || responseItems === void 0 ? void 0 : responseItems.length, applySchemaProperties, fireEvent]);
276
+ }, _callee2, null, [[7, 36]]);
277
+ })), [parameters, fieldKeys, nextCursor, getDatasourceData, datasourceId, responseItems === null || responseItems === void 0 ? void 0 : responseItems.length, applySchemaProperties, fireEvent, fullSchema]);
250
278
  var reset = (0, _react.useCallback)(function (options) {
251
279
  setStatus('empty');
252
280
  setResponseItems([]);
@@ -254,6 +282,9 @@ var useDatasourceTableState = exports.useDatasourceTableState = function useData
254
282
  setNextCursor(undefined);
255
283
  setTotalCount(undefined);
256
284
  setLastRequestedFieldKeys([]);
285
+ setFullSchema({
286
+ properties: []
287
+ });
257
288
  setShouldForceRequest((options === null || options === void 0 ? void 0 : options.shouldForceRequest) || false);
258
289
  if (options !== null && options !== void 0 && options.shouldResetColumns) {
259
290
  setColumns([]);
@@ -9,6 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = require("react");
12
+ var _analytics = require("../analytics");
12
13
  var _cmdbService = require("../services/cmdbService");
13
14
  var useValidateAqlText = exports.useValidateAqlText = function useValidateAqlText(workspaceId) {
14
15
  var _useState = (0, _react.useState)(false),
@@ -23,6 +24,8 @@ var useValidateAqlText = exports.useValidateAqlText = function useValidateAqlTex
23
24
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
24
25
  error = _useState6[0],
25
26
  setError = _useState6[1];
27
+ var _useDatasourceAnalyti = (0, _analytics.useDatasourceAnalyticsEvents)(),
28
+ fireEvent = _useDatasourceAnalyti.fireEvent;
26
29
  var validateAqlText = (0, _react.useCallback)( /*#__PURE__*/function () {
27
30
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(aql) {
28
31
  var isValid, message, _validateAqlResponse$, validateAqlResponse;
@@ -37,7 +40,7 @@ var useValidateAqlText = exports.useValidateAqlText = function useValidateAqlTex
37
40
  _context.next = 7;
38
41
  return (0, _cmdbService.validateAql)(workspaceId, {
39
42
  qlQuery: aql
40
- });
43
+ }, fireEvent);
41
44
  case 7:
42
45
  validateAqlResponse = _context.sent;
43
46
  setIsValidAqlText(validateAqlResponse.isValid);
@@ -71,7 +74,7 @@ var useValidateAqlText = exports.useValidateAqlText = function useValidateAqlTex
71
74
  return function (_x) {
72
75
  return _ref.apply(this, arguments);
73
76
  };
74
- }(), [workspaceId]);
77
+ }(), [workspaceId, fireEvent]);
75
78
  return {
76
79
  isValidAqlText: isValidAqlText,
77
80
  validateAqlText: validateAqlText,
@@ -10,7 +10,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _linkingCommon = require("@atlaskit/linking-common");
11
11
  var _cmdbService = require("./cmdbService.utils");
12
12
  var getWorkspaceId = exports.getWorkspaceId = /*#__PURE__*/function () {
13
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
13
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(fireEvent) {
14
14
  var url, _workspaceDetailsResp, workspaceDetailsResponse, error;
15
15
  return _regenerator.default.wrap(function _callee$(_context) {
16
16
  while (1) switch (_context.prev = _context.next) {
@@ -27,32 +27,35 @@ var getWorkspaceId = exports.getWorkspaceId = /*#__PURE__*/function () {
27
27
  }
28
28
  throw new _cmdbService.PermissionError('No workspace results found');
29
29
  case 7:
30
+ fireEvent && fireEvent('operational.getWorkspaceId.success', {});
30
31
  return _context.abrupt("return", workspaceDetailsResponse.results[0].id);
31
- case 10:
32
- _context.prev = 10;
32
+ case 11:
33
+ _context.prev = 11;
33
34
  _context.t0 = _context["catch"](1);
34
35
  error = (0, _cmdbService.mapFetchErrors)(_context.t0);
35
36
  if (error instanceof _cmdbService.FetchError) {
36
- // TODO Fire error operational event for workspace here before remapping to PermissionError
37
- // Only 429 and 5xx errors will be treated as FetchErrors otherwise PermissionError
37
+ fireEvent && fireEvent('operational.getWorkspaceId.failed', {
38
+ statusCodeGroup: (0, _cmdbService.getStatusCodeGroup)(error)
39
+ });
40
+ // Only 429 and5xx errors will be treated as FetchErrors otherwise PermissionError
38
41
  if ((0, _cmdbService.getStatusCodeGroup)(error) !== '5xx' && error.statusCode !== 429) {
39
42
  error = new _cmdbService.PermissionError('Failed to fetch workspace');
40
43
  }
41
44
  }
42
45
  throw error;
43
- case 15:
46
+ case 16:
44
47
  case "end":
45
48
  return _context.stop();
46
49
  }
47
- }, _callee, null, [[1, 10]]);
50
+ }, _callee, null, [[1, 11]]);
48
51
  }));
49
- return function getWorkspaceId() {
52
+ return function getWorkspaceId(_x) {
50
53
  return _ref.apply(this, arguments);
51
54
  };
52
55
  }();
53
56
  var validateAql = exports.validateAql = /*#__PURE__*/function () {
54
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(workspaceId, data) {
55
- var url, error;
57
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(workspaceId, data, fireEvent) {
58
+ var url, response, error;
56
59
  return _regenerator.default.wrap(function _callee2$(_context2) {
57
60
  while (1) switch (_context2.prev = _context2.next) {
58
61
  case 0:
@@ -64,31 +67,35 @@ var validateAql = exports.validateAql = /*#__PURE__*/function () {
64
67
  context: 'SMART_LINKS'
65
68
  }, undefined, [200, 201, 202, 203, 204]);
66
69
  case 4:
67
- return _context2.abrupt("return", _context2.sent);
68
- case 7:
69
- _context2.prev = 7;
70
+ response = _context2.sent;
71
+ fireEvent && fireEvent('operational.validateAql.success', {});
72
+ return _context2.abrupt("return", response);
73
+ case 9:
74
+ _context2.prev = 9;
70
75
  _context2.t0 = _context2["catch"](1);
71
76
  error = (0, _cmdbService.mapFetchErrors)(_context2.t0);
72
77
  if (error instanceof _cmdbService.FetchError) {
73
- // TODO Fire error operational event for aql here before remapping to PermissionError
78
+ fireEvent && fireEvent('operational.validateAql.failed', {
79
+ statusCodeGroup: (0, _cmdbService.getStatusCodeGroup)(error)
80
+ });
74
81
  if (error.statusCode === 401 || error.statusCode === 403) {
75
82
  error = new _cmdbService.PermissionError('Failed to fetch object schemas');
76
83
  }
77
84
  }
78
85
  throw error;
79
- case 12:
86
+ case 14:
80
87
  case "end":
81
88
  return _context2.stop();
82
89
  }
83
- }, _callee2, null, [[1, 7]]);
90
+ }, _callee2, null, [[1, 9]]);
84
91
  }));
85
- return function validateAql(_x, _x2) {
92
+ return function validateAql(_x2, _x3, _x4) {
86
93
  return _ref2.apply(this, arguments);
87
94
  };
88
95
  }();
89
96
  var fetchObjectSchema = exports.fetchObjectSchema = /*#__PURE__*/function () {
90
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(workspaceId, schemaId) {
91
- var url, error;
97
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(workspaceId, schemaId, fireEvent) {
98
+ var url, response, error;
92
99
  return _regenerator.default.wrap(function _callee3$(_context3) {
93
100
  while (1) switch (_context3.prev = _context3.next) {
94
101
  case 0:
@@ -97,31 +104,35 @@ var fetchObjectSchema = exports.fetchObjectSchema = /*#__PURE__*/function () {
97
104
  _context3.next = 4;
98
105
  return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
99
106
  case 4:
100
- return _context3.abrupt("return", _context3.sent);
101
- case 7:
102
- _context3.prev = 7;
107
+ response = _context3.sent;
108
+ fireEvent && fireEvent('operational.objectSchema.success', {});
109
+ return _context3.abrupt("return", response);
110
+ case 9:
111
+ _context3.prev = 9;
103
112
  _context3.t0 = _context3["catch"](1);
104
113
  error = (0, _cmdbService.mapFetchErrors)(_context3.t0);
105
114
  if (error instanceof _cmdbService.FetchError) {
106
- // TODO Fire error operational event for object schema here before remapping to PermissionError
115
+ fireEvent && fireEvent('operational.objectSchema.failed', {
116
+ statusCodeGroup: (0, _cmdbService.getStatusCodeGroup)(error)
117
+ });
107
118
  if (error.statusCode === 401 || error.statusCode === 403) {
108
119
  error = new _cmdbService.PermissionError('Failed to fetch object schemas');
109
120
  }
110
121
  }
111
122
  throw error;
112
- case 12:
123
+ case 14:
113
124
  case "end":
114
125
  return _context3.stop();
115
126
  }
116
- }, _callee3, null, [[1, 7]]);
127
+ }, _callee3, null, [[1, 9]]);
117
128
  }));
118
- return function fetchObjectSchema(_x3, _x4) {
129
+ return function fetchObjectSchema(_x5, _x6, _x7) {
119
130
  return _ref3.apply(this, arguments);
120
131
  };
121
132
  }();
122
133
  var fetchObjectSchemas = exports.fetchObjectSchemas = /*#__PURE__*/function () {
123
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(workspaceId, query) {
124
- var queryParams, url, error;
134
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(workspaceId, query, fireEvent) {
135
+ var queryParams, url, response, error;
125
136
  return _regenerator.default.wrap(function _callee4$(_context4) {
126
137
  while (1) switch (_context4.prev = _context4.next) {
127
138
  case 0:
@@ -134,25 +145,29 @@ var fetchObjectSchemas = exports.fetchObjectSchemas = /*#__PURE__*/function () {
134
145
  _context4.next = 8;
135
146
  return (0, _linkingCommon.request)('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
136
147
  case 8:
137
- return _context4.abrupt("return", _context4.sent);
138
- case 11:
139
- _context4.prev = 11;
148
+ response = _context4.sent;
149
+ fireEvent && fireEvent('operational.objectSchemas.success', {});
150
+ return _context4.abrupt("return", response);
151
+ case 13:
152
+ _context4.prev = 13;
140
153
  _context4.t0 = _context4["catch"](5);
141
154
  error = (0, _cmdbService.mapFetchErrors)(_context4.t0);
142
155
  if (error instanceof _cmdbService.FetchError) {
143
- // TODO Fire error operational event for object schemas here before remapping to PermissionError
156
+ fireEvent && fireEvent('operational.objectSchemas.failed', {
157
+ statusCodeGroup: (0, _cmdbService.getStatusCodeGroup)(error)
158
+ });
144
159
  if (error.statusCode === 401 || error.statusCode === 403) {
145
160
  error = new _cmdbService.PermissionError('Failed to fetch object schemas');
146
161
  }
147
162
  }
148
163
  throw error;
149
- case 16:
164
+ case 18:
150
165
  case "end":
151
166
  return _context4.stop();
152
167
  }
153
- }, _callee4, null, [[5, 11]]);
168
+ }, _callee4, null, [[5, 13]]);
154
169
  }));
155
- return function fetchObjectSchemas(_x5, _x6) {
170
+ return function fetchObjectSchemas(_x8, _x9, _x10) {
156
171
  return _ref4.apply(this, arguments);
157
172
  };
158
173
  }();