@atlaskit/link-datasource 1.17.0 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
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
+
3
10
  ## 1.17.0
4
11
 
5
12
  ### Minor 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.17.0"
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,
@@ -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
  }();
@@ -1,5 +1,5 @@
1
1
  export const EVENT_CHANNEL = 'media';
2
2
  export const packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.17.0"
4
+ packageVersion: "1.17.1"
5
5
  };
@@ -1,4 +1,5 @@
1
1
  import { useEffect, useState } from 'react';
2
+ import { useDatasourceAnalyticsEvents } from '../analytics';
2
3
  import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId } from '../services/cmdbService';
3
4
  const handleAssetsClientErrors = (errorSetter, error) => {
4
5
  if (error instanceof Error) {
@@ -16,6 +17,9 @@ export const useAssetsClient = initialParameters => {
16
17
  const [objectSchemas, setObjectSchemas] = useState();
17
18
  const [totalObjectSchemas, setTotalObjectSchemas] = useState();
18
19
  const [objectSchemasError, setObjectSchemasError] = useState();
20
+ const {
21
+ fireEvent
22
+ } = useDatasourceAnalyticsEvents();
19
23
 
20
24
  /*
21
25
  * We wrap this in nested try/catch blocks because we want to handle
@@ -27,19 +31,19 @@ export const useAssetsClient = initialParameters => {
27
31
  setLoading(true);
28
32
  setWorkspaceError(undefined);
29
33
  try {
30
- const workspaceId = await getWorkspaceId();
34
+ const workspaceId = await getWorkspaceId(fireEvent);
31
35
  setWorkspaceId(workspaceId);
32
36
  // Check schema from initial parameters still exists and fetch name/permissions for schema select
33
37
  if (initialParameters !== null && initialParameters !== void 0 && initialParameters.schemaId) {
34
38
  try {
35
- const fetchedObjectSchema = await fetchObjectSchema(workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
39
+ const fetchedObjectSchema = await fetchObjectSchema(workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId, fireEvent);
36
40
  setExistingObjectSchema(fetchedObjectSchema);
37
41
  } catch (fetchObjectSchemaError) {
38
42
  handleAssetsClientErrors(setExistingObjectSchemaError, fetchObjectSchemaError);
39
43
  }
40
44
  }
41
45
  try {
42
- const fetchedObjectSchemasResponse = await fetchObjectSchemas(workspaceId);
46
+ const fetchedObjectSchemasResponse = await fetchObjectSchemas(workspaceId, undefined, fireEvent);
43
47
  setObjectSchemas(fetchedObjectSchemasResponse.values);
44
48
  setTotalObjectSchemas(fetchedObjectSchemasResponse.total);
45
49
  } catch (fetchObjectSchemasError) {
@@ -51,7 +55,7 @@ export const useAssetsClient = initialParameters => {
51
55
  setLoading(false);
52
56
  }
53
57
  })();
54
- }, [initialParameters]);
58
+ }, [initialParameters, fireEvent]);
55
59
  return {
56
60
  workspaceId,
57
61
  workspaceError,
@@ -1,9 +1,13 @@
1
1
  import { useCallback, useState } from 'react';
2
+ import { useDatasourceAnalyticsEvents } from '../analytics';
2
3
  import { validateAql } from '../services/cmdbService';
3
4
  export const useValidateAqlText = workspaceId => {
4
5
  const [loading, setLoading] = useState(false);
5
6
  const [isValidAqlText, setIsValidAqlText] = useState(false);
6
7
  const [error, setError] = useState();
8
+ const {
9
+ fireEvent
10
+ } = useDatasourceAnalyticsEvents();
7
11
  const validateAqlText = useCallback(async aql => {
8
12
  setLoading(true);
9
13
  setError(undefined);
@@ -13,7 +17,7 @@ export const useValidateAqlText = workspaceId => {
13
17
  var _validateAqlResponse$;
14
18
  const validateAqlResponse = await validateAql(workspaceId, {
15
19
  qlQuery: aql
16
- });
20
+ }, fireEvent);
17
21
  setIsValidAqlText(validateAqlResponse.isValid);
18
22
  isValid = validateAqlResponse.isValid;
19
23
  message = ((_validateAqlResponse$ = validateAqlResponse.errors) === null || _validateAqlResponse$ === void 0 ? void 0 : _validateAqlResponse$.iql) || null;
@@ -30,7 +34,7 @@ export const useValidateAqlText = workspaceId => {
30
34
  isValid,
31
35
  message
32
36
  };
33
- }, [workspaceId]);
37
+ }, [workspaceId, fireEvent]);
34
38
  return {
35
39
  isValidAqlText,
36
40
  validateAqlText,
@@ -1,6 +1,6 @@
1
1
  import { request } from '@atlaskit/linking-common';
2
2
  import { FetchError, getStatusCodeGroup, mapFetchErrors, PermissionError } from './cmdbService.utils';
3
- export const getWorkspaceId = async () => {
3
+ export const getWorkspaceId = async fireEvent => {
4
4
  const url = '/rest/servicedesk/cmdb/latest/workspace';
5
5
  try {
6
6
  var _workspaceDetailsResp;
@@ -8,12 +8,15 @@ export const getWorkspaceId = async () => {
8
8
  if (!((_workspaceDetailsResp = workspaceDetailsResponse.results) !== null && _workspaceDetailsResp !== void 0 && _workspaceDetailsResp.length)) {
9
9
  throw new PermissionError('No workspace results found');
10
10
  }
11
+ fireEvent && fireEvent('operational.getWorkspaceId.success', {});
11
12
  return workspaceDetailsResponse.results[0].id;
12
13
  } catch (err) {
13
14
  let error = mapFetchErrors(err);
14
15
  if (error instanceof FetchError) {
15
- // TODO Fire error operational event for workspace here before remapping to PermissionError
16
- // Only 429 and 5xx errors will be treated as FetchErrors otherwise PermissionError
16
+ fireEvent && fireEvent('operational.getWorkspaceId.failed', {
17
+ statusCodeGroup: getStatusCodeGroup(error)
18
+ });
19
+ // Only 429 and5xx errors will be treated as FetchErrors otherwise PermissionError
17
20
  if (getStatusCodeGroup(error) !== '5xx' && error.statusCode !== 429) {
18
21
  error = new PermissionError('Failed to fetch workspace');
19
22
  }
@@ -21,17 +24,21 @@ export const getWorkspaceId = async () => {
21
24
  throw error;
22
25
  }
23
26
  };
24
- export const validateAql = async (workspaceId, data) => {
27
+ export const validateAql = async (workspaceId, data, fireEvent) => {
25
28
  const url = `/gateway/api/jsm/assets/workspace/${workspaceId}/v1/aql/validate`;
26
29
  try {
27
- return await request('post', url, {
30
+ const response = await request('post', url, {
28
31
  qlQuery: data.qlQuery,
29
32
  context: 'SMART_LINKS'
30
33
  }, undefined, [200, 201, 202, 203, 204]);
34
+ fireEvent && fireEvent('operational.validateAql.success', {});
35
+ return response;
31
36
  } catch (err) {
32
37
  let error = mapFetchErrors(err);
33
38
  if (error instanceof FetchError) {
34
- // TODO Fire error operational event for aql here before remapping to PermissionError
39
+ fireEvent && fireEvent('operational.validateAql.failed', {
40
+ statusCodeGroup: getStatusCodeGroup(error)
41
+ });
35
42
  if (error.statusCode === 401 || error.statusCode === 403) {
36
43
  error = new PermissionError('Failed to fetch object schemas');
37
44
  }
@@ -39,14 +46,18 @@ export const validateAql = async (workspaceId, data) => {
39
46
  throw error;
40
47
  }
41
48
  };
42
- export const fetchObjectSchema = async (workspaceId, schemaId) => {
49
+ export const fetchObjectSchema = async (workspaceId, schemaId, fireEvent) => {
43
50
  const url = `/gateway/api/jsm/assets/workspace/${workspaceId}/v1/objectschema/${schemaId}`;
44
51
  try {
45
- return await request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
52
+ const response = await request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
53
+ fireEvent && fireEvent('operational.objectSchema.success', {});
54
+ return response;
46
55
  } catch (err) {
47
56
  let error = mapFetchErrors(err);
48
57
  if (error instanceof FetchError) {
49
- // TODO Fire error operational event for object schema here before remapping to PermissionError
58
+ fireEvent && fireEvent('operational.objectSchema.failed', {
59
+ statusCodeGroup: getStatusCodeGroup(error)
60
+ });
50
61
  if (error.statusCode === 401 || error.statusCode === 403) {
51
62
  error = new PermissionError('Failed to fetch object schemas');
52
63
  }
@@ -54,18 +65,22 @@ export const fetchObjectSchema = async (workspaceId, schemaId) => {
54
65
  throw error;
55
66
  }
56
67
  };
57
- export const fetchObjectSchemas = async (workspaceId, query) => {
68
+ export const fetchObjectSchemas = async (workspaceId, query, fireEvent) => {
58
69
  const queryParams = new URLSearchParams();
59
70
  queryParams.set('maxResults', '20');
60
71
  queryParams.set('includeCounts', 'false');
61
72
  query && queryParams.set('query', query);
62
73
  const url = `/gateway/api/jsm/assets/workspace/${workspaceId}/v1/objectschema/list?${queryParams}`;
63
74
  try {
64
- return await request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
75
+ const response = await request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
76
+ fireEvent && fireEvent('operational.objectSchemas.success', {});
77
+ return response;
65
78
  } catch (err) {
66
79
  let error = mapFetchErrors(err);
67
80
  if (error instanceof FetchError) {
68
- // TODO Fire error operational event for object schemas here before remapping to PermissionError
81
+ fireEvent && fireEvent('operational.objectSchemas.failed', {
82
+ statusCodeGroup: getStatusCodeGroup(error)
83
+ });
69
84
  if (error.statusCode === 401 || error.statusCode === 403) {
70
85
  error = new PermissionError('Failed to fetch object schemas');
71
86
  }
@@ -1,5 +1,5 @@
1
1
  export var EVENT_CHANNEL = 'media';
2
2
  export var packageMetaData = {
3
3
  packageName: "@atlaskit/link-datasource",
4
- packageVersion: "1.17.0"
4
+ packageVersion: "1.17.1"
5
5
  };
@@ -2,6 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { useEffect, useState } from 'react';
5
+ import { useDatasourceAnalyticsEvents } from '../analytics';
5
6
  import { fetchObjectSchema, fetchObjectSchemas, getWorkspaceId } from '../services/cmdbService';
6
7
  var handleAssetsClientErrors = function handleAssetsClientErrors(errorSetter, error) {
7
8
  if (error instanceof Error) {
@@ -43,6 +44,8 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
43
44
  _useState16 = _slicedToArray(_useState15, 2),
44
45
  objectSchemasError = _useState16[0],
45
46
  setObjectSchemasError = _useState16[1];
47
+ var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
48
+ fireEvent = _useDatasourceAnalyti.fireEvent;
46
49
 
47
50
  /*
48
51
  * We wrap this in nested try/catch blocks because we want to handle
@@ -59,7 +62,7 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
59
62
  setWorkspaceError(undefined);
60
63
  _context.prev = 2;
61
64
  _context.next = 5;
62
- return getWorkspaceId();
65
+ return getWorkspaceId(fireEvent);
63
66
  case 5:
64
67
  _workspaceId = _context.sent;
65
68
  setWorkspaceId(_workspaceId);
@@ -70,7 +73,7 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
70
73
  }
71
74
  _context.prev = 8;
72
75
  _context.next = 11;
73
- return fetchObjectSchema(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId);
76
+ return fetchObjectSchema(_workspaceId, initialParameters === null || initialParameters === void 0 ? void 0 : initialParameters.schemaId, fireEvent);
74
77
  case 11:
75
78
  fetchedObjectSchema = _context.sent;
76
79
  setExistingObjectSchema(fetchedObjectSchema);
@@ -83,7 +86,7 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
83
86
  case 18:
84
87
  _context.prev = 18;
85
88
  _context.next = 21;
86
- return fetchObjectSchemas(_workspaceId);
89
+ return fetchObjectSchemas(_workspaceId, undefined, fireEvent);
87
90
  case 21:
88
91
  fetchedObjectSchemasResponse = _context.sent;
89
92
  setObjectSchemas(fetchedObjectSchemasResponse.values);
@@ -111,7 +114,7 @@ export var useAssetsClient = function useAssetsClient(initialParameters) {
111
114
  }
112
115
  }, _callee, null, [[2, 31, 34, 37], [8, 15], [18, 26]]);
113
116
  }))();
114
- }, [initialParameters]);
117
+ }, [initialParameters, fireEvent]);
115
118
  return {
116
119
  workspaceId: workspaceId,
117
120
  workspaceError: workspaceError,
@@ -2,6 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { useCallback, useState } from 'react';
5
+ import { useDatasourceAnalyticsEvents } from '../analytics';
5
6
  import { validateAql } from '../services/cmdbService';
6
7
  export var useValidateAqlText = function useValidateAqlText(workspaceId) {
7
8
  var _useState = useState(false),
@@ -16,6 +17,8 @@ export var useValidateAqlText = function useValidateAqlText(workspaceId) {
16
17
  _useState6 = _slicedToArray(_useState5, 2),
17
18
  error = _useState6[0],
18
19
  setError = _useState6[1];
20
+ var _useDatasourceAnalyti = useDatasourceAnalyticsEvents(),
21
+ fireEvent = _useDatasourceAnalyti.fireEvent;
19
22
  var validateAqlText = useCallback( /*#__PURE__*/function () {
20
23
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(aql) {
21
24
  var isValid, message, _validateAqlResponse$, validateAqlResponse;
@@ -30,7 +33,7 @@ export var useValidateAqlText = function useValidateAqlText(workspaceId) {
30
33
  _context.next = 7;
31
34
  return validateAql(workspaceId, {
32
35
  qlQuery: aql
33
- });
36
+ }, fireEvent);
34
37
  case 7:
35
38
  validateAqlResponse = _context.sent;
36
39
  setIsValidAqlText(validateAqlResponse.isValid);
@@ -64,7 +67,7 @@ export var useValidateAqlText = function useValidateAqlText(workspaceId) {
64
67
  return function (_x) {
65
68
  return _ref.apply(this, arguments);
66
69
  };
67
- }(), [workspaceId]);
70
+ }(), [workspaceId, fireEvent]);
68
71
  return {
69
72
  isValidAqlText: isValidAqlText,
70
73
  validateAqlText: validateAqlText,
@@ -3,7 +3,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
3
  import { request } from '@atlaskit/linking-common';
4
4
  import { FetchError, getStatusCodeGroup, mapFetchErrors, PermissionError } from './cmdbService.utils';
5
5
  export var getWorkspaceId = /*#__PURE__*/function () {
6
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
6
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fireEvent) {
7
7
  var url, _workspaceDetailsResp, workspaceDetailsResponse, error;
8
8
  return _regeneratorRuntime.wrap(function _callee$(_context) {
9
9
  while (1) switch (_context.prev = _context.next) {
@@ -20,32 +20,35 @@ export var getWorkspaceId = /*#__PURE__*/function () {
20
20
  }
21
21
  throw new PermissionError('No workspace results found');
22
22
  case 7:
23
+ fireEvent && fireEvent('operational.getWorkspaceId.success', {});
23
24
  return _context.abrupt("return", workspaceDetailsResponse.results[0].id);
24
- case 10:
25
- _context.prev = 10;
25
+ case 11:
26
+ _context.prev = 11;
26
27
  _context.t0 = _context["catch"](1);
27
28
  error = mapFetchErrors(_context.t0);
28
29
  if (error instanceof FetchError) {
29
- // TODO Fire error operational event for workspace here before remapping to PermissionError
30
- // Only 429 and 5xx errors will be treated as FetchErrors otherwise PermissionError
30
+ fireEvent && fireEvent('operational.getWorkspaceId.failed', {
31
+ statusCodeGroup: getStatusCodeGroup(error)
32
+ });
33
+ // Only 429 and5xx errors will be treated as FetchErrors otherwise PermissionError
31
34
  if (getStatusCodeGroup(error) !== '5xx' && error.statusCode !== 429) {
32
35
  error = new PermissionError('Failed to fetch workspace');
33
36
  }
34
37
  }
35
38
  throw error;
36
- case 15:
39
+ case 16:
37
40
  case "end":
38
41
  return _context.stop();
39
42
  }
40
- }, _callee, null, [[1, 10]]);
43
+ }, _callee, null, [[1, 11]]);
41
44
  }));
42
- return function getWorkspaceId() {
45
+ return function getWorkspaceId(_x) {
43
46
  return _ref.apply(this, arguments);
44
47
  };
45
48
  }();
46
49
  export var validateAql = /*#__PURE__*/function () {
47
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(workspaceId, data) {
48
- var url, error;
50
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(workspaceId, data, fireEvent) {
51
+ var url, response, error;
49
52
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
50
53
  while (1) switch (_context2.prev = _context2.next) {
51
54
  case 0:
@@ -57,31 +60,35 @@ export var validateAql = /*#__PURE__*/function () {
57
60
  context: 'SMART_LINKS'
58
61
  }, undefined, [200, 201, 202, 203, 204]);
59
62
  case 4:
60
- return _context2.abrupt("return", _context2.sent);
61
- case 7:
62
- _context2.prev = 7;
63
+ response = _context2.sent;
64
+ fireEvent && fireEvent('operational.validateAql.success', {});
65
+ return _context2.abrupt("return", response);
66
+ case 9:
67
+ _context2.prev = 9;
63
68
  _context2.t0 = _context2["catch"](1);
64
69
  error = mapFetchErrors(_context2.t0);
65
70
  if (error instanceof FetchError) {
66
- // TODO Fire error operational event for aql here before remapping to PermissionError
71
+ fireEvent && fireEvent('operational.validateAql.failed', {
72
+ statusCodeGroup: getStatusCodeGroup(error)
73
+ });
67
74
  if (error.statusCode === 401 || error.statusCode === 403) {
68
75
  error = new PermissionError('Failed to fetch object schemas');
69
76
  }
70
77
  }
71
78
  throw error;
72
- case 12:
79
+ case 14:
73
80
  case "end":
74
81
  return _context2.stop();
75
82
  }
76
- }, _callee2, null, [[1, 7]]);
83
+ }, _callee2, null, [[1, 9]]);
77
84
  }));
78
- return function validateAql(_x, _x2) {
85
+ return function validateAql(_x2, _x3, _x4) {
79
86
  return _ref2.apply(this, arguments);
80
87
  };
81
88
  }();
82
89
  export var fetchObjectSchema = /*#__PURE__*/function () {
83
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(workspaceId, schemaId) {
84
- var url, error;
90
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(workspaceId, schemaId, fireEvent) {
91
+ var url, response, error;
85
92
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
86
93
  while (1) switch (_context3.prev = _context3.next) {
87
94
  case 0:
@@ -90,31 +97,35 @@ export var fetchObjectSchema = /*#__PURE__*/function () {
90
97
  _context3.next = 4;
91
98
  return request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
92
99
  case 4:
93
- return _context3.abrupt("return", _context3.sent);
94
- case 7:
95
- _context3.prev = 7;
100
+ response = _context3.sent;
101
+ fireEvent && fireEvent('operational.objectSchema.success', {});
102
+ return _context3.abrupt("return", response);
103
+ case 9:
104
+ _context3.prev = 9;
96
105
  _context3.t0 = _context3["catch"](1);
97
106
  error = mapFetchErrors(_context3.t0);
98
107
  if (error instanceof FetchError) {
99
- // TODO Fire error operational event for object schema here before remapping to PermissionError
108
+ fireEvent && fireEvent('operational.objectSchema.failed', {
109
+ statusCodeGroup: getStatusCodeGroup(error)
110
+ });
100
111
  if (error.statusCode === 401 || error.statusCode === 403) {
101
112
  error = new PermissionError('Failed to fetch object schemas');
102
113
  }
103
114
  }
104
115
  throw error;
105
- case 12:
116
+ case 14:
106
117
  case "end":
107
118
  return _context3.stop();
108
119
  }
109
- }, _callee3, null, [[1, 7]]);
120
+ }, _callee3, null, [[1, 9]]);
110
121
  }));
111
- return function fetchObjectSchema(_x3, _x4) {
122
+ return function fetchObjectSchema(_x5, _x6, _x7) {
112
123
  return _ref3.apply(this, arguments);
113
124
  };
114
125
  }();
115
126
  export var fetchObjectSchemas = /*#__PURE__*/function () {
116
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(workspaceId, query) {
117
- var queryParams, url, error;
127
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(workspaceId, query, fireEvent) {
128
+ var queryParams, url, response, error;
118
129
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
119
130
  while (1) switch (_context4.prev = _context4.next) {
120
131
  case 0:
@@ -127,25 +138,29 @@ export var fetchObjectSchemas = /*#__PURE__*/function () {
127
138
  _context4.next = 8;
128
139
  return request('get', url, undefined, undefined, [200, 201, 202, 203, 204]);
129
140
  case 8:
130
- return _context4.abrupt("return", _context4.sent);
131
- case 11:
132
- _context4.prev = 11;
141
+ response = _context4.sent;
142
+ fireEvent && fireEvent('operational.objectSchemas.success', {});
143
+ return _context4.abrupt("return", response);
144
+ case 13:
145
+ _context4.prev = 13;
133
146
  _context4.t0 = _context4["catch"](5);
134
147
  error = mapFetchErrors(_context4.t0);
135
148
  if (error instanceof FetchError) {
136
- // TODO Fire error operational event for object schemas here before remapping to PermissionError
149
+ fireEvent && fireEvent('operational.objectSchemas.failed', {
150
+ statusCodeGroup: getStatusCodeGroup(error)
151
+ });
137
152
  if (error.statusCode === 401 || error.statusCode === 403) {
138
153
  error = new PermissionError('Failed to fetch object schemas');
139
154
  }
140
155
  }
141
156
  throw error;
142
- case 16:
157
+ case 18:
143
158
  case "end":
144
159
  return _context4.stop();
145
160
  }
146
- }, _callee4, null, [[5, 11]]);
161
+ }, _callee4, null, [[5, 13]]);
147
162
  }));
148
- return function fetchObjectSchemas(_x5, _x6) {
163
+ return function fetchObjectSchemas(_x8, _x9, _x10) {
149
164
  return _ref4.apply(this, arguments);
150
165
  };
151
166
  }();
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::ddaee20abebe8b4891d75f243120dce8>>
6
+ * @codegen <<SignedSource::d3722446f615a812f3e336474f9d8d3c>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -90,6 +90,22 @@ export type ErrorShownBasicSearchDropdownAttributesType = {
90
90
  reason: 'agg' | 'network' | 'unknown';
91
91
  };
92
92
  export type AqlEditorSearchedAttributesType = {};
93
+ export type GetWorkspaceIdSuccessAttributesType = {};
94
+ export type GetWorkspaceIdFailedAttributesType = {
95
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
96
+ };
97
+ export type ValidateAqlSuccessAttributesType = {};
98
+ export type ValidateAqlFailedAttributesType = {
99
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
100
+ };
101
+ export type ObjectSchemaSuccessAttributesType = {};
102
+ export type ObjectSchemaFailedAttributesType = {
103
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
104
+ };
105
+ export type ObjectSchemasSuccessAttributesType = {};
106
+ export type ObjectSchemasFailedAttributesType = {
107
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
108
+ };
93
109
  export type AnalyticsEventAttributes = {
94
110
  /**
95
111
  * Fires when user sees modal dialog. */
@@ -148,5 +164,29 @@ export type AnalyticsEventAttributes = {
148
164
  /**
149
165
  * Fired when search is initiated via the search icon or enter key press for aql editor input field. */
150
166
  'ui.aqlEditor.searched': AqlEditorSearchedAttributesType;
167
+ /**
168
+ * Fired when fetching a workspace Id is successful. */
169
+ 'operational.getWorkspaceId.success': GetWorkspaceIdSuccessAttributesType;
170
+ /**
171
+ * Fired when fetching a workspace Id fails. */
172
+ 'operational.getWorkspaceId.failed': GetWorkspaceIdFailedAttributesType;
173
+ /**
174
+ * Fired when making a request to validateAQL is successful. */
175
+ 'operational.validateAql.success': ValidateAqlSuccessAttributesType;
176
+ /**
177
+ * Fired when making a request to validateAQL fails. */
178
+ 'operational.validateAql.failed': ValidateAqlFailedAttributesType;
179
+ /**
180
+ * Fired when fetching an object schema is successful. */
181
+ 'operational.objectSchema.success': ObjectSchemaSuccessAttributesType;
182
+ /**
183
+ * Fired when fetching an object schema fails. */
184
+ 'operational.objectSchema.failed': ObjectSchemaFailedAttributesType;
185
+ /**
186
+ * Fired when fetching object schemas is successful. */
187
+ 'operational.objectSchemas.success': ObjectSchemasSuccessAttributesType;
188
+ /**
189
+ * Fired when fetching object schemas fails. */
190
+ 'operational.objectSchemas.failed': ObjectSchemasFailedAttributesType;
151
191
  };
152
192
  export type EventKey = keyof AnalyticsEventAttributes;
@@ -1,7 +1,11 @@
1
+ import { EventKey } from '../analytics/generated/analytics.types';
2
+ import createEventPayload from '../analytics/generated/create-event-payload';
1
3
  import { AqlValidateResponse, FetchObjectSchemasResponse } from '../types/assets/types';
2
- export declare const getWorkspaceId: () => Promise<string>;
4
+ type AnalyticsFireEvent = <K extends EventKey>(...params: Parameters<typeof createEventPayload<K>>) => void;
5
+ export declare const getWorkspaceId: (fireEvent?: AnalyticsFireEvent) => Promise<string>;
3
6
  export declare const validateAql: (workspaceId: string, data: {
4
7
  qlQuery: string;
5
- }) => Promise<AqlValidateResponse>;
6
- export declare const fetchObjectSchema: (workspaceId: string, schemaId: string) => Promise<import("../types/assets/types").ObjectSchema>;
7
- export declare const fetchObjectSchemas: (workspaceId: string, query?: string) => Promise<FetchObjectSchemasResponse>;
8
+ }, fireEvent?: AnalyticsFireEvent) => Promise<AqlValidateResponse>;
9
+ export declare const fetchObjectSchema: (workspaceId: string, schemaId: string, fireEvent?: AnalyticsFireEvent) => Promise<import("../types/assets/types").ObjectSchema>;
10
+ export declare const fetchObjectSchemas: (workspaceId: string, query?: string, fireEvent?: AnalyticsFireEvent) => Promise<FetchObjectSchemasResponse>;
11
+ export {};
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Generates Typescript types for analytics events from analytics.spec.yaml
5
5
  *
6
- * @codegen <<SignedSource::ddaee20abebe8b4891d75f243120dce8>>
6
+ * @codegen <<SignedSource::d3722446f615a812f3e336474f9d8d3c>>
7
7
  * @codegenCommand yarn workspace @atlassian/analytics-tooling run analytics:codegen link-datasource
8
8
  */
9
9
  export type PackageMetaDataType = {
@@ -90,6 +90,22 @@ export type ErrorShownBasicSearchDropdownAttributesType = {
90
90
  reason: 'agg' | 'network' | 'unknown';
91
91
  };
92
92
  export type AqlEditorSearchedAttributesType = {};
93
+ export type GetWorkspaceIdSuccessAttributesType = {};
94
+ export type GetWorkspaceIdFailedAttributesType = {
95
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
96
+ };
97
+ export type ValidateAqlSuccessAttributesType = {};
98
+ export type ValidateAqlFailedAttributesType = {
99
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
100
+ };
101
+ export type ObjectSchemaSuccessAttributesType = {};
102
+ export type ObjectSchemaFailedAttributesType = {
103
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
104
+ };
105
+ export type ObjectSchemasSuccessAttributesType = {};
106
+ export type ObjectSchemasFailedAttributesType = {
107
+ statusCodeGroup: '1xx' | '3xx' | '4xx' | '5xx' | 'unknown';
108
+ };
93
109
  export type AnalyticsEventAttributes = {
94
110
  /**
95
111
  * Fires when user sees modal dialog. */
@@ -148,5 +164,29 @@ export type AnalyticsEventAttributes = {
148
164
  /**
149
165
  * Fired when search is initiated via the search icon or enter key press for aql editor input field. */
150
166
  'ui.aqlEditor.searched': AqlEditorSearchedAttributesType;
167
+ /**
168
+ * Fired when fetching a workspace Id is successful. */
169
+ 'operational.getWorkspaceId.success': GetWorkspaceIdSuccessAttributesType;
170
+ /**
171
+ * Fired when fetching a workspace Id fails. */
172
+ 'operational.getWorkspaceId.failed': GetWorkspaceIdFailedAttributesType;
173
+ /**
174
+ * Fired when making a request to validateAQL is successful. */
175
+ 'operational.validateAql.success': ValidateAqlSuccessAttributesType;
176
+ /**
177
+ * Fired when making a request to validateAQL fails. */
178
+ 'operational.validateAql.failed': ValidateAqlFailedAttributesType;
179
+ /**
180
+ * Fired when fetching an object schema is successful. */
181
+ 'operational.objectSchema.success': ObjectSchemaSuccessAttributesType;
182
+ /**
183
+ * Fired when fetching an object schema fails. */
184
+ 'operational.objectSchema.failed': ObjectSchemaFailedAttributesType;
185
+ /**
186
+ * Fired when fetching object schemas is successful. */
187
+ 'operational.objectSchemas.success': ObjectSchemasSuccessAttributesType;
188
+ /**
189
+ * Fired when fetching object schemas fails. */
190
+ 'operational.objectSchemas.failed': ObjectSchemasFailedAttributesType;
151
191
  };
152
192
  export type EventKey = keyof AnalyticsEventAttributes;
@@ -1,7 +1,11 @@
1
+ import { EventKey } from '../analytics/generated/analytics.types';
2
+ import createEventPayload from '../analytics/generated/create-event-payload';
1
3
  import { AqlValidateResponse, FetchObjectSchemasResponse } from '../types/assets/types';
2
- export declare const getWorkspaceId: () => Promise<string>;
4
+ type AnalyticsFireEvent = <K extends EventKey>(...params: Parameters<typeof createEventPayload<K>>) => void;
5
+ export declare const getWorkspaceId: (fireEvent?: AnalyticsFireEvent) => Promise<string>;
3
6
  export declare const validateAql: (workspaceId: string, data: {
4
7
  qlQuery: string;
5
- }) => Promise<AqlValidateResponse>;
6
- export declare const fetchObjectSchema: (workspaceId: string, schemaId: string) => Promise<import("../types/assets/types").ObjectSchema>;
7
- export declare const fetchObjectSchemas: (workspaceId: string, query?: string) => Promise<FetchObjectSchemasResponse>;
8
+ }, fireEvent?: AnalyticsFireEvent) => Promise<AqlValidateResponse>;
9
+ export declare const fetchObjectSchema: (workspaceId: string, schemaId: string, fireEvent?: AnalyticsFireEvent) => Promise<import("../types/assets/types").ObjectSchema>;
10
+ export declare const fetchObjectSchemas: (workspaceId: string, query?: string, fireEvent?: AnalyticsFireEvent) => Promise<FetchObjectSchemasResponse>;
11
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-datasource",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "description": "UI Components to support linking platform dataset feature",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -59,11 +59,11 @@
59
59
  "@atlaskit/select": "^16.7.0",
60
60
  "@atlaskit/smart-card": "^26.42.0",
61
61
  "@atlaskit/spinner": "^15.6.0",
62
- "@atlaskit/tag": "^11.6.0",
62
+ "@atlaskit/tag": "^12.0.0",
63
63
  "@atlaskit/textfield": "5.6.8",
64
64
  "@atlaskit/theme": "^12.6.0",
65
65
  "@atlaskit/tokens": "^1.28.0",
66
- "@atlaskit/tooltip": "^17.8.0",
66
+ "@atlaskit/tooltip": "^18.0.0",
67
67
  "@atlaskit/ufo": "^0.2.4",
68
68
  "@atlassianlabs/jql-editor": "^2.0.1",
69
69
  "@babel/runtime": "^7.0.0",